[00:00] sechrist: So, first startup to rip my spotify collection's mp3 files, replace them automagically with higher quality versions of what it can, and keep it synchronized amongst google music, amazon, and apple's thing will make me really happy [00:00] vidi: c79b5c3cffe5c7e210c2676d177a18e8d4f80115 [00:00] sechrist: or "unaffiliated project", rather. not startup. [00:00] vidi: oops [00:00] DrMcKay: mind if I copy a bit of our IRC log as a README? I don't feel creative [00:00] Nuck: LOL [00:01] CoverSlide: go ahead [00:01] insin: ACTION hopes it consists entirely of this "DrMcKay: I wouldn't care if you called it PNIS protocol, as long as it was awesome." [00:01] insin: then "introducing PNIS" [00:01] Nuck: LOL [00:01] tylerstalder has joined the channel [00:01] DrMcKay: insin: I will include that :D [00:01] Nuck: That needs to be a protocol. [00:01] Nuck: Next year's standards prank? [00:01] CoverSlide: what could PNIS stand for? [00:01] Nuck: Right up there with the HTTP Error: I'm a Teapot [00:02] hakunin has joined the channel [00:02] bronson has joined the channel [00:02] othiym23 has left the channel [00:03] bassui: does anyone know if jade has an equivalent of != partial('view','arr') when using jade.renderFile? I want to use 'partial' instead of 'include'. [00:04] tjholowaychuk: bassui you'd have to write your own, partial() is express [00:04] CoverSlide: bassui: http://tjholowaychuk.com/post/7590787973/jade-mixins-includes [00:05] tjholowaychuk: but yeah mixins are kinda more or less the same as partials, with the exception that they are inlined in your compile function [00:05] tjholowaychuk: so if you have hundreds, your function will be very large [00:05] insin: does jade do inheritance, or are there plans to do so? [00:06] tjholowaychuk: not right now nope [00:06] Nuck: LOL [00:06] insin: stupid Django, can't get me enough of that inheritance :/ [00:06] Nuck: Somebody fork CIA-bot? [00:06] sechrist: cia-bot ftw [00:06] tjholowaychuk: i like some of the inheritance ideas from django's stuff [00:06] tjholowaychuk: but [00:06] tjholowaychuk: it's really ugly [00:07] othiym23 has joined the channel [00:07] tjholowaychuk: if we can get around that [00:07] tjholowaychuk: im for it [00:07] DrMcKay: Nuck: by "fork", did you mean: rewrite in node.js :D ? [00:07] chrisdickinson: tjholowaychuk: yeah, the code to get inheritance working is a bit barfy. [00:07] tjholowaychuk: i dont mean the code to get it working [00:07] sechrist: tjholowaychuk: does express have anything similar to a decorator? other than helper functions? or is that meant to do the same thing? [00:07] tjholowaychuk: just the template [00:07] Nuck: DrMcKay: That works too :P [00:08] Nuck: Just call on the github APIs for their issues, then use an IRC protocol module [00:08] sechrist: I guess I was looking through the docs for some syntax sugar like @blahblah but eh [00:08] Nuck: I'm sure it's actually rather easy lol [00:08] tjholowaychuk: the "sub"-template ends up looking really sparse with a shit ton of { block }{ endblock } things [00:08] chrisdickinson: tjholowaychuk: ah. yeah. you kind of get used to looking at that, though. [00:08] tjholowaychuk: which is mostly just gross because of the syntax [00:08] insin: yeah, child templates have to be entirely blocks [00:09] chrisdickinson: insin: well, you can put things outside of the blocks, but it'll get ignored. [00:09] insin: I implemented it in my own lib recently, was an interesting exercise [00:09] DrMcKay: there you go: https://github.com/mmalecki/remp [00:09] DrMcKay: and thanks for a follow, CoverSlide :) [00:10] CoverSlide: np [00:11] CoverSlide: ok bai bai peeps, goin home [00:11] DrMcKay: wut? I can't follow people? [00:12] DrMcKay: CoverSlide: bye [00:12] CIA-65: node: 03Ryan Dahl 07master * r05e6f31 10/ (129 files in 14 dirs): Upgrade V8 to 3.5.6 - http://bit.ly/p7ZXM7 [00:12] DrMcKay: ok, so is there some specific way I should write specification? [00:13] DrMcKay: (except for filling it with penises, of course) [00:14] JJMalina has joined the channel [00:14] DrMcKay has left the channel [00:14] DrMcKay has joined the channel [00:14] softdrink has joined the channel [00:15] seivan has joined the channel [00:15] DrMcKay: Nuck: this bot should be easy [00:16] DrMcKay: have you seen my bot? [00:16] DrMcKay: it's very easily extensible [00:16] CStumph has joined the channel [00:16] pives has joined the channel [00:17] DrMcKay: what, it's 2 AM?! [00:18] DrMcKay: it was barely after 22 few minutes ago :< [00:18] tantek has joined the channel [00:19] junkee[]: yeeah! the basics of node-gstreamer should work now. [00:22] chrisumbel has joined the channel [00:25] Nuck: YAY! [00:25] Nuck: Got an email sent from emailjs through Gmail's SMTP [00:25] Nuck: Got flagged as spam (of course) [00:25] DrMcKay: Nuck: gz :) [00:25] Nuck: But I've got my email lib now. [00:26] shiawuen has joined the channel [00:26] c4milo1 has joined the channel [00:26] Nuck: Though a REMP server would be epic :P [00:26] Nuck: Jesus fuck [00:26] Nuck: Looking at the original message [00:26] [[zz]] has joined the channel [00:26] Nuck: And seriously, jesus rollerblading christ, there must be at least 15 headers. [00:27] tjholowaychuk: Nuck that's nothing [00:27] DrMcKay: Nuck: servers love headers! [00:27] Nuck: For a 4-word sentence. [00:27] jesusabdullah: emailjs, huh? [00:27] Nuck: Yup, mailer didn't work for me. [00:27] tjholowaychuk: try one of the other 10 [00:27] Nuck: tjholowaychuk: huh? [00:28] tjholowaychuk: node has at least 10 email clients [00:28] tjholowaychuk: maybe like 7 [00:28] tjholowaychuk: not sure [00:28] Nuck: tjholowaychuk: Any suggestions? [00:28] Nuck: Most of these seem to be applied by Gmail... [00:28] kepheus has joined the channel [00:28] unlink has joined the channel [00:28] unlink has joined the channel [00:29] cjm has joined the channel [00:29] DrMcKay: Nuck: you have an GitHub account? [00:29] Nuck: DrMcKay: NuckChorris. [00:29] DrMcKay: :D [00:30] sechrist: Hey ho, takin' VC money....... All i'm trying to do is get some new seed funding (yeahhh) [00:30] sechrist: man this song is great [00:30] racar has joined the channel [00:30] SubStack: node to the jay ess [00:30] Nuck: Speaking of VC, I wonder if YC's opened yet... [00:30] Nuck: Nope, still not open. [00:31] DrMcKay: Nuck, I'll @ you in the specification as a name inventor [00:31] sechrist: SubStack: \o/ eyyy [00:32] kepheus has joined the channel [00:32] bassui has left the channel [00:32] sechrist: SubStack: how does i load balance dnodez? [00:32] materialdesigner has joined the channel [00:32] Nuck: DrMcKay: :D [00:33] racar: Hello folks, i copied this example : https://gist.github.com/671318 , but i can connect to socket.io ; i have those error in the client " http://undefined/socket.io/1/?t=1213714040988&jsonp=0 " ... another one with jsonp=1 undefined. Any ideas ? [00:33] mdaisuke has joined the channel [00:33] racar: "can't connect" [00:33] DrMcKay: oh, I think I'll move README to something like IRC.log and write some normal README [00:34] DrMcKay: or maybe not? [00:36] davidbanham has joined the channel [00:36] FearTheCowboy has joined the channel [00:36] FearTheCowboy has joined the channel [00:37] SubStack: sechrist: what sort of usage? [00:37] jbrokc has joined the channel [00:37] sechrist: SubStack: I built a webapp with the api being dnode based, and i'm concerned that if we hit a high concurrent traffic surge dnode is going to be too heavy [00:37] sechrist: so I'm curious if there's prior art on load balancing these things [00:38] kai_ has joined the channel [00:38] sechrist: it boils down to load balancing socket.io right? [00:38] sechrist: websockets and/or http w/ or w/o multipart etc [00:38] sechrist: or did 0.7 make this a lot simpler? [00:39] beebeebeeb has joined the channel [00:41] tantek has left the channel [00:42] jetienne has joined the channel [00:42] jetienne has left the channel [00:43] nerdfiles1 has joined the channel [00:43] nerdfiles1 has left the channel [00:44] kris has joined the channel [00:44] indexzero has joined the channel [00:44] kris: anyone know how I can get a file modified timestamp on nodejs? [00:45] DrMcKay: shit :/. github fucks up my Markdown :/ [00:45] Nexxy has joined the channel [00:45] Nexxy has joined the channel [00:45] jesusabdullah: It does that :/ [00:45] bluesmoon: kris: filesystem.stat [00:45] DrMcKay: !doc link fs#fstat [00:45] dmkbot: http://nodejs.org/docs/latest/api/fs.html#fs.fstat [00:45] sivy has joined the channel [00:46] DrMcKay: jesusabdullah: any place I can report an issue? [00:46] jesusabdullah: DrMcKay: You may also like http://tmpvar.com/markdown.html [00:46] kris: stat returns a fs.Stats object, but I don't see what field on there is a modified time? [00:46] jesusabdullah: DrMcKay: You mean github flavored markdown? [00:46] DrMcKay: yes [00:47] insin: you can take rST from my cold, dead text editor [00:47] DrMcKay: jesusabdullah: useful site, thanks [00:47] jesusabdullah: DrMcKay: Depends. Are you using it on github, directly, or are you using require('github-flavored-markdown') ? [00:47] CIA-65: libuv: 03Igor Zinkovsky 07many_accepts * r8448ee4 10/ (include/uv-win.h src/win/tcp.c): Windows: Do simultaneous pending AcceptEx calls. - http://bit.ly/oqo0VE [00:47] insin: (they also fuck it up too by hijacking the hash :/) [00:47] DrMcKay: jesusabdullah: directly, here: https://github.com/mmalecki/remp [00:47] DrMcKay: that Google link [00:48] ngs has joined the channel [00:49] insin: anyone else been bitten by the new editor on GitHub throwing edits away? [00:49] achiu has joined the channel [00:49] insin: "Someone has committed since you started editing" on a repo only you have access to and BANG! Your edit is gone [00:49] jesusabdullah: Hmm [00:49] jesusabdullah: DrMcKay: I'm pretty sure gfm has a github page [00:49] DrMcKay: insin: I usually Ctrl + A everything before submit [00:50] DrMcKay: and Ctrl + C, ofc [00:50] insin: As do I... now :/ [00:50] jesusabdullah: https://github.com/github/github-flavored-markdown/ [00:50] jesusabdullah: ^^ [00:50] DrMcKay: thanks :) [00:51] dguttman has joined the channel [00:51] jesusabdullah: Speaking of gfm, the way it treats newlines sucks. :C [00:51] DrMcKay: it was me to fuck up, I edited after git add [00:52] DrMcKay: jesusabdullah: you mean two new lines, etc.? [00:52] jesusabdullah: I mean that, if you type, say [00:52] jesusabdullah: foo [00:52] jesusabdullah: bar [00:52] jesusabdullah: gfm formats it with the \n [00:53] jesusabdullah: but regular markdown converts to a space [00:53] jesusabdullah: ie, foo\nbar will render as foo bar [00:53] jesusabdullah: If you want to break with regular md, you type "foo \nbar" [00:53] jesusabdullah: with the two spaces [00:53] devkorcvince has joined the channel [00:53] DrMcKay: yes, that's the way SO does it [00:53] jesusabdullah: That's the way everywhere but github does it [00:54] DrMcKay: Nuck: any input to my README? [00:55] DrMcKay: also, gfm doesn't seem to highlight user names there [00:55] mjr__ has joined the channel [00:57] jbrokc has joined the channel [00:57] airportyh has joined the channel [00:58] k1ttty has joined the channel [00:58] jheusala has joined the channel [00:59] jheusala: hmm, I might do just that in the topic soon... [01:00] edude03 has joined the channel [01:00] DrMcKay: jheusala: maybe a module for my bot? [01:00] DrMcKay: *as a module [01:00] DrMcKay: https://github.com/mmalecki/dmkbot [01:01] jheusala: what does it use? I am a strange guy and I've been using icecap. :-P [01:01] DrMcKay: jheusala: node-irc [01:02] c4milo1: is anybody here using schema.js or json-schema? [01:02] DrMcKay: https://github.com/martynsmith/node-irc [01:02] jheusala: I like icecap because there might be more than one process running the bot on more than one system. [01:02] DrMcKay: distributed? [01:03] jheusala: icecap is like IMAP but for IRC, IM etc [01:03] c4milo1: or JSV [01:03] DrMcKay: oh, I see [01:04] yhahn has joined the channel [01:04] jheusala: http://icecap.irssi2.org/ [01:04] DrMcKay: yes, I'm reading it :) [01:04] jheusala: it may not be ready for normal users but I've been using it with bots over two years [01:05] DrMcKay: it redirects to edit page when I double-click text, wrr [01:05] jheusala: cool I haven't noticed that :-) [01:05] DrMcKay: jheusala: looks nice :) [01:06] jheusala: that's my lib for icecap https://github.com/jheusala/node-icecap [01:06] DrMcKay: looks doubly-nice :) [01:07] blaenk: anyone know how to render a partial from within a view in express with jade? I'm doing partial('blah', items) and nothing is happening, I don't know if I had to prepend that call with something like != or something [01:07] jheusala: it was build for older Node.js, just backported it yesterday [01:07] domo1 has joined the channel [01:07] DrMcKay: seems easy to use [01:08] domo1: if I have file a.js in in that file I require('b.js') and in b.js I require('c.js'); will the exports in c.js be available in a.js? [01:08] DrMcKay: also, it's awesome how many cool libraries are there for node [01:08] Sazpaimon_ has joined the channel [01:08] febits has joined the channel [01:08] CIA-65: libuv: 03Igor Zinkovsky 07master * r8448ee4 10/ (include/uv-win.h src/win/tcp.c): Windows: Do simultaneous pending AcceptEx calls. - http://bit.ly/oqo0VE [01:08] DrMcKay: domo1: no [01:08] soapyillusions has joined the channel [01:08] domo1: DrMcKay: ok, so say I need to use mongoose in b.js and I already required it in a.js, I just require it again? [01:09] domo1: what if I want to share the connection? whats a good way to do that [01:09] DrMcKay: domo1: yes, it won't cause any trouble [01:09] DrMcKay: initialize a connection in d.js and export it? [01:09] domo1: alrighty cool thanks [01:09] jheusala: DrMcKay: icecap is pretty easy protocol, too. I like that there is no ";" character used in the protocol anywhere but as a separator for lines.. [01:09] DrMcKay: domo1: :) [01:10] yhahn has left the channel [01:10] DrMcKay: jheusala: yes, it looks very clear [01:10] jheusala: normal ";" must be written as "\." [01:12] mikeal has joined the channel [01:13] airportyh: hello all, is there any possibility for shipping binaries w an npm package? [01:14] domo1: airportyh: sounds like bad news [01:14] Emmanuel` has joined the channel [01:14] DrMcKay: airportyh: yes, but does it make sense? it would be better if you provided sources and build script [01:14] domo1: i wouldnt install an npm package with a compiled binary.. idont think much would [01:14] domo1: and I think I read the npm author doesnt really recommend it [01:15] airportyh: I am thinking of something big like qt [01:15] scott_gonzalez has joined the channel [01:15] arthur_kalm has joined the channel [01:15] airportyh: if can ship the binary then users avoid the pain of compilation? [01:16] jheusala: how is the compilation done when used in Windows? [01:16] jheusala: for *nix it's of course not a problem [01:16] airportyh: i guess msvs [01:16] airportyh: or ming [01:16] DrMcKay: jheusala: cygwin [01:17] airportyh: reason I ask is I was looking at phantomjs [01:17] jheusala: DrMcKay: isn't there coming a non-cygwin version for node? [01:17] airportyh: and he distributes binaries [01:17] enhydra has joined the channel [01:17] DrMcKay: jheusala: yes [01:17] DrMcKay: I can't recall when [01:18] DrMcKay: Christmas, yes [01:18] DrMcKay: it'll be ready on Christmas [01:18] airportyh: but that could be impractical for npm [01:18] Lorentz: hmm, github issue irc bot [01:18] Lorentz: can't be that hard to write one, can it? [01:18] jheusala: Lorentz: I guess not, it looked easy. I could do that. [01:19] DrMcKay: jheusala: that would be very nice for Windows users [01:19] ceej has joined the channel [01:19] jheusala: node-irc had almost the same interface as my node-icecap so I guess I could support both... [01:20] AvianFlu: node-irc is boss [01:20] DrMcKay: AvianFlu++ [01:20] v8bot_: DrMcKay has given a beer to AvianFlu. AvianFlu now has 2 beers. [01:20] AvianFlu: also see http://github.com/hookio/irc [01:20] DrMcKay: your is also cool :) [01:20] jheusala: AvianFlu: looks like it's "unreleased" :-) [01:21] jheusala: I usually don't like to use undocumented libraries [01:21] DrMcKay: jheusala: source looks pretty straightforward [01:21] AvianFlu: and http://github.com/nodejitsu/kohai/tree/refactor [01:21] AvianFlu: it's a hook.io wrapper, pretty much [01:21] AvianFlu: it needs docs but there are only 5 hook.io events in the api [01:21] DrMcKay: and https://github.com/mmalecki/dmkbot , comes with routing :D [01:21] AvianFlu: cause... it's irc [01:22] jheusala: but is it so hard to write a README ? :-) [01:22] AvianFlu: no, I'm just busy [01:22] jheusala: I know I didn't do it before but I started after I started using github [01:22] AvianFlu: yeah, I've got a personal docs backlog right now [01:23] jheusala: AvianFlu: is there test code at least somewhere? [01:23] Drakonite has joined the channel [01:23] AvianFlu: lol test code [01:23] jheusala: I mean examples :-) [01:23] AvianFlu: there's a node-prompt cli client wrapper built in [01:23] DrMcKay: to much code for today and it's after 3 AM, I'm going to sleep [01:23] DrMcKay: s/to/too/ [01:24] DrMcKay: good night/day guys [01:24] AvianFlu: I mean it's for hook.io, there are examples for that [01:24] AvianFlu: http://github.com/hookio/hook.io [01:24] joeytwiddle has joined the channel [01:24] ji0n_ has joined the channel [01:24] jheusala: ok, thanks I'll take a look [01:24] DrMcKay has left the channel [01:24] elliottcable: What *is* Nodejitsu? [01:25] charleyd has joined the channel [01:25] jheusala: is there btw a channel for Node Knockout? [01:25] infynyxx has joined the channel [01:25] sechrist: elliottcable: you deploy apps on their servers and they handle the scaling, redundancy, etc [01:26] elliottcable: so, Engine Yard / etc [01:26] elliottcable: er, Heroku* [01:26] jamescarr has joined the channel [01:26] sechrist: yeah, heroku. [01:26] elliottcable: been a while since I Ruby’d. [01:26] elliottcable: Well, that makes me less pissed off. Thank god it wasn’t something important. [01:26] elliottcable: ACTION glares at Marak [01:26] neoesque has joined the channel [01:27] jamescarr: I'm actually wondering if there is a library where, given a collection of items, it calls a function on one that accepts a callback and once complete it calls the function for the next one? [01:27] elliottcable: don’t need a library for that [01:27] abraxas has joined the channel [01:27] jamescarr: I am trying to persist a large collection of items, but looping over and persisting each one... [01:27] Marak: elliottcable: http://www.youtube.com/watch?v=2Z4m4lnjxkY [01:27] jamescarr: causes me to run out of connections [01:27] sechrist: look out! [01:27] elliottcable: jamescarr: that’s basically just a while loop. [01:27] soapyillusions has joined the channel [01:27] jamescarr: because the operation is async ;) [01:27] sechrist: it's a rickroll! [01:28] sechrist: trahalahahalaha [01:28] elliottcable: Marak: heh. relevant. [01:28] elliottcable: ya, ya ya! [01:28] jamescarr: elliottcable, the callback needs to be invoked before I process the next one [01:28] sechrist: what happened to ytmnds? [01:28] sechrist: videos aren't better than gifs. [01:28] elliottcable: sechrist++ [01:28] v8bot_: elliottcable has given a beer to sechrist. sechrist now has 1 beers. [01:28] catb0t: sechrist now has 1 beer [01:28] elliottcable: … [01:28] elliottcable: do we really need *two* of them? [01:29] int_64: hi, does anyone have a recommendation for project management software [01:29] int_64: ? [01:29] insin: how many hands do you have? exactly [01:29] elliottcable: git. [01:29] int_64: elliottcable, thanks, but this is actually for non code projects [01:30] elliottcable: git. [01:30] int_64: hah! [01:30] int_64: ok [01:30] int_64: ill see what it offers [01:30] elliottcable: insin: exactly? I’m afraid that would exceed the size of my floating point calculator. Mind if I round to an integer? [01:32] jamescarr: elliottcable, all I can think of is something silly like this: https://gist.github.com/1155786 [01:33] mikeal has joined the channel [01:33] jheusala: hmm is there module for github API already somewhere? [01:34] jheusala: I found this https://github.com/ajaxorg/node-github [01:34] Marak: hey stagas you alive [01:35] jheusala: "Issues API: only getList is implemented" -> that would need forking I guess [01:35] chrisumbel has joined the channel [01:37] davidbanham: Is there a canonical way to implement a forgotten password feature? I'm thinking generate some kind of hash, shove that in a database of some kind, when someone clicks a forgotten password link check if the hash is both valid and sufficiently fresh. Sound about right? [01:37] achiu has joined the channel [01:37] Emmanuel`: davidbanham: pretty muich [01:37] EyePulp has joined the channel [01:38] davidbanham: Emmanuel`: I'm thinking I should probably have some kind of rate limiting on the hash check so that someone can't just brute force the correct hash. [01:39] jamescarr: whelp... time to go write this module I've been thinking of that exposes Mongoose models to the client side as Backbone models [01:39] JacobSingh has joined the channel [01:39] junkee[] has left the channel [01:40] Emmanuel`: davidbanham: if your time limit is short enough and your hash complicated enough, you prolly don't have to cae [01:40] Emmanuel`: care* [01:41] davidbanham: Emmanuel`: Yeah I suppose so. Just seems strange that I'd spend a whole bunch of time making my application awesomefast which would then make a brute forcer's job easier! Yeah I'll just do a stupid long hash and a 1 hour time limit or something. [01:42] Emmanuel`: in your case, a brute force attack would be more of a DOS [01:42] sgk284 has joined the channel [01:42] Emmanuel`: sp your main concern won't be the crack of the password, no ? [01:42] sechrist: jesusabdullah: so is dnode-python running? [01:43] mikeal has joined the channel [01:43] davidbanham: True, but if I do my job well enough at making sure my application can scale seamlessly, it's almost like opening a vulnerability. [01:44] softdrink has joined the channel [01:44] sgk284 has joined the channel [01:45] sgk284 has left the channel [01:46] bluesmoon has joined the channel [01:46] sgk284 has joined the channel [01:46] scott_gonzalez has joined the channel [01:46] marlun has joined the channel [01:46] bengrue has joined the channel [01:47] bluesmoon has joined the channel [01:47] Anton_ has joined the channel [01:47] fuzzyone has joined the channel [01:48] sgk284 has left the channel [01:48] larsemil has joined the channel [01:51] hasenj has joined the channel [01:53] rurufufuss has joined the channel [01:54] scott_gonzalez has joined the channel [01:56] sivy has joined the channel [01:57] boehm has joined the channel [01:59] seivan has joined the channel [02:01] domo1: hey, im using mongoose and im noticing its appending an 's' at the end of my model names even though i define them as singular [02:01] domo1: anyone else experience this? if so, how do I turn it off [02:01] jamescarr_ has joined the channel [02:02] jamescarr_: is there a way to run the express command but to generate ejs instead of jade? [02:03] jamescarr_: -t [02:03] jamescarr_: express -t ejs -c stylus [02:03] shiawuen has joined the channel [02:04] aoberoi has joined the channel [02:06] marienz_ has joined the channel [02:07] jerrysv has joined the channel [02:08] pjacobs has joined the channel [02:09] jakehow_ has joined the channel [02:09] jakehow has joined the channel [02:11] foxkid has joined the channel [02:11] scottschecter has joined the channel [02:11] apanda has joined the channel [02:13] scottschecter has left the channel [02:13] tylerstalder has joined the channel [02:20] perezd has joined the channel [02:21] jerrysv has joined the channel [02:21] joshthecoder has joined the channel [02:23] scottschecter has joined the channel [02:24] Lorentz: There are so many irc libs, hrm [02:25] isaacs has joined the channel [02:25] Lorentz: My bot uses, uh, irc-js? Now there's irc, ircbot, and whole lot of others that may or may not do irc bot client thing [02:25] vidi has joined the channel [02:26] juyeong_park has joined the channel [02:26] xerox: I like node-irc in that it returns an eventemitter [02:26] xerox: but it doesn't do reconnection, sigh [02:26] Lorentz: we should consolidate or something [02:26] xerox: people just github fork and patch [02:26] xerox: but nothing goes back as pull request as far as I can see [02:27] jheusala: my node-icecap also is eventemitter [02:27] eazyigz has joined the channel [02:28] eazyigz: Does anyone know how to remove a document from a collection in Mongo, using node-mongodb-native? [02:29] Lorentz: xerox: I think irc-js does reconnect [02:29] Lorentz: not sure on eventemitter, gf3 will know better [02:29] Lorentz: and my bot's been neglected recently :( [02:29] jheusala: icecap does reconnect too [02:29] xerox: then there's the super fancy kohai [02:29] jheusala: no need for the bot to do it [02:31] bengrue has joined the channel [02:32] eazyigz: Does anyone know how to remove a document from a collection in Mongo, using node-mongodb-native? [02:32] jhurliman has joined the channel [02:33] piscisaureus has joined the channel [02:33] xerox: eazyigz: uh [02:34] xerox: https://github.com/christkv/node-mongodb-native/tree/master/examples [02:35] jesusabdullah: sechrist: I kinda ran out of time to finish it, but I got it maybe 70% there [02:35] eazyigz: xerox: I do not see anything in there about removing a single document [02:36] xerox: it's exactly like mongodb shell [02:36] xerox: except with callbacks [02:36] xerox: as you see almost every example does remove [02:36] xerox: and uses {} as selector [02:36] xerox: you clearly want a more specific selector [02:36] xerox: but that's it [02:38] eazyigz: xerox: I have tried passing the _id to the {} argument, but it doesn't remove it [02:40] Swizec has joined the channel [02:40] mike5w3c_ has joined the channel [02:42] jerrysv: xerox: have you played with mongode? [02:43] xerox: mongoose? [02:43] jerrysv: mongode? [02:43] eazyigz: xerox: I have tried passing the _id to the {} argument, but it doesn't remove it [02:43] jerrysv: thin wrapper to mongodb-native [02:43] jerrysv: https://github.com/milewise/mongode [02:45] jheusala: I guess I'll be doing this today: https://github.com/jheusala/node-icecap-bot -- welcome to help... How about some standard for plugins? [02:45] ajamil has joined the channel [02:45] soapyillusions has joined the channel [02:46] ajamil: is this the place for node.js support [02:47] xerox: eazyigz: you'd have to do { _id: ObjectID("...") } [02:47] xerox: right [02:47] eazyigz: xerox: I do {_id: "4e4aab6c30c4620c3f000000"}, function(err, result) {.....} [02:47] eazyigz: and it doesn't work [02:47] xerox: yes because that is a string [02:47] Nuck: ACTION might use Postmark for his emails [02:48] eastender has joined the channel [02:48] eazyigz: xerox: I have to wrap it with ObjectID? [02:48] xerox: yes [02:49] eazyigz: xerox: how do I define ObjectID? What library does that belong to? [02:50] xerox: it's inside mongo [02:50] xerox: mongodb/bson/objectid [02:50] perezd has joined the channel [02:51] Twelve-60 has joined the channel [02:52] d0k has joined the channel [02:54] eazyigz: xerox: I do mongodb.ObjectID("4e4aab6c30c4620c3f000000") [02:54] xerox: good [02:54] domo1 has left the channel [02:55] JakeyChan_ has joined the channel [02:56] eazyigz: xerox: thanks. It was ObjectID = require('../node_modules/node-mongodb-native/lib/mongodb/bson/objectid').ObjectID; [02:56] joshthecoder has joined the channel [02:56] xerox: when I get it from npm [02:56] xerox: it installs to node_modules/mongodb [02:56] xerox: so I guess require('mongodb/bson/objectid').ObjectID would be fine [02:57] xerox: you could probably do that too, with 'node-mongodb-native/...' [02:57] eazyigz: xerox: i had trouble with npm for node-mongodb-native [02:57] eazyigz: so I downloaded there manuallly [02:57] xerox: : ( [02:57] xerox: what kind of problem [02:58] xerox: npm install mongodb [02:58] xerox: done? [02:58] eazyigz: lol, i don't remember. I should probably update my node version and npm version [02:58] xerox: : ) [03:02] achiu has joined the channel [03:04] JakeyChan_ has joined the channel [03:04] kepheus has joined the channel [03:04] jheusala: I think I might just fork https://github.com/jheusala/dmkbot instead and not do yet another NIH :-P [03:06] kepheus has joined the channel [03:06] rfay has joined the channel [03:07] ryanallenbobcat has joined the channel [03:07] mscdex: fork your own project? :S [03:07] jheusala: that's not mine [03:07] temp01 has joined the channel [03:07] Nexxy: jheusala is not jheusala [03:07] mscdex: it has your name in the url :-D [03:07] jheusala: it was DrMcKay's [03:07] jheusala: MaSch: oh, it was already a fork :-P [03:08] jheusala: I linked to my fork, not the original [03:08] mscdex: ah [03:08] soapyillusions has joined the channel [03:08] Nexxy: mscdex, ;< [03:08] mscdex: lolwut [03:08] freeformz has joined the channel [03:09] kenperkins has joined the channel [03:09] losing has joined the channel [03:09] jheusala: original was https://github.com/mmalecki/dmkbot [03:09] Nexxy: mscdex, Current Inventory: -18 <- guess what item that refers to! [03:10] mscdex: retail box copies of node? [03:10] Nexxy: pandaboard ;< [03:11] mscdex: :S [03:11] Nexxy: i need almost that many [03:11] Nexxy: stupid lack of proper supply [03:12] mscdex: did you try emailing svtronics ? [03:12] Nexxy: will that make their stock replenish1? [03:13] mscdex: i can't ensure that, but maybe they might have some idea when they expect more to come in [03:13] mscdex: when i got mine, i emailed them first and asked them if they had any in stock. they said yes, so i ordered one [03:13] mscdex: i guess i just got lucky that time [03:14] alnewkirk has joined the channel [03:16] mscdex: they got an additional distributor it looks like [03:16] Nexxy: ;o [03:16] mscdex: they actually tell you when they expect new shipments to come in [03:16] mscdex: 8/24/2011 [03:16] Nexxy: pah [03:17] mscdex: mouser.com [03:17] Nexxy: where are you seeing that! [03:17] Nexxy: oh [03:17] Nexxy: ty <3 [03:18] mikeal has joined the channel [03:18] JacobSingh has joined the channel [03:20] progme has joined the channel [03:23] Marak has joined the channel [03:23] ralphholzmann: would it be a bad idea for me to use setInterval to perform a task twice daily? [03:23] Marak: stagas: ping [03:23] ralphholzmann: for example, backing up my database [03:23] Marak: ralphholzmann: i was thinking the exact same thing the other day [03:24] Marak: ralphholzmann: im not sure what the upper limits of the timers are [03:24] ralphholzmann: right [03:24] ralphholzmann: cron job is probably best ... [03:24] Marak: ralphholzmann: hook.io cron uses nexTick + new Date().getTime() [03:24] Marak: then we just check the time in the event loop [03:24] Marak: ralphholzmann: prob overkill for you, but this might help, https://github.com/hookio/cron [03:25] ralphholzmann: ooh interesting [03:25] ralphholzmann: cool, thanks Marak ! [03:25] Marak: ralphholzmann: if you just need to run a cron twice a day, you prob shouldnt use an i/o framework though [03:25] Marak: but perhaps that code will give you an idea, or maybe the idea of hook.io will give you a better idea :-) [03:26] sechrist: node to the jay ess, hear my modules export hell yes [03:28] Sazpaimon has joined the channel [03:29] Sazpaimon has joined the channel [03:30] jamesd: crontab or at would seem like better tools for the job and they are probably allready running on your machines [03:31] vishr has joined the channel [03:31] dguttman has joined the channel [03:31] mrryanjohnston: can I get a second set of eye on a block of code i wrote? I've been toying with it, and I think I have it the way I want it. [03:32] vishr: Hi, I recently asked this question at StackOverflow, I would appreciate feedback from people out here! http://stackoverflow.com/questions/7033844/nodejs-where-or-how-to-write-complicated-business-logic [03:34] eastender has joined the channel [03:37] hij1nx has joined the channel [03:37] eastender has left the channel [03:42] JakeyChan: guys, do you know bones ? [03:42] jesusabdullah: You mean that guy that keeps insisting he's not a doctor? [03:42] rchavik has joined the channel [03:43] JakeyChan: here [03:43] JakeyChan: https://github.com/developmentseed/bones/ [03:44] spetrea has joined the channel [03:44] secoif has joined the channel [03:46] BinaryMuse has joined the channel [03:49] stagas_ has joined the channel [03:50] aoberoi has joined the channel [03:54] jerrysv has joined the channel [03:54] chjj: ah i keep wondering why my chrome extension keeps doing so well, i click firebug lite and see its listed under "recommended items" [03:54] Yoric has joined the channel [03:55] thepatr1ck has joined the channel [03:55] ryanfitz has joined the channel [03:55] BinaryMuse has left the channel [03:56] mehlah has joined the channel [03:58] avalanche123 has joined the channel [03:58] dexter_e has joined the channel [03:58] zanes has joined the channel [03:59] BinaryMuse has joined the channel [03:59] Sazpaimon has joined the channel [04:00] dexter_e: which version of Node.JS is recommended for stable: [04:00] dexter_e: is it 4.11 just as it says on the website ? [04:00] freeformz has joined the channel [04:00] dexter_e: I just did git install and it loaded me up with 0.5.5 but everything after 0.4.11 is marked as UNSTABLE , should we be using 0.4.11 [04:01] BinaryMuse has joined the channel [04:02] JoshC1 has joined the channel [04:02] jamesd: yeah use 4.11 unless you are node.js guru and want to repair everything you see.. i couldn't get express to buidl and install for me running unstable [04:02] jamesd: it bitched that it wasn't a supported version for unstable [04:02] dexter_e: Thanks ! [04:02] dexter_e: will do [04:04] azend has joined the channel [04:08] fayce has joined the channel [04:11] Sazpaimon_ has joined the channel [04:11] nargh has joined the channel [04:11] socketio\test\50 has joined the channel [04:11] seivan has joined the channel [04:14] sh1mmer has joined the channel [04:14] ekryski has joined the channel [04:20] ParadoxQuine has joined the channel [04:22] skm has joined the channel [04:23] jamescarr_: hmmm [04:24] jamescarr_: ACTION wonders if anyone has gotten bluetooth shit working with node.js [04:24] dexter_e: Thats interesting [04:24] dexter_e: what kind of applications would your server use bluetooth for? [04:25] dexter_e: * dexter_e: wonders what kind of things a server would use bluetooth for [04:25] fairwinds has joined the channel [04:26] akshatj: dexter_e, maybe he is making a desktop app in node.js? [04:26] jheusala: it's strange that everybody thinks that node.js is just for servers :-) [04:28] konobi: jamescarr_: probably easier to work with one of the abstraction layers [04:28] dexter_e: isn't it designed primarily for server environment ? [04:28] jheusala: Don't know if it was designed but it works great on local systems, too [04:29] konobi: all computers are servers [04:29] mehlah has joined the channel [04:30] Darrow has joined the channel [04:30] dexter_e: its designed to process http requests , which seems to indicate that its designed for more of a server environment [04:30] dexter_e: which is why I wondered what kind of stuff a server would use bluetooth for [04:30] dexter_e: just wondering [04:31] konobi: no... it's designed around processing network and io requests [04:31] dexter_e: ok designed around network and io requests stil sounds like a server thing eh ? [04:32] Darrow: Quick question about node-http-proxy: am I supposed to run the proxy server as root to proxy on port 80? [04:32] konobi: all computers are servers [04:32] Darrow: Isn't that just as insecure as running a node app itself as root? [04:33] konobi: Darrow: you can always change your uid/euid after getting the fd for the port [04:33] jamescarr_: hehehehe... it's cool as shit to control something on my computer using my cell phone ;) [04:34] konobi: could always do a webpage for that [04:34] Darrow: konobi: could you explain that? I'm used to running node behind nginx, just tried node-http-proxy for the first time today [04:34] jamescarr_: yeah, thats what I do right now... [04:34] jamescarr_: the remote page is accessed from a mobile phone [04:35] jamescarr_: turning it into a remote [04:35] jamescarr_: I was wanting bluetooth for when wireless is completely unavailable [04:35] konobi: Darrow: http://nodejs.org/docs/v0.3.1/api/process.html#process.setuid [04:35] Darrow: # function reads Newick style tree (no branch lengths) into memory [04:35] Darrow: # written by Liam J. Revell 2011 [04:35] Darrow: read.newick<-function(file="",text){ [04:35] Darrow: if(file!=""){ [04:35] Darrow: text<-scan(file,sep="\n",what="character") [04:35] Darrow: } [04:35] Darrow: tree<-unlist(strsplit(text, NULL)) # split string 'text' [04:35] Darrow: Ntip<-1; Nnode<-0 [04:35] Darrow: for(i in 1:length(tree)){ [04:35] Darrow: if(tree[i]==",") Ntip<-Ntip+1 # count tips [04:35] Darrow: if(tree[i]=="(") Nnode<-Nnode+1 # count nodes [04:35] Darrow: tip.label<-vector(mode="character") [04:35] konobi: Darrow: use a nopaste [04:35] Darrow: edge<-matrix(data=0,Nnode+Ntip-1,2) [04:36] Lorentz: Is there a gui binding of sort for node yet [04:36] Lorentz: gtk or something [04:36] Bogh has joined the channel [04:37] konobi: jamescarr_: there's always ip over bluetooth =0) [04:37] jamescarr_: ... [04:37] jamescarr_: konobi, thanks a bunch [04:39] jamescarr_: hmmm [04:39] jamescarr_: can mongoose handle file attachments? [04:43] jtsnow has joined the channel [04:45] brianseeders has joined the channel [04:45] darshanshankar has joined the channel [04:45] CStumph has joined the channel [04:46] darshanshankar has left the channel [04:46] eazyigz has joined the channel [04:46] darshanshankar has joined the channel [04:46] eazyigz: how do I make a function return true/false in Node.js? [04:47] Sazpaimon has joined the channel [04:51] anaio has joined the channel [04:52] anaio has joined the channel [04:53] dreamdust: function myFn() { return true; } [04:54] edude03 has joined the channel [04:55] sgarrett has joined the channel [04:55] kohai has joined the channel [04:56] Skola has joined the channel [04:56] sgarrett: Hello can someone help me with a small piece of my node server? I'm running node through cygwin on a windows 7 ultimate box. I want to make the node server listen on "http://localhost/exampe-site/". Is this possible? [04:56] eazyigz: how do I make a function return true/false in Node.js? [04:57] unnikrishnan_b has joined the channel [04:58] achiu has joined the channel [04:59] sgarrett: When calling http.createServer().listen(); which parameters do I need to pass to the listen function to make it listen on "http://localhost/example-site/"? [05:00] sgarrett: anyone? [05:00] alnewkirk has joined the channel [05:02] thepatr1ck: sgarrett: listen takes port and (optionally) IP to bind to, createServer takes a callback for http requests, in that you'd check the request URL to see if it was "/example-site/" [05:03] low-b has joined the channel [05:04] thepatr1ck: e.g. http.createServer(function(req,res){ if(req.url == "/example-site/") { ... }).listen(80, 'localhost'); [05:04] Ratty_ has joined the channel [05:04] sgarrett: Couldn't I do something like .listen(80, 'localhost/example-site/') ? [05:04] Peniar has joined the channel [05:05] thepatr1ck: no, httpServer doesn't handle routing of URLs for you [05:05] Ratty_: I have an npm project which I want augment with other npm projects. Is it possible for those projects to tag themselves so they can be found? [05:06] framlin: eazyigz: you write return true; at the last line of your function ... [05:06] sgarrett: Ahhh I see. Is there something instead of httpServer that I should be using then? [05:07] framlin: sgarrett: where is the problem with thepatr1ck solution? [05:07] sgarrett: Or is it standard practice to handle the routing of urls in the createServer function? [05:08] thepatr1ck: it depends on what you're building. some people like the express (framework? library?) but that's over kill for the kind of services I'm building [05:08] copongcopong has joined the channel [05:08] framlin: sgarrett: you may have a look at the node-modules-wiki, to see the "routers" that are there, but if you want only to listen to that one URL this one line wouzld be perfect [05:08] sgarrett: I actually just looked at express and I don't think I'd be using much of it all, other than routing urls I guess. [05:09] sgarrett: framlin: Thanks. I didn't realize there were specific router modules. [05:10] sgarrett: Thanks thepatr1ck. [05:10] framlin: https://github.com/joyent/node/wiki/modules#wiki-web-frameworks-routers [05:11] fangel has joined the channel [05:11] thepatr1ck: (my services are high volume but don't are API things not web, so a router isn't needed) [05:12] eazyigz: framlin: what if I need some i/o bound code to execute before I return true? [05:12] sgarrett: framlin: Do you have any suggestions on routers? Tried any yourself? [05:15] BinaryMuse has joined the channel [05:15] slifty has joined the channel [05:17] radiodario has joined the channel [05:19] misterm has joined the channel [05:19] Spion has joined the channel [05:19] k1ttty has joined the channel [05:20] pifantastic has joined the channel [05:21] Ratty_: If my npm package has a dependency which is already installed globally, can I make it use that instead? [05:21] mscdex: eazyigz: then you have pass in a callback to the function that is executed after the i/o code is done [05:21] mscdex: Ratty_: i think you can using npm link [05:22] willwhite has joined the channel [05:23] mscdex: Ratty_: maybe just: npm link [05:23] mscdex: Ratty_: https://github.com/isaacs/npm/blob/master/doc/link.md [05:24] Nuck has joined the channel [05:27] ph^ has joined the channel [05:28] robotmay has joined the channel [05:29] mscdex: why is it such a pain in the ass to build a wireshark dissector? [05:31] jj0hns0n has joined the channel [05:32] Marak: mscdex: what are you up too? [05:32] Marak: mscdex: i was thinking about trying to get a hook.io hook into snort [05:33] rfay has joined the channel [05:35] escii has joined the channel [05:36] zomgbie has joined the channel [05:39] cbrant has joined the channel [05:40] smus has joined the channel [05:41] mscdex: Marak: not much, just trying to compile a new dissector on a windows machine :-\ [05:41] mscdex: i wish wireshark would just let you use js to script dissectors [05:42] mscdex: that would be incredibly awesome [05:42] Marak: i dont know i know what that is [05:42] Marak: http://wiki.wireshark.org/Lua/Dissectors ? [05:43] Marak: lua doesnt seem that awful [05:44] andrewfff has joined the channel [05:44] cbrant has left the channel [05:44] socketio\test\52 has joined the channel [05:45] indexzero has joined the channel [05:45] binaryjohn has joined the channel [05:46] framlin: eazyigz: you mean because of asyncness? [05:46] dgathright has joined the channel [05:47] eazyigz: framlin: yes [05:47] framlin: sgimeno: no, I use node-http-proxy to "preselect" URIs as kind of virtual hosts and than have my own "router" that decides what to do with respect of the requested path [05:48] framlin: sgimeno: you may ha a look at http://www.nodebeginner.org/ [05:49] mscdex: lua is the sound you make when you puke [05:49] Marak: mscdex: ive never actually used it [05:49] sivy has joined the channel [05:50] chjj: lua is sexy [05:50] framlin: what would be the best way to become a "man in the middle" to "record" HTTP-traffic to genereate a DB-mock for testing reasons? [05:50] jamesp has joined the channel [05:51] framlin: I have a XUL client, that talks to COBOL and I want to mock the COBOL-answers [05:51] ph^ has joined the channel [05:51] Nuck: Oi vey [05:51] misterm: framlin: there are some http proxies meant for debugging that do stuff like that, I can't recall any of their names [05:51] Nuck: I just had to explain to somebody that an IP address *IS* technically a URL. [05:52] Nuck: As much as example.com [05:52] framlin: ok, I will keep "proxy for debugging" in my mind [05:52] andree has joined the channel [05:52] Nuck: misterm: Charles [05:52] Nuck: And they seemed to not understand when I got confused from them calling a unique ID for each upload a URI [05:52] boehm has joined the channel [05:53] amerine has joined the channel [05:54] framlin: eazyigz: you ma pass a callback to the file-read-function. It is called, if the file is read and then you can do som stuff an can return false from the callback [05:57] hellp has joined the channel [05:58] jetienne has joined the channel [05:58] eazyigz: framlin: thanks [05:58] jamescarr_: hmmm... wonder if it is possible to chuck binary data over socket.io these days [05:59] xat- has joined the channel [05:59] eazyigz: framln: would something like this work? http://pastie.org/2395290 [06:00] eazyigz: framlin... [06:02] achiu has joined the channel [06:02] mehlah has joined the channel [06:03] jamescarr_: oh... [06:03] jamescarr_: mongoose can support buffer types [06:04] jamescarr_: SUH-WEET [06:05] AvianFlu has joined the channel [06:05] stephank has joined the channel [06:07] stonebranch has joined the channel [06:14] SamuraiJack has joined the channel [06:19] bripkens has joined the channel [06:20] fangel has joined the channel [06:20] seivan_ has joined the channel [06:20] meso has joined the channel [06:22] JakeyChan_ has joined the channel [06:23] framlin: eazyigz: sorry, I had to wark for a short while ;) [06:23] framlin: wOrk [06:23] shiawuen has joined the channel [06:25] coredump has joined the channel [06:25] coredump: hey guys, how do I encode an array to send over a POST to another node? I am using coffee [06:26] framlin: eazyigz: JSON.stringify(data.data.clicks[0].user_clicks > 0) seems to make less sense [06:27] jakehow has joined the channel [06:28] mscdex: coredump: you could send the value as json: JSON.stringify(array) [06:28] darshanshankar_ has joined the channel [06:28] CStumph has joined the channel [06:28] framlin: eazyigz: but the closure to call your callback_func should work [06:28] coredump: @mscdex it's what's I am trying to do, but it's not getting to the other side. [06:29] mscdex: coredump: can you gist your code? [06:29] louissmit has joined the channel [06:29] Peniar has joined the channel [06:30] coredump: https://gist.github.com/1156184 [06:30] framlin: is npm down? ETIMEDOUT, Connection timed out [06:30] coredump: mscdex, https://gist.github.com/1156184 [06:30] coredump: it has been so many time that I think I forgot how to craft an URL [06:31] towski has joined the channel [06:32] jetienne: framlin: works for me [06:32] framlin: howto check, if npm is not workin or if any proxy is rejecting the npm-connection? [06:32] cpetzold has joined the channel [06:32] coredump: mscdex, the other side atm is just a server with a url parse to see wth is arriving [06:32] jetienne: framlin: too fast. unable to get the tar [06:32] framlin: jetienne: thanks, then I think its a proxy :( [06:33] prettyrobots has joined the channel [06:33] framlin: jetienne: ?? [06:33] jetienne: framlin: i dont understand. i just installed express. but it was slower than usual [06:33] jetienne: try again ? [06:34] CStumph has joined the channel [06:34] framlin: same result :( [06:35] framlin: is tok, then I have to try git [06:35] chjj: yeah, i noticed npm was kinda slow when i published something today [06:35] shiawuen has joined the channel [06:36] framlin: maybe thats the reason for the timeout? [06:36] coredump has joined the channel [06:37] coredump|br: i got disconnected [06:37] coredump|br: bleh [06:37] coredump|br: mscdex, any idea? [06:37] mscdex: coredump|br: you're using an old version of node [06:37] mscdex: for one thing [06:37] ph^ has joined the channel [06:37] coredump|br: mscdex, v0.5.4 [06:37] coredump|br: that... sounds old really [06:37] mscdex: well, you're using the old api then :-) [06:38] mscdex: one sec, i'll give you an example [06:38] coredump|br: well I used the first docs I could find :) [06:38] chjj: mscdex just called you old! [06:38] losing has joined the channel [06:38] coredump|br: this is my first pet project and I am not a genius in js [06:39] coredump|br: but coffeescript is so cool that I may not hate it [06:39] chjj: uhoh [06:40] chjj: word of warning: youre in for a world of hurt if you learn coffeescript before js [06:40] Nexxy: ^ [06:40] chjj: even people who i argue over cs with agree with that [06:40] Nuck: chjj: That is a great way of putting it [06:41] bripkens has left the channel [06:41] coredump|br: I said I am not a genius, I didn't say I don't know it completely :) [06:41] chjj: protip: become a genius first ;) [06:41] Nexxy: ACTION is suddenly a genius [06:42] chjj: ACTION quizes Nexy on genius-like things [06:42] Nexxy: like how to spell my name properly? [06:42] chjj: yes [06:42] hybsch has joined the channel [06:42] Nexxy: well, it's with at least 2 "x" [06:42] kepheus: which debugger should i use? [06:42] tauren has joined the channel [06:43] chjj: have you tried node-inspector? [06:43] mscdex: coredump|br: here it is in js: https://gist.github.com/1156202 [06:43] mscdex: untested, but that should give you an idea [06:44] mscdex: coredump|br: if you're using 0.5.4, the docs are here: http://nodejs.org/docs/v0.5.4/api/ [06:44] coredump|br: k [06:44] coredump|br: let me check how that will arrive on the other side. [06:44] coredump|br: anyone here going to Surge conference btw? [06:44] mscdex: coredump|br: that gist will POST to localhost:555/order [06:44] mscdex: er 5555 [06:44] coredump|br: they will have some node stuff there on the hack day [06:45] kepheus: chjj: i try it, thanks [06:45] chjj: https://github.com/dannycoates/node-inspector [06:48] groom has joined the channel [06:52] NetRoY has joined the channel [06:56] coredump|br: mscdex, didn't work. Are you sure that req.end is the right place to send the query string? [06:56] coredump|br: mscdex, path: Request path. Should include query string and fragments if any. E.G. '/index.html?page=12' [06:56] mscdex: yep [06:57] coredump|br: hm [06:57] mscdex: coredump|br: when you a POST, you submit a body [06:57] mscdex: *do [06:57] julienXX has joined the channel [06:57] mscdex: you don't submit the data in the query string [06:57] mscdex: in the path [06:57] coredump|br: ah durh [06:57] coredump|br: I am reading the wrong place then [06:57] mscdex: if you were doing GET then you would [06:58] simenbrekken has joined the channel [06:59] raphdg has joined the channel [06:59] rfay has joined the channel [07:00] kmiyashiro has joined the channel [07:00] luke` has joined the channel [07:01] mattcodes has joined the channel [07:02] mattcodes: using npm how do install the devDependencies in a package.sjon [07:02] saikat has joined the channel [07:03] JakeyChan has joined the channel [07:04] topaxi has joined the channel [07:05] mraleph has joined the channel [07:06] fangel has joined the channel [07:07] luke` has joined the channel [07:08] kmiyashiro: mattcodes: I've wondered that myself [07:08] emattias has joined the channel [07:10] mattcodes: install.md doesnt list anything so probably have to presume it isnt implemented yet [07:10] jesusabdullah: what [07:10] jesusabdullah: Oh, no, you can [07:10] nodokodo has joined the channel [07:10] mscdex: mattcodes: kmiyashiro: append "--dev" [07:10] jesusabdullah: --dev [07:10] jesusabdullah: yeah [07:10] mscdex: :-D [07:11] jesusabdullah: It might be undocumented for all I know, though [07:11] mscdex: it's not [07:11] mattcodes: seem undocumented to me https://github.com/isaacs/npm/blob/master/doc/install.md [07:12] framlin: is there anyone who knows node_pcap? [07:12] mattcodes: but thanks guys [07:12] mscdex: well, it may not be in the best spot, but here it is: https://github.com/isaacs/npm/blob/master/doc/json.md [07:12] mscdex: under "devDependencies" [07:12] mscdex: framlin: what's your question? [07:12] framlin: I tried the examples and got TypeError: pcap Open: expecting 3 arguments [07:13] framlin: https://gist.github.com/1156246 [07:14] mattcodes: if a dev dependenices such as jasmine-node, should the executable jasmine-node not go into /node_modules/.bin too? [07:15] JakeyChan_ has joined the channel [07:16] mattcodes: is it recommended to install dev-dependenices jasmine-node, nodemon, coffeescript via -g so dont have to extend $PATH [07:16] mscdex: framlin: i think it's just "http request" not "http_request" [07:17] ccare has joined the channel [07:18] mattcodes: is there a way to install devDependencies globally but project depdnenices locally npm -g install --dev will do both by the looks of it [07:18] SamuraiJack has joined the channel [07:18] Marak: hey SamuraiJack [07:19] framlin: mscdex: same error :( [07:19] SamuraiJack: Marak: hey [07:23] stonebranch has joined the channel [07:23] admc has joined the channel [07:24] robotmay has joined the channel [07:24] rhaen: good morning everyone [07:26] prettyrobots has joined the channel [07:26] luke` has joined the channel [07:28] jbpros has joined the channel [07:28] djcoin has joined the channel [07:29] gerard0 has joined the channel [07:29] jhurliman has joined the channel [07:34] ngs has joined the channel [07:34] Margle has joined the channel [07:34] misterm has joined the channel [07:35] [AD]Turbo has joined the channel [07:35] [AD]Turbo: hi there [07:37] tylerstalder has joined the channel [07:37] burningdog has joined the channel [07:38] ReshadN has joined the channel [07:38] hwinkel has joined the channel [07:40] Marak: stagas: ping [07:40] asabil has joined the channel [07:41] Dreamer3 has joined the channel [07:41] uchuff has joined the channel [07:44] sechrist: SubStack: the image for multimeter is great haha [07:44] amasad has joined the channel [07:45] jetienne has joined the channel [07:45] felixhummel has joined the channel [07:45] kasadu has joined the channel [07:48] hekkwan has joined the channel [07:48] Bogh has joined the channel [07:52] beawesomeinstead has joined the channel [07:54] garrensmith: morning all [07:56] andrewfff has joined the channel [07:56] unnikrishnan_b has joined the channel [07:57] markwubben has joined the channel [07:59] festiz has joined the channel [07:59] tristanseifert has joined the channel [08:00] industrial: Anyone use everyauth (or something else)? I have my own OAuth provider/server. I only see options for the 'big sites' with everyauth [08:00] ttpva has joined the channel [08:01] framlin: I dont get this npm-tool [08:02] robhawkes has joined the channel [08:02] framlin: I have cloned a git-repo parallel to my project-dir [08:02] framlin: i have build this repo using node-waf configure build [08:03] framlin: where do I have to call npm install new-repo to get it installed for usage with my project now [08:04] framlin: ~/work/my_proj ~/work/node_pcap [08:04] DrMcKay has joined the channel [08:04] framlin: I want to use node_pcap from my my_proj/js/run.js [08:05] tbassetto has joined the channel [08:06] mpavel has joined the channel [08:09] ttpva has joined the channel [08:09] seivan has joined the channel [08:12] framlin: Error: Cannot find module './build/default/pcap_binding' [08:12] framlin: seems that it looks at the "wrong" place: /usr/lib/node/.npm/pcap/0.2.8/package/build/default/pcap_binding.node [08:14] seivan has joined the channel [08:15] festiz: I'm trying to build node v0.5.4. on centos 5. I've installed python26 and changed all shebangs to python for those that had python2.4 and python26 for those that hade python. The configure-script looks very green but my make fail on this: [08:15] festiz: scons: Building targets ... [08:15] festiz: /usr/lib64/ccache/g++ -o obj/release/accessors.o -c -fno-rtti -fno-exceptions -Wall -Werror -W -Wno-unused-parameter -Wnon-virtual-dtor -pedantic -m64 -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -ansi -DV8_TARGET_ARCH_X64 -DENABLE_DEBUGGER_SUPPORT -I/home/stefan/src/adaptivelayout/lib/node/node-v0.5.4/deps/v8/src /home/stefan/src/adaptivelayout/lib/node/node-v0.5.4/deps/v8/src/accessors.cc [08:15] festiz: scons: *** [obj/release/accessors.o] Error 1 [08:15] festiz: scons: building terminated because of errors. [08:15] festiz: Waf: Leaving directory `/home/stefan/src/adaptivelayout/lib/node/node-v0.5.4/build' [08:15] festiz: Build failed: -> task failed (err #2): [08:15] festiz: {task: libv8.a SConstruct -> libv8.a} [08:15] festiz: Does anyone have any idea? [08:16] andrewff1 has joined the channel [08:17] clu3 has joined the channel [08:17] clu3_ has joined the channel [08:17] andrewff2 has joined the channel [08:18] shapeshed has joined the channel [08:19] zackattack has joined the channel [08:23] asabil has joined the channel [08:23] DrMcKay: festiz: Linux? [08:23] festiz: yes [08:23] festiz: centos linux [08:23] festiz: it's like a cross between redhat and suse [08:23] festiz: sortof [08:23] DrMcKay: i know :) [08:23] DrMcKay: I have Fedora, same happens here [08:24] bru_ has joined the channel [08:24] DrMcKay: open deps/v8/Sconstruct [08:24] DrMcKay: search for -Werror and delete it [08:24] chjj: i remember someone mentioning a problem with centos i little while ago [08:24] chjj: i think it was a problem with the python version [08:25] chjj: or maybe im not paying attention [08:26] festiz: DrMcKay: should that do it? cause I did that and it didn't work anyhow [08:27] DrMcKay: festiz: are you getting the same error? [08:27] festiz: DrMcKay: yup [08:27] DrMcKay: festiz: this line: https://github.com/mmalecki/node/blob/master/deps/v8/SConstruct#L291 [08:28] festiz: yes, but also deleted this instance of -Werror in https://github.com/mmalecki/node/blob/master/deps/v8/SConstruct#L385 [08:29] DrMcKay: I think this is irrevelant [08:29] festiz: added it again, but that didn't solve it [08:29] DrMcKay: try to delete -Wall [08:30] festiz: didn't work either.. [08:31] hellp has joined the channel [08:32] DrMcKay: wait, let me try that on a fresh checkout [08:32] xulien has joined the channel [08:33] mscdex: festiz: why not just create~/bin, put it in your path before anything else, and create a symlink ~/bin/python which points to `which python26` [08:33] mscdex: no need to modify the files [08:33] festiz: mscdex: good idea [08:36] DrMcKay: festiz: AFAIR, from yesterday node uses new version of V8 which does build without this error [08:36] festiz: okay [08:37] DrMcKay: but deleting '-Werror' worked for me on Fedora [08:37] festiz: how stable is that? [08:37] raphdg has joined the channel [08:37] DrMcKay: festiz: it passes tests [08:37] andrewvos has joined the channel [08:37] DrMcKay: let me run something on it [08:37] festiz: well, I guess thats good enough for what I'm doing [08:38] TomY has joined the channel [08:39] japj has joined the channel [08:39] hwinkel has joined the channel [08:40] seutje has joined the channel [08:41] hybsch has left the channel [08:41] Nuck has joined the channel [08:42] Nuck: Anyone here know a good async bcrypt lib? [08:43] Nuck: Everybody keeps yelling at me to use bcrypt instead of triple-salted SHA-2 [08:43] eevin has joined the channel [08:47] DrMcKay: Nuck: do you even sleep sometimes? [08:47] mscdex: you only need to remove -Werror if you're running gcc 4.6 [08:47] chjj: DrMcKay: hes up past his bedtime all the time [08:48] festiz: mscdex: so if I'm running gcc 4.1.2 that might be the issue? [08:48] Swizec has joined the channel [08:49] mscdex: festiz: i doubt it, if you've done the symlink instructions as i outlined and you're still having issues, gist the entire output [08:49] i42n has joined the channel [08:49] mike5w3c has joined the channel [08:49] mscdex: Nuck: https://github.com/ncb000gt/node.bcrypt.js [08:50] festiz: mscdex: I did the symlinking, [08:50] festiz: [stefan@dev36 node]$ ./configure && make [08:50] festiz: Checking for program g++ or c++ : /usr/lib64/ccache/g++ [08:50] festiz: Checking for program cpp : /usr/bin/cpp [08:50] festiz: Checking for program ar : /usr/bin/ar [08:50] festiz: Checking for program ranlib : /usr/bin/ranlib [08:50] festiz: Checking for g++ : ok [08:50] festiz: Checking for program gcc or cc : /usr/lib64/ccache/gcc [08:50] festiz: Checking for gcc : ok [08:50] festiz: Checking for library dl : yes [08:50] festiz: Checking for openssl : yes [08:50] festiz: Checking for library util : yes [08:50] festiz: Checking for library rt : yes [08:50] festiz: Checking for CLOCK_MONOTONIC : yes [08:50] festiz: Checking for fdatasync(2) with c++ : yes [08:50] festiz: 'configure' finished successfully (0.381s) [08:50] mscdex: nooo [08:50] mscdex: gist.github.com! [08:50] chjj: holy shit, irssi started building node [08:50] festiz: aahh [08:50] festiz: sy [08:50] Charuru has joined the channel [08:50] chjj: oh [08:50] mscdex: :) [08:50] wao: /exec ./configure && make? [08:50] festiz: sry [08:51] hybsch has joined the channel [08:51] cosmincx has joined the channel [08:52] stride: make install [08:52] festiz: mscdex: https://gist.github.com/1156370 [08:56] sylvinus has joined the channel [08:57] mscdex: festiz: what version of node? [08:57] festiz: git/master [08:58] festiz: but I get the same result on 0.5.4 [08:58] burningdog has joined the channel [08:58] hasta84 has joined the channel [09:00] jbpros has joined the channel [09:00] kulor-uk has joined the channel [09:00] mscdex: hrmm it compiles fine for me on my centos 5.6 vm [09:01] bzinger has joined the channel [09:01] festiz: weird [09:02] Nuck: mscdex: Thanks for that :D [09:02] zomgbie has joined the channel [09:03] festiz: mscdex: which version of gcc are you using? [09:04] Dreamer3 has joined the channel [09:04] mscdex: same as you [09:05] mscdex: festiz: what if you try checking out and building node v0.4.11? [09:07] industrial: Can I do a require of multiple files (glob)? Say I want to require everything in a directory .. and put it in an array [09:07] industrial: or an object by name would be better [09:08] festiz: mscdex: thanx, it builds a bit longer, but fails on the same file, accessors.o [09:09] Nuck: ugh [09:09] mscdex: festiz: i'm not sure what to tell you then :-\ [09:09] Nuck: I need to set a constant salt for the set_salt on bcrypt, right? [09:10] mscdex: industrial: fs.readdirSync('./require_dir').forEach(function(f) { require(f); }); [09:10] mscdex: industrial: something along those lines? [09:11] mscdex: industrial: put a check inside the foreach to check for .js first [09:11] squeese has joined the channel [09:12] tisba has joined the channel [09:12] mscdex: er ok: fs.readdirSync('./require_dir').forEach(function(f) { if (path.extname(f) == '.js') require('./require_dir/' + f); }); [09:12] mscdex: :-) [09:13] Nexxy: god damnit mscdex [09:13] mscdex: ? [09:13] chjj: goddammit [09:13] Nexxy: could you have pasted that like 3 minutes ago!? [09:13] Nexxy: ;/ [09:13] chjj: mscdex, why you always gotta do that! [09:13] Nexxy: ^ [09:13] Nexxy: srsly. [09:13] Nexxy: god. [09:13] mscdex: :S [09:15] chjj: i found mscdex on github [09:15] chjj: my life is complete [09:15] simenbrekken: industrial: fs.readdirSync('.').forEach(function(file) { if (~file.indexOf('.js')) require('./' + file); }); [09:15] Nexxy: you're still the devil [09:15] simenbrekken: oh, someone beat me to it [09:15] chjj: im the devil? [09:15] yokoe has joined the channel [09:16] Nexxy: chjj, my hypothesis is that if I assure you of it enough it will eventually become fact [09:16] johndahlstrom has joined the channel [09:16] chjj: ACTION is the devil [09:16] Nexxy: and that way it won't be me ;3 [09:17] chjj: i think i found nexxy on github [09:17] chjj: https://github.com/nexxy [09:17] industrial: right [09:18] chjj: only the devil would have no repos on github [09:18] Nexxy: chjj, lewl [09:18] Nexxy: I forgot I had that account! [09:18] chjj: ! [09:18] Nexxy: I go by my real name on github [09:18] Nexxy: but I still have no public repos [09:18] Nexxy: ;P [09:18] chjj: wth [09:18] Nexxy: oh god [09:19] Nexxy: why is krainboltgreene following me [09:19] chjj: wheres the real you [09:20] chjj: nevermind, i found it [09:20] Nexxy: oh I have 1 public repo [09:20] Nexxy: with nothing in it (yet) [09:20] chjj: glitterbox [09:20] Nexxy: shhh [09:21] hekkwan has joined the channel [09:23] Glenjamin: is ~indexOf common enough to be considered readable? [09:23] chjj: considered readable? [09:23] chjj: yeah, id say its very common [09:24] Glenjamin: well unless you know that ~(-1) == 0, it's a bit opaque [09:24] chjj: if people dont know what it is, thats their problem [09:24] Nexxy: I FOR ONE HAD NO CLUE [09:24] Glenjamin: which is my point [09:24] chjj: your problem [09:24] Nexxy: that's just what the devil would say [09:24] Glenjamin: == -1 is 4 more characters and more readable perhaps [09:25] chjj: i think using ~ is actually faster in v8 for some reason [09:25] chjj: dont ask me how i know [09:25] cjroebuck has joined the channel [09:25] Glenjamin: heh, microoptimisation [09:25] Glenjamin: bitwise operations on negative numbers seems a bit odd [09:25] chjj: i went insane when optimizing my selector engine [09:25] chjj: i benchmarked every line of code [09:26] chjj: and tried ~indexOf vs indexOf === -1 [09:26] chjj: i was expecting === -1 to actually be faster too [09:26] Fabryz has joined the channel [09:26] hekkwan_ has joined the channel [09:26] chjj: or !== -1 [09:26] chjj: i mean [09:27] Glenjamin: === probably wraps in an object and then compares [09:27] Glenjamin: maybe [09:27] Glenjamin: i dunno [09:27] chjj: v8 should be able to optimize it just as well, v8 is really good about optimizing "constants" [09:27] Glenjamin: mm [09:28] chjj: especially things like regexes, its actually faster to do `/regex/.test(str)` than it is to do `var r = /regex/; r.test(str);` [09:28] chjj: even if its multiple times, in a loop or something [09:28] chjj: v8 can recognize that its essentially being used as a constant and it doesnt have to instantiate a real object with mutable properties and whatnot [09:28] Glenjamin: surely if its a hot loop it'll get optimised better anyway [09:28] cclever has joined the channel [09:29] chjj: most people define regexes elsewhere and hold them in a var [09:29] chjj: thats not the best thing to do in v8 [09:29] prettyrobots has joined the channel [09:30] chjj: i think even shitty js engines like IE are pretty good about it [09:30] Glenjamin: well yes, but i suspect for a simple regex a state machine that gets optimised by the JIT might be faster [09:34] Dreamer3 has joined the channel [09:37] janne has joined the channel [09:37] robi42 has joined the channel [09:38] jbpros has joined the channel [09:39] sebastianedwards has joined the channel [09:39] matyr has joined the channel [09:39] zackattack_ has joined the channel [09:40] DrMcKay: Glenjamin: if you're looking for a fast regex engine, try re2 [09:40] chjj: DrMcKay: nah, we were just talking about nonsense [09:41] sveisvei_ has joined the channel [09:41] Glenjamin: heh, my point was that it's an optimisation I'm not going to try and do [09:41] sebastianedwards has joined the channel [09:41] Glenjamin: and for a similar reason, I like having my regexes at the top of the file :) [09:43] DrMcKay: chjj: ok, I just saw last message ;) [09:45] hekkwan has joined the channel [09:47] geoKe has joined the channel [09:48] versicolor has joined the channel [09:50] algopats has joined the channel [09:51] algopats has joined the channel [09:52] Shrink has joined the channel [09:53] matyr has joined the channel [09:54] jetienne_ has joined the channel [09:54] algopats: hi [09:55] blup has joined the channel [09:58] Fabryz: hello [09:59] simenbrekken has joined the channel [10:01] [[zz]] has joined the channel [10:01] kakamba has joined the channel [10:03] c-spencer has joined the channel [10:03] dexter_e has joined the channel [10:03] knolan has joined the channel [10:04] seutje has joined the channel [10:07] pdelgallego has joined the channel [10:07] andrewvos has joined the channel [10:10] hwinkel has joined the channel [10:11] ttpva_ has joined the channel [10:13] jamonkko has joined the channel [10:17] robhawkes has joined the channel [10:18] cjroebuck has joined the channel [10:18] shinuza has joined the channel [10:20] butu5 has joined the channel [10:22] framlin: does anyone know what is the problem in this case: npm ERR! Error: EINVAL, Invalid argument [10:22] framlin: npm ERR! at doConnect (net.js:555:5) [10:25] Twelve-60 has joined the channel [10:25] cclever has left the channel [10:29] chrisumbel has joined the channel [10:29] bzinger has joined the channel [10:32] fly-away has joined the channel [10:34] unlink has joined the channel [10:34] unlink has joined the channel [10:35] bzinger has joined the channel [10:39] sfoster has joined the channel [10:39] JakeyChan has left the channel [10:41] Raynos has joined the channel [10:41] Raynos: apart from connect & express [10:41] Raynos: what other frameworks are popular? [10:47] Fabryz: tried Meryl only once [10:48] Fabryz: and Grasshopper, looks this one is more updated [10:52] hekkwan_ has joined the channel [10:53] SebastianFlyte has joined the channel [10:53] zeissoctopus has joined the channel [10:53] blup: i found zappa refreshing.. [10:53] Neil has joined the channel [10:54] hekkwan has joined the channel [10:54] garrensmith has joined the channel [10:55] micheil has joined the channel [10:57] H4ns` has joined the channel [10:59] hekkwan has joined the channel [11:00] DrMcKay: any ideas for benchmarks of regex engines? some regular expressions and data sets? [11:00] DrMcKay: I want to write node.js bindings for re2, but I don't know if it makes sense [11:01] pandeiro has joined the channel [11:02] meso has joined the channel [11:02] cjroebuck has joined the channel [11:02] hekkwan_ has joined the channel [11:03] Raynos: meryl is dead [11:03] Raynos: Oh no, its just a dead link [11:05] Ginlock has joined the channel [11:06] hekkwan has joined the channel [11:06] hij1nx has joined the channel [11:07] matyr_ has joined the channel [11:10] Raynos: If someone uses global state, you shoot them right? [11:10] hekkwan_ has joined the channel [11:12] abraxas has joined the channel [11:12] hekkwan has joined the channel [11:13] blup: js greenpeace will shoot those who pollute the global environment, yes [11:13] delian66 has joined the channel [11:13] festiz: DrMcKay: I'v come a bit further now on centos [11:13] festiz: https://gist.github.com/1156587 [11:14] DrMcKay: festiz: seems like problem with shared libraries [11:14] Nexxy: blup, I think you mean, "annoy every variable with pamphlets and requests to 'save the stack' on their way to important method calls" [11:15] dmkbot has joined the channel [11:15] festiz: DrMcKay: Yeah, I caught as much, tried googling but found no real help [11:15] festiz: found this commit https://github.com/bnoordhuis/node/commit/61b6eb2438ecac9ebbcd31bffdad55a08005278a [11:15] DrMcKay: festiz: did you try compiling current master? [11:15] blup: yep, that's what i meant [11:16] festiz: no, but I tried 0.4.11, I can try master again after these newly installed packages. [11:16] DrMcKay: festiz: try master, seems like this warning issue is fixed [11:17] festiz: I'm downloading it again [11:17] matomesc has joined the channel [11:17] hekkwan_ has joined the channel [11:18] infynyxx has joined the channel [11:18] festiz: it still fails on scons: *** [obj/release/accessors.o] Error 1 [11:19] DrMcKay: festiz: what message? (gist, please) [11:20] franck34: hi, i'm trying to read streaming chunked data from a https url. "request" npm module doesn't have a "ondata" handler, do you know any other module so i can get each new chunk when it com , [11:21] franck34: ho [11:21] franck34: i'm stupid [11:21] festiz: DrMcKay: https://gist.github.com/1156602 [11:22] DrMcKay: ccache -C maybe? [11:22] DrMcKay: no, it doesn't make sens [11:23] andrewvos has joined the channel [11:23] DrMcKay: festiz: it's really weird [11:23] hekkwan has joined the channel [11:24] davidbanham has joined the channel [11:25] eee_c has joined the channel [11:25] DrMcKay: festiz: try compiling it with different compiler [11:25] festiz: how? [11:25] DrMcKay: like clang, you should have it in your repos [11:25] DrMcKay: export CC=clang [11:25] DrMcKay: export CXX=clang++ [11:27] DrMcKay: but I think you should report it as an issue [11:27] EyePulp has joined the channel [11:27] festiz: weirdest thing is that mscdx couldn't reproduce it [11:27] hekkwan_ has joined the channel [11:27] mehtryx has joined the channel [11:28] DrMcKay: festiz: he's on CentOS as well? [11:28] festiz: yeah, at least that's what he said [11:28] DrMcKay: well, I can't reproduce it on my Fedora as well [11:29] AvianFlu has joined the channel [11:29] DrMcKay: I mean, you're using gcc and things from repos, right? [11:29] festiz: yeah [11:29] festiz: Installed Packages [11:29] festiz: Name : gcc [11:29] festiz: Arch : x86_64 [11:29] festiz: Version : 4.1.2 [11:29] festiz: Release : 48.el5 [11:31] DrMcKay: festiz: is 4.1 the newest one in CentOS repos? [11:31] festiz: yep [11:31] festiz: there is a 50.el5 release, just updated to it [11:32] festiz: but, no difference [11:33] DrMcKay: try reporting it and mark it with build tag [11:35] Kingdutch has joined the channel [11:35] hekkwan has joined the channel [11:36] cjroebuck has joined the channel [11:38] Kingdutch: Hi everyone, I'm trying to watch a directory for new files with node and I've found node-inotify although that seems outdated (Can't get it installed either). However I've just noticed fs.watchFile, can this do what I want (and how taxing will it be CPU wise since the program will be running 24/7 but only ocassionally get fed new files to act upon) [11:39] ph^ has joined the channel [11:40] Ratty_: I'm trying to setup a private npm registry but when I use it I get a huge error which starts like this: http://pastie.org/2396302 [11:40] japj: I think cpu usage depends on the platform you're running node on [11:40] Ratty_: I can't even paste the full error message because it's over 64KB [11:40] mehlah has joined the channel [11:41] japj: Ratty_: is that couchdb output or npm output in the pastie? [11:41] festiz: DrMcKay: https://github.com/joyent/node/issues/1558 I cant seem to add the label. [11:41] Ratty_: looks like couchdb but it's returned by npm [11:41] DrMcKay: festiz: maybe only collaborators can add labels? [11:42] festiz: maybe so [11:42] japj: Kingdutch: watchFile is implemented differently on the different platforms, so cpu usage depends on what platform you're running on [11:42] Kingdutch: That'd be linux [11:42] ranjibd has joined the channel [11:42] Ratty_: I've never used couchdb before. Doesn't seem so great so far. [11:42] Kingdutch: Ratty_: Paste the error to pastebin and give us the link : ) [11:42] hekkwan has joined the channel [11:42] Kingdutch: But japj can I use fs.watchFile to watch a directory for new files? [11:43] Ratty_: People hate pastebin [11:43] DrMcKay: !doc link fs#watchFile [11:43] dmkbot: http://nodejs.org/docs/latest/api/fs.html#fs.watchFile [11:43] Ratty_: Kingdutch: Here you go: http://pastebin.com/Ni2QuZU4 [11:44] DrMcKay: it says filename [11:44] Ratty_: Longest error in the history of errors [11:44] Kingdutch: I'm not familiar with the error sorry and pastebin beats a chat flood [11:44] tisba_ has joined the channel [11:44] Kingdutch: DrMcKay: I found the docs yeh, was hoping the filename could be a directory though =/ [11:45] DrMcKay: Kingdutch: did you try? [11:45] ranjibd has joined the channel [11:45] fairwinds has joined the channel [11:45] japj: watchFile doesnt do directory watching as far as I know, there is a ticket to add support to libuv though https://github.com/joyent/libuv/issues/68 [11:46] matyr has joined the channel [11:47] Kingdutch: Not yet trying now [11:47] japj: Ratty_: it might be good to ask in the #couchdb channel or try to ask isaacs when he is online [11:48] japj has left the channel [11:48] japj has joined the channel [11:48] Ratty_: I'll try an older couchdb [11:49] DrMcKay: what are good datasets and regexes to benchmark regex engine? [11:49] piscisaureus has joined the channel [11:49] DrMcKay: I want to test all the features [11:50] hekkwan has joined the channel [11:50] brianseeders has joined the channel [11:51] fyskij has joined the channel [11:53] Kingdutch: I can't run node as root when using nvm >.> [11:54] matyr has joined the channel [11:54] Kingdutch: And I need to run a program as root so I can set the gid to a specific group for file access [11:54] Kingdutch: *sigh*( [11:54] brolin has joined the channel [11:54] jetienne: is there a knockout logo ? [11:55] jetienne: KO it will be :) [11:56] __doc__ has joined the channel [11:57] Kingdutch: Is it bad practice to wrap my program in a try catch () { log(err) } because a crashing program is unhelpful [11:58] AvianFlu: you'd be way better off doing process.on('uncaughtException', fn () {} ) [11:59] AvianFlu: you should only use try/catch in places where you're forced to expect an error from a synchronous call, i.e. JSON.parse() [12:00] jomoho has joined the channel [12:01] Marak: http://blog.nodejitsu.com/top-node-module-creators [12:01] Marak: woot [12:02] tbranyen: http://30.media.tumblr.com/tumblr_lkome0pZQf1qz4vjio1_500.jpg [12:02] tbranyen: god i love that image [12:02] Marak: tbranyen: which one is you [12:02] hwinkel has joined the channel [12:03] tbranyen: the spraying himself in the face [12:03] tbranyen: reminds me of college if you know what i mean [12:03] luke` has joined the channel [12:03] Marak: tbranyen: i dropped out of college to get paid [12:04] Marak: if you know what i mean! [12:05] tbranyen: yeah i wish i did that [12:05] tbranyen: sitting on 60k of student loans right now [12:05] tbranyen: fawwwwkkkk [12:05] tbranyen: actually its probably not that bad anymore [12:06] ranjibd has joined the channel [12:08] tbranyen: If you feel you are being "forced" to use a project, perhaps you should re-evaluate the life decisions which brought you to this point. [12:08] tbranyen: hahahha [12:08] tbranyen: Marak: awesome post btw [12:09] DrMcKay has joined the channel [12:09] Renegade001 has joined the channel [12:09] beawesomeinstead has joined the channel [12:09] Marak: tbranyen: thank you i fix the typos now [12:09] Marak: with help from internet friend [12:09] framlin has joined the channel [12:09] markwubben has joined the channel [12:09] DrMcKay: ACTION doesn't understand xmonad's behaviour with multi-head setup [12:09] mrtazz_ has joined the channel [12:09] tbranyen: woot [12:10] jbpros has joined the channel [12:10] JP- has joined the channel [12:10] jakob has joined the channel [12:10] jMCg has joined the channel [12:10] Will| has joined the channel [12:11] Shrink has joined the channel [12:13] dexter_e has joined the channel [12:13] bzinger has joined the channel [12:14] narayan82 has joined the channel [12:14] luke` has joined the channel [12:18] JasonSmith has joined the channel [12:19] andrewfff has joined the channel [12:19] dexter_e has joined the channel [12:21] dexter_e_ has joined the channel [12:21] S1r10n has joined the channel [12:21] ttpva has joined the channel [12:22] hekkwan has joined the channel [12:22] okuryu has joined the channel [12:23] prettyrobots has joined the channel [12:23] Vertice has joined the channel [12:23] mendel_ has joined the channel [12:24] Yoric has joined the channel [12:25] bru_ has joined the channel [12:27] luke` has joined the channel [12:27] necrodearia has joined the channel [12:28] hybsch has joined the channel [12:29] dexter_e has joined the channel [12:31] SoulRaven has joined the channel [12:32] Kingdutch: Does Node support Date.now()? [12:32] dexter_e_ has joined the channel [12:32] hybsch: yes [12:33] Kingdutch: : ) [12:33] albertosheinfeld has joined the channel [12:33] maushu has joined the channel [12:34] AvianFlu: Kingdutch: node has full ES5 support [12:34] akshatj has joined the channel [12:34] AvianFlu: so most of that stuff, it's a yes [12:35] Guest8043 has joined the channel [12:35] Kingdutch: Aah ok [12:35] Kingdutch: Good to know : ) [12:35] depywork: Any1 using YUI as view layer for Node? [12:35] andrewvos has joined the channel [12:36] DrMcKay: v8bot_: Date.now() [12:36] butu5 has joined the channel [12:36] DrMcKay: butu5: idea for a bot module: github issues reporting [12:37] DrMcKay: at least, Nuck wanted it [12:37] butu5: sure I am itnerested [12:37] japj: issue reporting or searching? [12:37] butu5: I am currently playing with irc codebase only :) interested to create some short of minmal client so that I can access on my iphone [12:38] xtianw has joined the channel [12:38] DrMcKay: butu5: node on iPhone? [12:38] butu5: generic authentication to github?? [12:38] butu5: simply a webbased ... [12:38] DrMcKay: butu5: oh, ok. http://develop.github.com/p/general.html [12:39] butu5: not native iphone app... socket.io and web based but should be optimize for the mobile [12:39] DrMcKay: seems to support HTTP Basic Auth and auth [12:39] japj: github limits requests to API v3 to 5000 per day. This is keyed off either your login, or your request IP. [12:39] arthurdebert has joined the channel [12:39] Glenjamin has joined the channel [12:40] DrMcKay: japj: we will fetch, say, every 5 minutes [12:40] butu5: okay.. just wondering authenticatin will be based on bot only [12:40] DrMcKay: should be enough [12:40] butu5: not who railsed the issue [12:40] Neil has joined the channel [12:40] hdon- has joined the channel [12:40] DrMcKay: butu5: issues don't need authorization [12:41] japj: DrMcKay: I asked a support question earlier today to check if it is possible to have a (couchdb) mirror of the issue data (i.e. with a changes feed or something like that) [12:41] Glenjamin: does the API support conditional GET? [12:41] butu5: anybody can create issue? without autho... I ll check.. [12:41] DrMcKay: butu5: no, we can only fetch issues [12:41] DrMcKay: without auth [12:42] mendel_ has joined the channel [12:42] misterm has joined the channel [12:42] DrMcKay: https://github.com/api/v2/json/issues/list/joyent/node/open (attention, it's over 0,5 MB) [12:42] Glenjamin: there's a since parameter [12:42] butu5: ohh.. got it.. sorry confused with issue submission (that's what I tot issue reporting) [12:42] Glenjamin: http://developer.github.com/v3/issues/ [12:42] DrMcKay: Glenjamin: it should do it's job :) [12:43] DrMcKay: butu5: no, we only want them to be reported here, on IRC [12:43] butu5: ok cool.. I will start work on it... today I stumble upon one good library node-github [12:43] butu5: tot to play with that as well... [12:44] DrMcKay: I think I will need to write something to call modules with some timeout [12:44] japj: https://github.com/github/github-services/issues/129 (Hooks for issue changes) [12:44] DrMcKay: !doc link timer#setInterval [12:44] dmkbot: http://nodejs.org/docs/latest/api/timer.html#timer.setInterval [12:45] DrMcKay: no, it was timers [12:45] DrMcKay: japj: they don't care, I think [12:45] butu5: DrMcKay: hey I am having hard time configuring ngircd on mac... ubuntu it went great! [12:46] butu5: ohh u said u r running fedora right [12:46] DrMcKay: butu5: try running it with -n parameter [12:46] butu5: I did [12:46] DrMcKay: it failed? [12:47] butu5: irc server able to start.. I can able to login through irssi also and posting msg all works [12:47] butu5: but while connecting from the node-irc it keeps on retrying [12:47] butu5: giving user name not registered error .. then keep on retrying with diffrent user names [12:48] butu5: and fainally throwing error.. max count reached or something like taht... don't know [12:48] butu5: ubuntu same setup same code base working gr8 [12:48] DrMcKay: server reports some errors or something? [12:48] bradleymeck has joined the channel [12:49] butu5: nope [12:49] butu5: now I am not infront of mac.. so can't remember the exact error now [12:49] butu5: https://github.com/butu5/node-irc4mobile/blob/master/index.coffee [12:49] Glenjamin: user name not registered sounds like the server giving you an error [12:49] thomblake has joined the channel [12:50] butu5: this piece of code working really gr8 on ubuntu.. same code cloned on mac.. throwing error [12:51] DrMcKay: butu5: have you tried running it as a daemon? [12:51] thomblake has left the channel [12:51] butu5: yes I did.. with ngircd -n so that I can see all the debug msg [12:51] butu5: also gave debug:true on client [12:52] butu5: now not remembering the error on top of my head.. if you were online in couple of more hr I will probably tell u the error [12:52] agnat_ has joined the channel [12:52] DrMcKay: butu5: I will [12:52] butu5: DrMcKay: thanks.. [12:53] butu5: about the github issue reporting.. u started working? or I will start fresh? [12:53] butu5: I can work on dmkbot... fork [12:54] DrMcKay: butu5: I'm writing some code for intervals [12:54] DrMcKay: give me a minute, I'll call a callback when I'm done [12:54] butu5: ok [12:54] butu5: okay [12:55] butu5: Glenjamin: I have setup ngircd server on ubuntu.. and when trying to connect from my local system not able to join the channel [12:56] butu5: any additional setup required/ [12:56] DrMcKay: butu5: are you running it as a root? [12:56] SamuraiJack_ has joined the channel [12:56] butu5: yes [12:57] Glenjamin: is it not connecting to the server, or not being denied by the server? [12:57] AvianFlu: butu5 if you're getting "cannot join channel" errors from the ircd it's a command syntax thing [12:58] AaronMT has joined the channel [12:58] robi42 has joined the channel [12:58] butu5: saying connection established [12:58] jetienne_ has joined the channel [12:59] butu5: then when I am trying /join #node.js [12:59] butu5: not connected to server [12:59] butu5: I am able to join that channel using the local irssi [12:59] butu5: not from my desktop [12:59] AvianFlu: are you waiting for the motd to complete? [12:59] festiz has left the channel [13:00] EyePulp has joined the channel [13:00] butu5: just now did everying.. there is no more msg coming up on the client box [13:01] matyr_ has joined the channel [13:01] DrMcKay has joined the channel [13:01] tbassett has joined the channel [13:01] butu5: AvianFlu: motd is completing fine in server irssi.. but no more progress or anything from client one [13:02] AvianFlu: okay, you need to add a 'motd' listener to check for the motd [13:03] AvianFlu: you should also run debug: true until you know what's going on [13:03] AvianFlu: you get a lot of useful output from that [13:04] butu5: oh okay thanks!! (I need to spend more time on ircd setup then I initially tot ).. will spent some time on this [13:04] DrMcKay: ok, I've got callback figured out, I'll push it in a second [13:04] FireFly|n900 has joined the channel [13:05] mehtryx has joined the channel [13:05] DrMcKay: s/callback/intervals/ [13:05] edude03 has joined the channel [13:06] DrMcKay: no, there's a better way I think [13:07] AvianFlu: DrMcKay: what are you trying to do? [13:07] DrMcKay: write something to let modules do some actions on intervals [13:08] AvianFlu: like a cron? [13:08] DrMcKay: I've already done that [13:08] AvianFlu: or like setInterval type intervals [13:08] DrMcKay: setInterval [13:08] DrMcKay: I was just thinking how to tell a module which irc channel is he on [13:08] AvianFlu: how's it different from the global we already have? [13:08] DrMcKay: and I figured out I don't have to :) [13:08] Glenjamin: you tell the hook, no? [13:08] Marak: felixhummel is not felixg? [13:09] xandrews has joined the channel [13:09] Marak: DrMcKay: dont use internval for that [13:09] butu5: DrMcKay: u pushed the thing? [13:09] DrMcKay: Marak: why? [13:09] tnlogy has joined the channel [13:09] DrMcKay: butu5: not yet, testing [13:09] Marak: DrMcKay: just more problems [13:09] Marak: using the event loop and nextTick() and new Date().getTime() [13:09] Marak: way more efficient [13:09] fangel has joined the channel [13:09] Marak: not going to leak at all [13:09] Marak: way more precise [13:09] Marak: timers suck [13:09] Marak: lol [13:10] Marak: use them only for UI [13:10] Glenjamin: really? [13:10] Marak: thats my current thoughts [13:10] bnoordhuis has joined the channel [13:10] Marak: and ive done some fairly high precision timer stuff with JSONloops [13:10] Marak: and tmpvar [13:10] Marak: hes pretty smart i think [13:10] Glenjamin: in that case, implementing setInterval in JS using that approach would be better then? [13:10] AvianFlu: definitely [13:11] luke` has joined the channel [13:11] AvianFlu: because you're not pretending that JS always knows the length of a second [13:11] DrMcKay: that's FIXLATER for now ;) [13:11] Marak: i have no idea how v8 handles timers [13:12] DrMcKay: butu5: pushed [13:13] butu5: ok checking.. [13:13] DrMcKay: brb, I will write some docs or an example [13:14] AvianFlu: I trust checking the system time, I don't trust that one thread of JS isn't off by a few ms every tick [13:14] AvianFlu: that's how I'd look at that [13:15] amasad has joined the channel [13:16] zemanel has joined the channel [13:17] Masn has joined the channel [13:17] Masn has joined the channel [13:18] tnlogy: hi, I'm using chrome 15.0.854.0 dev, seems like socket.io isn't working with it using websockets. is that a known bug? [13:18] ts__ has joined the channel [13:19] colinclark has joined the channel [13:20] xtianw: tnlogy: Are web sockets working with other browsers? [13:21] tnlogy: yes, seems to be working with safari and firefox [13:22] tnlogy: but for chrome the server says "warn - websocket connection invalid" [13:22] Poetro has joined the channel [13:22] Poetro has joined the channel [13:22] slifty has joined the channel [13:23] xtianw: tnlogy: https://github.com/LearnBoost/socket.io/issues/429 [13:23] xtianw: Looks like it'll be fixed in the next release [13:23] tnlogy: ah, that seems to be the problem. seems like it takes about 10 seconds before the requests start coming with the backup transport [13:24] tnlogy: ok, then i'll look forward to the next release :) [13:25] hasta84_ has joined the channel [13:28] k1ttty has joined the channel [13:29] ksheurs has joined the channel [13:30] Aikar: wonder when next release of socket.io is.. Firefox 6 appears its also updated to hybi as its falling back to XHR for me (yes i have security override enabled) [13:30] davidwalsh has joined the channel [13:31] zeissoctopus has joined the channel [13:32] ksheurs has joined the channel [13:32] replore_ has joined the channel [13:32] replore has joined the channel [13:33] tnlogy: seems like socket.io depends on html? just tried it with a small svg file [13:34] tnlogy: or might be some other thing on my side.. [13:34] Destos has joined the channel [13:35] weezle has joined the channel [13:35] pjacobs has joined the channel [13:36] Aikar: hybi looks alot simpler to implement than draft 76.... that whole 8 byte ending shit was annoying [13:36] Sazpaimon_ has joined the channel [13:37] mehlah has joined the channel [13:38] DrMcKay: Marak: are those intervals an important issue for a IRC bot? [13:38] jtrudeau has joined the channel [13:38] Marak: DrMcKay: i dont do well with ambiguity [13:39] dob_ has joined the channel [13:39] DrMcKay: Well, nor do I. But how big can the drift be? [13:39] Glenjamin: i don't think it requires ms accurate timing anyway [13:40] DrMcKay: does the documentation mention it? [13:40] DrMcKay: !doc link timers#setInterval [13:40] DrMcKay: !ping [13:40] kevwil has joined the channel [13:41] DrMcKay: wth? [13:41] dmkbot has joined the channel [13:41] yhahn has joined the channel [13:41] DrMcKay: it seems that he gets disconnected sometimes [13:41] DrMcKay: !ping [13:41] dmkbot: DrMcKay, pong [13:41] DrMcKay: !doc link timers#setInterval [13:41] dmkbot: http://nodejs.org/docs/latest/api/timers.html#timers.setInterval [13:41] Marak: !insult dmkbot [13:42] Marak: !insult dmkbot [13:42] Marak: odd [13:42] DrMcKay: dmkbot-- [13:42] v8bot_: DrMcKay has taken a beer from dmkbot. dmkbot now has -1 beers. [13:43] DrMcKay: I'm sure he won't drink anything now [13:43] copongcopong has joined the channel [13:43] pjacobs has joined the channel [13:43] DrMcKay: btw, can I make this beers overflow? [13:44] dguttman has joined the channel [13:44] luke` has joined the channel [13:45] seivan has joined the channel [13:46] MarkMenard has joined the channel [13:46] bradleymeck has joined the channel [13:46] soapyillusions has joined the channel [13:46] matyr has joined the channel [13:46] shinuza has joined the channel [13:47] arthurdebert has joined the channel [13:48] DrMcKay: hmm... I could make him ssh into my box and say something when someone mentions me... [13:49] willwhite has joined the channel [13:51] pifantastic has joined the channel [13:52] soapyillusions: I have a persistent connection open with a host (through an HTTP 'keep-alive') and I am trying to POST data to that same host…. but the POST request seems to simply hang… no error emitted and the callback is never called [13:52] bnoordhuis: soapyillusions: gist? [13:52] soapyillusions: bnoordhuis sure one sec [13:52] MarkMenard has joined the channel [13:53] den512 has joined the channel [13:53] Glenjamin: is it possible its just the server timing out? [13:54] voodootikigod has joined the channel [13:55] soapyillusions: bnoordhuis https://gist.github.com/1156847 [13:55] junkee[] has joined the channel [13:55] soapyillusions: Glenjamin the server (also in node) never seems to get the request [13:55] soapyillusions: Glenjamin connect logs no connection [13:56] loob2 has joined the channel [13:57] JAAulde has joined the channel [13:59] vikstrous has joined the channel [13:59] JAAulde: I have node installed via homebrew at /usr/local/bin/node, and I installed jshint module via npm to /usr/local/lib/node_modules/jshint. I am now working on a textmate command which should take the current script and pass it to JSHint, but I cannot figure out the proper way to resolve the path to the jshint module. [13:59] hasenj has joined the channel [14:00] JAAulde: I really want to use JSHint as provided by the npm module rather than provide a copy of JSHint in my tmbundle [14:00] Glenjamin: JAAulde: export NODE_PATH=/usr/local/lib/node_modules [14:00] junkee[]: bnoordhuis: ping? [14:01] Glenjamin: JAAulde: there's a note to add it manually if you do `brew info node` [14:01] bnoordhuis: soapyillusions: this.getHttpOptions <- missing from the gist [14:01] bnoordhuis: junkee[]: pong [14:01] pietern has joined the channel [14:01] JAAulde: Glenjamin: thank you. Is there a more dynamic way in case someone has node installed somewhere (and, I assume, would cause npm node_modules to be somewhere else) [14:02] Glenjamin: its the repsonsibility of whoever installed npm to make sure that the lib dir is on the node path imo [14:02] matyr has joined the channel [14:02] JAAulde: Glenjamin: ok, makes sense. I appreciate it! That export should go in my .bash_profile, I assume? (and anything else which sets env vars for a process?) [14:03] soapyillusions: bnoordhuis https://gist.github.com/1156847 went ahead and added that [14:03] Glenjamin: you might need to put it somewhere in the OS X loading process to get textmate to know about it when loaded via the dock [14:03] den512: hi, can some please suggest me a substantial and (most important) reliable library for logging (to a file) in node? it should at least support the usual stuff like timestamps, log levels, ... log4js looks promising so far. anyone has experience with it? [14:03] Glenjamin: JAAulde: http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x [14:03] fangel has joined the channel [14:03] Yuffster has joined the channel [14:04] junkee[]: bnoordhuis: hi. I only want to ask you to build node-gstreamer again. It seems like it's only compiling on my system :/ would be really cool if you would help me [14:04] JAAulde: Glenjamin: ok, I know how to get it into textmate's--they have an advanced preferences area which lets you modify shell vars [14:04] Glenjamin: on snow leopard it's ~/.profile iirc [14:04] JAAulde: Glenjamin: thanks very much, super helpful! [14:04] bnoordhuis: soapyillusions: Arachne.prototype.incrementSub doesn't call req.end() [14:04] bnoordhuis: junkee[]: sure but later today [14:05] junkee[]: bnoordhuis: thanks! [14:05] soapyillusions has joined the channel [14:06] Sembiance: node-gstreamer.... interesting [14:06] progme has joined the channel [14:06] soapyillusions: bnoordhuis damn, i always forget that (as I most often use http.get() ) [14:06] blup: anyone using enderjs? if it augments the '$', how does it handle namespacing/clashes? [14:08] blup: nevermind, its explained in their site... [14:09] wmage has joined the channel [14:09] jtsnow has joined the channel [14:09] JAAulde: Thanks again, Glenjamin. Peace! [14:09] JAAulde has left the channel [14:09] wmage: Is there currently any way to get SSL WebSocket server? [14:11] sivy has joined the channel [14:11] luke`_ has joined the channel [14:12] DrMcKay: wmage: https://github.com/nodejitsu/node-http-proxy [14:12] Vertice has joined the channel [14:12] DrMcKay: wmage: wss:// thing [14:13] wmage: I'm looking at this: https://github.com/jezzadebate/node-websocket-server/commit/ade290076124af3ed713ca3c0f27fb487bcd7376 seems like this adds support for encrypted websockets. [14:13] wmage: I believe I don't need a proxy [14:13] wmage: but thanks, maybe I'll have to use that [14:14] ryanfitz has joined the channel [14:14] zackattack has joined the channel [14:16] brianc has joined the channel [14:17] eee_c has joined the channel [14:17] Wizek has joined the channel [14:17] Kingdutch: If I have a multiple instances of a structure of { a, b, c, d } where for some instances { a, b } could be the same as { a, b } of another instance how can I get a structure where I have { a, b, e } where { a, b } is unique accross my instances and { e } contains instances of { c, d } from the various { a, b, c, d } structures. [14:18] cognominal: Apparently it is possible to use xcode again with node.js. Anyone knows how? [14:18] Kingdutch: If that's understandable [14:18] Raynos has left the channel [14:19] CStumph has joined the channel [14:19] Glenjamin: Kingdutch: for example: [ [1,2,3,4], [1,2,5,6] ] => [ [1,2], [3, 4, 5, 6] ] [14:19] Kingdutch: sorta [14:20] kenperkins has joined the channel [14:20] Glenjamin: expressing it in terms of expected inputs and outputs probably helps [14:20] Kingdutch: but the [ 3, 4, 5, 6 ] would live under 7 in [1, 2] [14:20] Kingdutch: Well [14:20] Kingdutch: It's quite a big object [14:20] Kingdutch: lemme get out pastebin [14:20] Glenjamin: bonus points for providing a failing unit test :p [14:22] pietern has joined the channel [14:22] Kingdutch: http://pastebin.com/p5Pnw1YE [14:23] dexter_e has joined the channel [14:23] Kingdutch: That's a simplified version of the structure [14:23] Kingdutch: The real structure has more data about the articles and the order so it's tedious if I were to hardcode every field name [14:24] Kingdutch: I'm looking to use the order_id to check if it's the same, if it's a first, create the new structure, otherwise only extract and append the article data [14:24] arpunk has joined the channel [14:24] Poetro_ has joined the channel [14:25] jamesp has joined the channel [14:26] aelien27 has joined the channel [14:26] Kingdutch: Glenjamin: if you want the entire structure included: http://pastebin.com/tWFMRjuu [14:26] Glenjamin: could you work on an object keyed by order_id ? [14:27] eee_c has joined the channel [14:27] Kingdutch: Euh the initial structure I get is an object of the headers -> values [14:27] jamesp has joined the channel [14:27] Kingdutch: (I'm reading in a CSV file) [14:28] Kingdutch: The resulting object would be keyed by order_id yes [14:28] jtsnow has joined the channel [14:28] Kingdutch: So to detect if you have the order data isn't very difficult [14:28] Kingdutch: It's extracting everything except article data or just the article data that is [14:29] Kingdutch: if (done[order_id] not found) { read everything up to date_timestamp and use as order data } [14:29] Kingdutch: read everything after date_timestamp and use as article data for done[order_id] [14:30] Kingdutch: That would be it in plain text basically and sorry for talking so much, trying to convey a thought isn't my strongest point [14:30] Guest8043 has left the channel [14:30] sub_pop has joined the channel [14:30] Kingdutch: Might've just thought of something, hold on [14:32] JJMalina has joined the channel [14:33] ceej has joined the channel [14:33] pizthewiz has joined the channel [14:35] DrMcKay: would there be interest in something like timeit module in Python, but for node? [14:35] tnlogy has joined the channel [14:35] fcambus has joined the channel [14:38] robertfw has joined the channel [14:39] Margle has joined the channel [14:40] bradleymeck: drmckay, console.time/timeEnd [14:40] DrMcKay: !doc link console#time [14:40] dmkbot: http://nodejs.org/docs/latest/api/console.html#console.time [14:41] DrMcKay: bradleymeck: I can't find an API for console [14:41] er1c_ has joined the channel [14:41] bradleymeck: its on the website [14:41] DrMcKay: oh, got it [14:41] DrMcKay: under globals [14:42] fumanchu182 has joined the channel [14:42] DrMcKay: bradleymeck: thanks, that's what I was thinking about [14:43] bradleymeck: if you want to do complex timing for fps limiting etc just subtract dates, since you might have name colision eventually [14:44] DrMcKay: bradleymeck: I wasn't thinking about something specific, just a console utility [14:44] DrMcKay: but I'll keep that in mind [14:45] anoop has joined the channel [14:45] butu5 has joined the channel [14:46] patrickgamer has joined the channel [14:46] ekryski has joined the channel [14:46] patrickgamer has left the channel [14:47] fatjonny has joined the channel [14:47] ryanallenbobcat has joined the channel [14:47] metamind: does the jade template have access to the "req" object in express? [14:48] ryanallenbobcat has left the channel [14:49] heythisisdave has joined the channel [14:49] SoulRaven has joined the channel [14:49] SoulRaven has joined the channel [14:49] SoulRaven has joined the channel [14:50] SoulRaven has joined the channel [14:50] SoulRaven has joined the channel [14:50] SoulRaven has joined the channel [14:50] SoulRaven has joined the channel [14:50] SoulRaven has joined the channel [14:51] springmeyer has joined the channel [14:52] amasad has joined the channel [14:52] seivan has joined the channel [14:53] pjacobs has joined the channel [14:53] Kingdutch: Glenjamin: I figured something out of about 30 lines of code : ) [14:53] jamesp has joined the channel [14:53] Kingdutch: I do rely on the fact that the object stays in order I added stuff in [14:56] aheckmann has joined the channel [14:58] gazumps has joined the channel [15:00] clifton has joined the channel [15:02] scott_gonzalez has joined the channel [15:03] eazyigz has joined the channel [15:04] softdrink has joined the channel [15:04] cclafferty has joined the channel [15:04] eazyigz: does anybody know how to update a document with node-mongodb-native? My code outputs that it was updated, but when I check the DB it ISN'T updated! http://pastie.org/2397068 [15:04] RORgasm has joined the channel [15:05] thinkt4nk has joined the channel [15:05] tnlogy has joined the channel [15:06] hydrozen has joined the channel [15:07] seivan has joined the channel [15:08] geetarista has joined the channel [15:08] gde33 has joined the channel [15:09] aoberoi has joined the channel [15:09] Renegade001 has joined the channel [15:09] Sembiance: eazyigz: I use node-mongodb-native, but I'm currently at work, not at home where the code is. A cursory glance at your pastie looks ok. Are you sure the {id} query is the right one? Have you tried a simple test app that just inserts, gets, prints, updates, gets, prints? [15:10] mynyml has joined the channel [15:10] [[zz]] has joined the channel [15:11] eazyigz: Sembiance: well that _id definitely exists in the collection. I have used find() and that works. But I have not set up a separate test app for this... [15:11] dexter_e has joined the channel [15:12] eazyigz: Sembiance: there seems to be a bug, because when I pass a random number as _id, it still echoes that it updated the record! [15:13] Glenjamin: that's not a bug [15:13] SamuraiJack__ has joined the channel [15:13] Glenjamin: by default mongo doesn't confirm that updates/inserts are successful [15:13] Glenjamin: if you want a "safe" operation, you have to ask for it [15:14] eazyigz: Glenjamin: then what are my options here? [15:15] Glenjamin: depends on how the driver works [15:15] eazyigz: Glenjamin: I just want to update a record, shouldn't that be possible? [15:15] Glenjamin: http://www.mongodb.org/display/DOCS/Updating#Updating-CheckingtheOutcomeofanUpdateRequest [15:15] den512 has left the channel [15:16] Glenjamin: whatever mongo driver your using should have some discussion about how to check the return value of update/insert [15:17] bshumate has joined the channel [15:17] bshumate has joined the channel [15:17] fumanchu182 has joined the channel [15:19] Sembiance: Glenjamin: I looked at his pastie, he has safe:true [15:19] cjm has joined the channel [15:19] Glenjamin: oh [15:19] fatjonny: with that driver it should be dbConnection.lastError(), but he does have safe:true which should make it unecessary. [15:20] Glenjamin: can you perform the update using the mongo console? [15:22] fairwinds: anyone else having trouble getting anyhing from npm. It is has had hung seriously a couple of times today [15:22] fumanchu182 has joined the channel [15:22] DrMcKay: fairwinds: which version? [15:23] DrMcKay: !up? registry.npmjs.org [15:23] dmkbot: DrMcKay, host up (status code: 200) [15:23] elpinguino has joined the channel [15:23] jakehow has joined the channel [15:23] jakehow_ has joined the channel [15:23] fairwinds: DrMcKay: am using 1.0.15. Yeah, it is up but response has been poor a few times today [15:24] eazyigz has joined the channel [15:24] meso has joined the channel [15:24] DrMcKay: 1.0.15? can you upgrade it? [15:24] isaacs has joined the channel [15:24] DrMcKay: latest one is 1.0.25 and I strongly recommend it [15:25] smus has joined the channel [15:26] Margle has joined the channel [15:26] fairwinds: DrMcKay: sure can upgrade, np but was just wondering whether other experienced this sort of latency [15:26] heythisisdave has joined the channel [15:27] fairwinds: s/ other others [15:27] enzo has joined the channel [15:27] enzo: hello [15:27] DrMcKay: fairwinds: yes, there's even an issue report [15:27] DrMcKay: fairwinds: it was because of incompatible node.js http library [15:27] enzo: do you know if I could apply some filters on images with node.js ? [15:28] enzo: I'd like in fact to shade (add HSL values) to images [15:28] DrMcKay: fairwinds: https://github.com/isaacs/npm/issues/1198 [15:28] fairwinds: DrMcKay: super, thanks [15:28] DrMcKay: fairwinds: :) [15:29] stagas: enzo: there's a gm module http://aheckmann.github.com/gm/ [15:30] enzo: interesting stagas thanks [15:31] materialdesigner has joined the channel [15:31] sourcode has joined the channel [15:32] joshthecoder has joined the channel [15:33] pietern has joined the channel [15:33] Frush3 has joined the channel [15:34] apanda has joined the channel [15:34] blax has joined the channel [15:34] enzo: aheckmann is on this forum by sheer chance ? [15:35] Frush3: Hi there. Can anybody help me? I need to check a shoutcast stream's online status. If I make a http.request the request doesn't end. So I need a method to ignore the response (except the HTTP response code). How do I do that? [15:36] stagas: Frush3: try request.abort() [15:36] DrMcKay: Frush3: something like that: https://github.com/mmalecki/dmkbot/blob/master/lib/modules/up.js ? [15:36] tjholowaychuk has joined the channel [15:37] jtsnow has joined the channel [15:37] Frush3: stagas & DrMcKay: Thank you! I will try ... [15:38] tnlogy has joined the channel [15:38] ryanfitz has joined the channel [15:38] blax: what's the best way to share something between node modules? I'd like to start main node process with command line argument telling it the path to config file and then have this config accessible everywhere [15:38] zastaph has joined the channel [15:39] garrensmith has joined the channel [15:41] smtlaissezfaire has joined the channel [15:41] jedahan has joined the channel [15:43] stagas has joined the channel [15:43] igl has joined the channel [15:45] CStumph has joined the channel [15:46] meso has joined the channel [15:47] csanz has joined the channel [15:47] achiu has joined the channel [15:48] Yuffster_work has joined the channel [15:50] tshpaper has joined the channel [15:50] pixel13 has joined the channel [15:50] pixel13 has left the channel [15:50] cypres has joined the channel [15:51] stephank has joined the channel [15:52] Renegade001 has joined the channel [15:52] jj0hns0n has joined the channel [15:52] Glenjamin: passing it explicitly is the "best" way [15:52] _sorensen_: Glenjamin++ [15:52] v8bot_: _sorensen_ has given a beer to Glenjamin. Glenjamin now has 1 beers. [15:52] catb0t: Glenjamin now has 1 beer [15:53] halfhalo-work has joined the channel [15:53] _sorensen_: saved my day with mongoose doing that [15:54] piscisaureus has joined the channel [15:55] fairwinds: DrMcKay: updated to npm 1.0.26 and still terribly slow between 5 and 10 sec to obtain express for example [15:56] random123: 10 seconds, 10 seconds!!!!!!!!!!!!!!! [15:57] DrMcKay: fairwinds: that's normal, I think [15:57] fairwinds: this is quite long compared to past where responses have been virtually immediate [15:57] jerrysv has joined the channel [15:57] random123: lol, its probably because of dependencies [15:57] DrMcKay: fairwinds: maybe host is overloaded or something? it happens. [15:57] DrMcKay: or what random123 said [15:57] random123: try installing "gowiththeflow" and see how long, it is small and no dependencies, takes half a second [15:57] nibblebot has joined the channel [15:58] tylerstalder has joined the channel [15:58] fairwinds: random123: roughly 5 sec [15:59] Glenjamin: tried it from a different host? [15:59] Glenjamin: could be something along your network slwoing it down [15:59] fairwinds: Glenjamin: am going to do a couple of traceroutes [16:00] fairwinds: I am on a decent 30 mbit connection [16:00] random123: it takes me just as long, about 10-15 for express, and about 5 for gowiththeflow [16:00] DrMcKay: fairwinds: things have to be unpacked, etc. [16:01] necrodearia has joined the channel [16:01] gkatsev has joined the channel [16:01] fairwinds: k, maybe I am spoiled getting it faster in past [16:02] mike5w3c has joined the channel [16:03] japj: express 2.4.4 apparently contains a 55 mb logfile, as a result, the tar.gz is 5+mb big [16:03] DrMcKay: !up? registry.npmjs.org [16:03] dmkbot: DrMcKay, host up (status code: 200) [16:03] tjholowaychuk: japj haha yeah [16:03] DrMcKay: response times are decent [16:03] tjholowaychuk: thanks npm [16:03] tjholowaychuk: i'll republish [16:03] DrMcKay: !up? https://registry.npmjs.org [16:03] dmkbot: DrMcKay, host may be down (error: ENOTFOUND, Domain name not found) [16:03] gkatsev has joined the channel [16:03] DrMcKay: oh, I need https for that [16:04] addisonj: hey tj, how does it feel to be tied for number one npm contributor :P, release one more package, take substack down! [16:04] isaacs: ACTION tempted to just do `npm owner add isaacs` on all the packages... [16:04] fairwinds: japj: wow, didn't know that [16:04] amasad_ has joined the channel [16:05] snowinferno|2 has joined the channel [16:05] tjholowaychuk: addisonj not too worried about numbers [16:05] addisonj: isaacs, you get +2 for enabling it all ;) [16:05] japj: fairwinds: I noticed the express tar.gz taking long to download and then noticed the file being rather big ;) [16:05] DrMcKay: maybe npm should do some checks before publishing? [16:05] isaacs: DrMcKay: but what if you actually want to upload a big file? [16:05] DrMcKay: like npm check-publish, which looks for big files, etc. [16:05] tjholowaychuk: japj im trying a republish [16:06] addisonj: +2 should be +20 [16:06] isaacs: DrMcKay: there are pretty sophisticated ways to affect what goes in [16:06] franck34: is registry.npmjs.org down ? [16:06] isaacs: DrMcKay: like .npmignore, or the "files" array [16:06] DrMcKay: !up? registry.npmjs.org [16:06] dmkbot: DrMcKay, host up (status code: 200) [16:06] baoist has joined the channel [16:06] addisonj: tjholowaychuk, would figure as much, you and substack do deserve a lot of credit though [16:06] DrMcKay: franck34: it's up [16:06] tjholowaychuk: i think i had a v8.log and an npm log [16:06] DrMcKay: isaacs: just throwing ideas ;) [16:06] gkatsev has joined the channel [16:06] franck34: DrMcKay: can you ping it ? i can't [16:06] japj: tjholowaychuk: ok, if it doesnt work you can always ask isaacs to do it manually ;) [16:07] tjholowaychuk: its goin [16:07] DrMcKay: franck34: bot sends HTTP HEAD [16:07] DrMcKay: franck34: and received 200, so, yes, I can [16:07] franck34: wtf [16:07] franck34: i can ping npmjs.org but not register [16:07] franck34: y [16:08] binaryjohn has joined the channel [16:08] franck34: !up? registry.npmjs.org [16:08] dmkbot: franck34, host up (status code: 200) [16:08] franck34: dmkbot: you smoke to moch bot [16:09] Aikar: < japj> express 2.4.4 apparently contains a 55 mb logfile, as a result, the tar.gz is 5+mb big [16:09] Aikar: japj: that would explain why npm update took so long... [16:09] japj: Aikar: indeed, tj is trying to fix it now [16:09] isaacs: 5mb isn't so big [16:09] japj: it depends on the download connection [16:10] Aikar: with the way my works dev server is routed through the internal network, it can be slow :/ [16:10] tjholowaychuk: japj its just really slow [16:10] tjholowaychuk: even requests straight to couch [16:10] tjholowaychuk: are insanely slow [16:10] Margle has joined the channel [16:10] vikstrous_ has joined the channel [16:10] radiodario has joined the channel [16:10] neilk_ has joined the channel [16:10] Aikar: is couch getting outgrown with npm o.o? [16:10] gkatsev_ has joined the channel [16:10] tjholowaychuk: cant be [16:11] Aikar: so why so slow? [16:11] tjholowaychuk: i dont know [16:11] Aikar: and a bigger more important question [16:11] tjholowaychuk: but we only have like what 10k mods? [16:11] japj: isaacs: did the json problem from a while back get solved btw? [16:11] Aikar: should i eat a diet bar or a sub from Jersey mikes for lunch? :( [16:11] Aikar: no wonder im so hungry, i forgot to eat something for breakfast lol.. [16:11] zackattack_ has joined the channel [16:11] UsGovSpy has joined the channel [16:12] DrMcKay: Aikar: I've heard humans can't live without food, so, probably you should get some [16:12] CoverSlide has joined the channel [16:12] slajax has joined the channel [16:14] slajax has left the channel [16:15] davidwalsh has joined the channel [16:15] i42n has joined the channel [16:17] gnrfan has joined the channel [16:17] seivan has joined the channel [16:19] slifty has joined the channel [16:20] tristanseifert has joined the channel [16:21] DrMcKay: gosh, is it only me, or does this Agile thing make some people feel like code generating bots? [16:21] ronnieboy has joined the channel [16:21] fairwinds: issacs: hi, it would be nice to host own repo at some stage. I have a number of packages that I just use internally [16:22] fairwinds: issacs: I used to do this sort of thing with python package index [16:22] japj: fairwinds: you can setup a private npm repository [16:22] fairwinds: right now? [16:22] bradleymeck: drmckay it makes me feel like a person surrounded by friends, cause we constantly talk / yell at eachother / laugh ... might just be my company though [16:22] fairwinds: japj: cool [16:22] DrMcKay: bradleymeck: I work from home -.- [16:22] slifty has joined the channel [16:22] bradleymeck: same, Skype/IRC XD [16:23] japj: fairwinds: you might want to have a look at https://github.com/isaacs/npmjs.org [16:23] DrMcKay: bradleymeck: but yes, I imagine that Agile + interpersonal relations may be fun [16:23] DrMcKay: bradleymeck: worth trying :D [16:23] tmedema has joined the channel [16:23] DrMcKay: ACTION looks for someone he could yell at [16:24] tmedema: I'm trying to upload on two tabs at the same time, and stream music in another tab with Google Chrome. Unfortunately, the max http requests limit kicks in. Is there any workaround that I can use for this huge issue? [16:24] fairwinds: japj: k, thanks I can see issue might be syncing off hand [16:24] amasad has joined the channel [16:25] japj: fairwinds: https://github.com/isaacs/npm/blob/master/doc/registry.md also contains some documentation [16:26] fairwinds: japj: sweet. I am going to do this. I already run couch [16:29] versicolor has joined the channel [16:30] mundanity has joined the channel [16:31] yyfrankyy has joined the channel [16:32] matyr_ has joined the channel [16:34] indexzero has joined the channel [16:36] mpavel has left the channel [16:37] javaanse_jongens has joined the channel [16:37] koo6 has joined the channel [16:37] ttpva has joined the channel [16:37] MarkMenard has joined the channel [16:38] matyr has joined the channel [16:38] amigojapan has joined the channel [16:39] cjroebuc_ has joined the channel [16:40] liar has joined the channel [16:40] jetienne_ has joined the channel [16:42] Frush3 has left the channel [16:42] markdaws has joined the channel [16:43] tmedema: How does one circumvent a browser's http connection limit when you need to upload multiple files at the same time? [16:44] DrMcKay: tmedema: AFAIR, Firefox has a setting for this [16:44] sh1mmer has joined the channel [16:44] DrMcKay: tmedema: network.http.max-connections-per-server in about:config [16:44] arthurdebert has joined the channel [16:45] DrMcKay: tmedema: how many connections do you have? [16:45] achiu has joined the channel [16:46] philip__ has joined the channel [16:46] bengrue has joined the channel [16:47] TheJH has joined the channel [16:47] TheJH has joined the channel [16:48] mendel_ has joined the channel [16:48] mokane has joined the channel [16:48] gnuanu has joined the channel [16:49] smus has joined the channel [16:50] TooTallNate has joined the channel [16:51] DrMcKay: oh, I think I know how e-mail works internally... [16:52] DrMcKay: ACTION is ready to give his new mail protocol some love [16:52] jamescarr_ has joined the channel [16:52] DrMcKay: btw, still looking for contributors for it. [16:53] fcambus has joined the channel [16:53] jhbot has joined the channel [16:53] jamescarr_: DrMcKay, huh? [16:54] DrMcKay: jamescarr_: yesterday we've invented RESTful e-mail protocol here :D [16:54] bradleymeck: match sendmails? [16:54] DrMcKay: jamescarr: https://github.com/mmalecki/remp [16:54] bradleymeck: sendgrid* [16:54] jamescarr_: nice [16:55] DrMcKay: bradleymeck: don't ruin my dreams! [16:55] jamescarr_: oh [16:55] jamescarr_: no code :( [16:55] losing has joined the channel [16:56] jamescarr_: just hack together a rough prototype [16:56] DrMcKay: jamescarr_: :(. I will write some server in spare time [16:56] DrMcKay: it should be really easy, just access control and search [16:56] Aphelion has joined the channel [16:57] DrMcKay: jamescarr_: also, I think I should write some IMAP and POP3 gateways [16:57] DrMcKay: I hate POP3 sooo much [16:57] jamescarr_: DrMcKay, just write something dirt simple. A server that does auth and proxies to the local email client [16:57] jamescarr_: thats all I need for my current project :-D [16:57] bradleymeck: drmckay have you looked at haraka? [16:58] DrMcKay: jamescarr_: with MongoDB backend that should be *really* simple, I will start on Sunday, maybe [16:58] jorenl_ has joined the channel [16:58] amerine has joined the channel [16:58] DrMcKay: bradleymeck: no, what's that? [16:59] bradleymeck: node's smtp heavyweight [16:59] DrMcKay: Google doesn't return nothing relevant [16:59] Aikar: so whats the sending performance like on Haraka, compared to Postfix or PowerMTA? [16:59] bradleymeck: 5k/s on a local machine, though its not written for terribly performance minded things [17:00] DrMcKay: bradleymeck: looks fine [17:00] sctb has joined the channel [17:00] DrMcKay: I wanted to write my own MTA, though [17:00] jorenl_: Hi all! How can I make http requests to apache running on the same machine as my node script? [17:00] ryan0x2 has joined the channel [17:00] towski has joined the channel [17:01] DrMcKay: !doc link http#get [17:01] dmkbot: http://nodejs.org/docs/latest/api/http.html#http.get [17:01] DrMcKay: jorenl_: ^ [17:01] zeade has joined the channel [17:01] sctb: Hmm. Anyone have any ideas on how to call vm.runInThisContext asynchronously? [17:01] DrMcKay: jamescarr_: what are you writing? [17:02] jorenl_: DrMcKay: so I don't have to start a server with node for that right, just require http and do the get request? [17:02] DrMcKay: jorenl_: yes :) [17:02] NetRoY has joined the channel [17:02] bradleymeck: sctb you dont, spawn a child [17:02] perezd has joined the channel [17:03] bradleymeck: no shared memory means no concurrent vms in a process (technically you could do it with isolates... but eww) [17:03] zomgbie has joined the channel [17:03] jules has joined the channel [17:04] DrMcKay: I'm still thinking how can I make it virtually impossible to spoof e-mails [17:04] jorenl_: DrMcKay: nice. any way I can find out from PHP it is node that is doing the request? A user agent string header, or referer or the like? [17:04] StanlySoManly has joined the channel [17:04] DrMcKay: jorenl_: use headers option and set 'User-Agent' to some distinguishable value [17:05] DrMcKay: var options = { host: blak, headers: { 'User-Agent' : 'node' } }, for example [17:05] DrMcKay: s/blak/blah/ [17:06] stisti has joined the channel [17:06] johnchang has joined the channel [17:06] bzinger has joined the channel [17:06] jorenl_: DrMcKay: will do, thanks for the (fast!) help!. (wouldn't host be localhost in this case) [17:06] crodas has joined the channel [17:06] vidi has joined the channel [17:06] DrMcKay: jorenl_: yes, "blah" was just a placeholder [17:07] CoverSlide: doesn't have to be localhost [17:07] vidi has joined the channel [17:07] saikat has joined the channel [17:07] mikeal has joined the channel [17:07] gkatsev_ has joined the channel [17:07] franck34: mhhh, when i npm install something, it create a directory "node_modules" in the current directory [17:08] sctb: bradleymeck: thanks -- I'm not sure I can do what I want in a child process, but I see the issue [17:08] alvaro_o has joined the channel [17:08] franck34: but my NODE_PATH is setup somewhere else [17:08] franck34: and is in env [17:08] jorenl_: CoverSlide: well if I'm trying to GET apache running on the same machine I guess localhost will do :) [17:08] CoverSlide: franck34: npm only installs locally [17:08] CoverSlide: unless you use npm-g [17:09] snowinferno|2: Hi all, I'm trying to create a node program that will accept multiple tcp connections, keep a list of them, and once a connection is closed, remove it from the list. I tried to use the socket end event, but at that point the socket no longer has the address information for me to cross reference in my list. Is there another event I can use to remove the socket from my list? [17:09] franck34: CoverSlide: haa it's new for me, thanks a lot [17:10] franck34: CoverSlide: not bad finaly, i can have more than one project using differents lib version [17:10] DrMcKay: it's generally possible to spoof e-mails so they look like they were send from other domain, right? [17:10] CoverSlide: DrMcKay: that's what the TEXT dns entry is for iirc [17:10] DrMcKay: so, any MTA agent on the way would have to contact originating server and verify if this e-mail was really send [17:11] Margle has joined the channel [17:11] DrMcKay: CoverSlide: not MX? [17:11] matyr has joined the channel [17:12] CoverSlide: MX is for resolving the receiving domain [17:12] DrMcKay: CoverSlide: oh, this: TEXT dns entry [17:12] DrMcKay: * http://en.wikipedia.org/wiki/Sender_Policy_Framework [17:12] kepheus has joined the channel [17:13] CoverSlide: yeah [17:13] CoverSlide: SPF [17:13] CoverSlide: same thing [17:14] maushu has joined the channel [17:14] DrMcKay: but it's still possible to somehow spoof domain which send an e-mail [17:14] dguttman has joined the channel [17:14] DrMcKay: (I think) [17:14] CoverSlide: there's always ways around it [17:15] jhine has joined the channel [17:15] ryanfitz_ has joined the channel [17:15] CoverSlide: I just know i had stuff get rejected off gmail until I added a TXT record for that domain with the server's IP [17:15] cpetzold has joined the channel [17:17] DrMcKay: CoverSlide: it sometimes took my sendmail emails > 3 days to deliver, and I'm not really sure how and why [17:17] DrMcKay: and no, I didn't have a TXT record [17:18] dre_ has joined the channel [17:18] slifty has joined the channel [17:19] heavysixer has joined the channel [17:19] DrMcKay: so, huh. a originating server generates a token, valid only for one user and for some time. each server on the way contacts him and asks him for token validity. receiving server does the same. [17:19] DrMcKay: that *may* work [17:19] CoverSlide: sweer [17:19] butu5 has joined the channel [17:21] DrMcKay: remp motto should be "it *may* work" [17:22] DrMcKay: or maybe only receiving server should ask for validity? [17:22] DrMcKay: I mean, I don't want this TXT and MX stuff [17:22] CoverSlide: hmm [17:22] ryan0x2_ has joined the channel [17:22] DrMcKay: I want server to be `node server.js` [17:23] robotmay has joined the channel [17:23] weezle has left the channel [17:23] CoverSlide: so some type of handshaking, with some throwaway tokens between client and server [17:23] fangel has joined the channel [17:24] DrMcKay: yes. token would become invalid right after e-mail is received by server [17:24] CoverSlide: using pure REST [17:24] CoverSlide: so that means 3 separate requests [17:25] CoverSlide: well no 2 nvm [17:25] greg has joined the channel [17:28] losing has joined the channel [17:28] ekryski has joined the channel [17:28] Metal3d has joined the channel [17:28] sivy has joined the channel [17:29] gf3: tjholowaychuk: I feel like you'll enjoy this: http://twatlr.com/thread/104591333557145600 [17:29] DrMcKay: well, shit. I think it will need SPL or something similar [17:30] technoweenie has joined the channel [17:30] gf3: ohai technoweenie [17:30] slickplaid: http://i.imgur.com/wPbZC.png [17:30] tjholowaychuk: gf3 haha awesome [17:31] DrMcKay: yes, I'm afraid it will. otherwise I would have to hardcode some subdomain which acts as a verification server [17:31] micheil has joined the channel [17:31] CoverSlide: yeah i was thinking that [17:31] jj0hns0n_ has joined the channel [17:33] anoop has joined the channel [17:33] newbie_ has joined the channel [17:34] newbie_: hello, anyone can tell me how i should set up the server such that i can view it in a browser that is remotely? [17:34] newbie_: i can accept my application locally in the browser at like 127.0.0.1: 3000 [17:35] DrMcKay: newbie_: remove second parameter for listen [17:35] CoverSlide: newbie_: .listen(port_number) [17:35] newbie_: but i can not accept it if i am connect from another machine [17:35] socketio\test\70 has joined the channel [17:35] CoverSlide: or .listen(port_number, '0.0.0.0') works too (or it should) [17:36] socketio\test\08 has joined the channel [17:36] eazyigz has joined the channel [17:36] fattytuna has joined the channel [17:37] eazyigz: Hello, I am trying to run a node script from crontab, but got this error: /bin/sh: node: command not found [17:37] eazyigz: Does anybody know why? [17:37] bronson: Is anybody using a simple connect-based auth middleware? [17:37] DrMcKay: eazyigz: you've installed node in /usr/local, didn't you? [17:37] CoverSlide: eazyigz: pass it the full path to node [17:37] eazyigz: DrMcKay: yes [17:37] CoverSlide: I tend to use absolute paths for crontabs [17:38] bronson: I've looked at connect-auth and everyauth and they're both seriously painful and non-node-like. [17:38] DrMcKay: do what CoverSlide says [17:38] eazyigz: CoverSlide: thanks [17:38] newbie_: hello, anyone can help on this: i can connect to my app locally using 127.0.0.1:3000 or localhost:3000, what do i have to configure such that i can access the application from a remote machine's browser? [17:39] CoverSlide: newbie_: you've been given 3 answers already [17:39] fdenbow has joined the channel [17:39] stonebranch has joined the channel [17:39] eazyigz: newbie_: that should work if port 3000 isn't closed to public access [17:39] seivan has joined the channel [17:40] confoocious has joined the channel [17:40] bronson: newbie_, turn off your firewall. [17:40] newbie_: eazyigz: if my app is install on debian, do you know how i can make sure the port is open? [17:41] newbie_: bronson: i try turn firewall off, but still not working [17:41] eazyigz: newbie_: is selinux enabled? [17:41] bronson: on Debian I hope not! [17:41] newbie_: eazyigz: what is selinux? [17:41] level09 has joined the channel [17:42] eazyigz: newbie_: its the default firewall [17:42] eazyigz: run sestatus [17:42] bronson: selinux isn't a firewall, iptables is. [17:42] harthur has joined the channel [17:43] newbie_: bronson: how do i turn firewall off on debian [17:44] bronson: http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=turn+off+firewall+debian [17:44] micheil: newbie_: you probably want to add an iptables rule for it [17:44] snowinferno|2: Is there more documentation on what events are valid on a net.Socket object? [17:44] micheil: snowinferno|2: check either the code or docs [17:44] context: code not enough? [17:44] eazyigz: newbie_: can you run grep -w 3000 /etc/services [17:45] micheil: http://nodejs.org/docs/v0.4.10/api/net.html#net.Socket [17:45] context: uhh what does grep have to do with turning a firewall off [17:45] context: newbie_: its not on by default [17:45] micheil: snowinferno|2: which in turn inherits events documented at: http://nodejs.org/docs/v0.4.10/api/streams.html [17:45] dgathright has joined the channel [17:45] snowinferno|2: I checked the docs, it doesn't seem to list an event suitable for what I need [17:45] eazyigz: context: if you wanted to find out what was up with port 3000, you might use this command: [17:45] newbie_: eazyigz: that does not return anything [17:45] micheil: snowinferno|2: what event do you need? [17:46] context: eazyigz: yes but he asked about the firewall. not what port 3000 is. [17:46] micheil: ryah: do you have any tips on writing network data parsers? [17:46] micheil: (I'm thinking of the http_parser style parsers) [17:46] eazyigz: context: he asked about enabling node remotely on port 3000 [17:46] snowinferno|2: micheil: I'm trying to remove a socket from a list of sockets when that socket gets closed, I tried close and end but at that point the socket doesn't seem to have a valid fd [17:47] context: oh. [17:47] micheil: snowinferno|2: okay, well, the close and end ones are what you want [17:47] eazyigz: newbie_: can you run that command for port 8080 (out of curiosity) [17:47] context: newbie_: you need to pop a hole in your router. [17:47] CoverSlide: micheil: probably look at the source for http-parser [17:47] blup has joined the channel [17:47] micheil: snowinferno|2: do you have some code? [17:47] newbie_: eazyigz: that does return 2 line [17:47] snowinferno|2: micheil: sure, let me put it up on a pastebin [17:47] materialdesign-1 has joined the channel [17:47] micheil: CoverSlide: I've read the code to that already, just looking for tips from someone more experienced than myself in this field. [17:48] newbie_: eazyigz: one for tcp and one for udp [17:48] colinclark has joined the channel [17:48] eazyigz: newbie_: what was sestatus? [17:48] context: yeah. services file doesn't matter [17:48] context: newbie_: you need to do a port forward on your router. simple as that. [17:48] newbie_: eazyigz: sorry, how to i check sestatus [17:48] eazyigz: newbie_: type sestatus [17:49] newbie_: eazyigz: command not found [17:49] context: ... not everyone runs selinux by default [17:49] context: infact... no one does [17:49] DrMcKay: newbie_: cat /selinux/enforce [17:49] DrMcKay: context: I do, but in permissive [17:49] newbie_: DrMcKay: cat: /selinux/enforce: No such file or directory [17:49] context: selinux sucks. why would you run it [17:50] DrMcKay: oh, then you're not running selinux [17:50] context: but i do enjoy the fact you two assumed he was running sel. [17:50] DrMcKay: context: well, good point [17:50] mjr_ has joined the channel [17:50] CoverSlide: i thought fedora has selinux on by default [17:50] DrMcKay: CoverSlide: it does [17:51] context: thats sad [17:51] DrMcKay: but it's in enforce [17:51] DrMcKay: this fucking thing crashed Chrome! [17:51] DrMcKay: so I just turned it to permissive [17:51] context: id rather run grsec than selinux [17:51] vidi has joined the channel [17:52] reid has joined the channel [17:52] DrMcKay: context: oh, my servers run enforce [17:52] DrMcKay: I'll just leave them alone [17:53] matyr_ has joined the channel [17:53] mraleph has joined the channel [17:53] snowinferno|2: micheil: http://fpaste.org/7qO5/ [17:54] blup has joined the channel [17:55] micheil: snowinferno|2: and what is it meant to achieve? [17:56] zackattack has joined the channel [17:56] context: sounds like just another way to think your safer. 'turn it on and forget it' [17:57] micheil: snowinferno|2: Are you trying to list what the remote ip & port is, or local ip and port? [17:58] snowinferno|2: micheil: I'm trying to get a telnet based chat working that keeps track of the connected sockets so I can send output to appropriate people. I was looking for the remote ip to prevent multiple connections from the same location [17:58] DrMcKay: context: I haven't ever thought about it in this way. Well chosen file privileges sometimes have better impact on security than any application/kernel patch [17:58] micheil: okay, the easier thing to do is assign a unique id per client [17:59] micheil: or, do something like this... [17:59] adambeynon has joined the channel [17:59] cronopio has joined the channel [17:59] DrMcKay: context: or, generally, we all could just write better apps. [18:00] gkatsev_ has joined the channel [18:00] context: yeah but you still prolly allow password auth over ssh. [18:01] CoverSlide: snowinferno|2: try calling address() outside of socket.on('end') [18:01] snowinferno|2: hmm that's something I hadn't yet considered. I wanted to get a basic running list of connected sockets and evolve it later into much more but i might as well start out with an object that has the socket as a property and keep a list of the objects instead of a list of sockets... [18:02] DrMcKay: context: can't you check that :D ? [18:02] cjackson has joined the channel [18:02] clifton_ has joined the channel [18:02] DrMcKay: ups, I think do, at least on my primary box. [18:03] matyr has joined the channel [18:03] DrMcKay: s/I think do/I think I do/ [18:03] micheil: snowinferno|2: eg, https://gist.github.com/1157523 [18:03] cjackson: if you setEncoding on a socket, is there any good way to unset it? [18:03] micheil: (note that the function in net.createServer is the 'connection' event listener [18:04] micheil: http://nodejs.org/docs/v0.4.10/api/net.html#net.createServer [18:05] micheil: cjackson: socket._decoder = undefined [18:05] micheil: perhaps? [18:05] robotarmy has joined the channel [18:06] cjackson: micheil: i was hoping to not break the API :P [18:06] bluesmoon has joined the channel [18:06] cjackson: micheil: i might submit a patch for this or something [18:06] snowinferno|2: thanks micheil, I'll give that a go :) [18:06] micheil: cjackson: I think that's actually been on the backlog of node.js for a while [18:06] cjackson: micheil: hmm? [18:07] micheil: well, it's been something that should have been done but hasn't been high enough priority to do yet [18:07] aheckmann has joined the channel [18:08] robotarmy has joined the channel [18:08] cjackson: micheil: alright. i'll diff it up I guess. do you know what the difference is between net_legacy and net_uv, or should i just modify both? [18:09] Aikar: im attempting to convert my work to node.js [18:09] CoverSlide: wouldn't it be used on stream instead of net? [18:09] prettyrobots has joined the channel [18:09] Aikar: just pushed some info to a team lead to look into [18:09] berasa has joined the channel [18:10] context: check what? [18:10] sh1mmer has joined the channel [18:10] tnlogy: hmm, in socket.io, can you disable the debug print? I think it's eating some cpu :) [18:10] context: drmckay: i see fedora's implementation of selinux just another keyword to make everyone feel safe. [18:10] topaxi has joined the channel [18:10] context: selinux is WAY to complicated to simply 'turn on' and your more safe. [18:10] Aikar: tnlogy: set log level to 0 or require('socket.io/lib/logger').prototype.log = function(){}; [18:11] DrMcKay: context: sure it's a keyword. it's called "safety by default", or something [18:11] DrMcKay: most people end up disabling it. [18:11] context: cjackson: or modify neither? [18:11] Aikar: i def didnt like selinux randomly killing my processes [18:11] tnlogy: how do you set the log level? (just started using node.js).. [18:11] tnlogy: and thanks! [18:12] cjackson: context: hmm? [18:12] Aikar: tnlogy: var io = socketio.listen(app); io.set('log level', 0); [18:12] tnlogy: thanks! [18:12] DrMcKay: I got really pissed of when it started killing chrome processes [18:12] context: drmckay: but its not. its generalized bs settings, to make you feel safe [18:12] DrMcKay: just because my profile was located on a mounted NTFS volume [18:13] Aikar: selinux seems to really only be marginally useful if you have a shared system with people you dont trust (which is a horrible idea to begin with!) [18:13] context: http://www.jwz.org/images/greatimage.jpg [18:13] DrMcKay: context: whole "security by default" is bullshit when it meets users [18:13] context: aikar: i use to admin a dozen machines for a shellco [18:14] context: linux and fbsd [18:14] adelgado has joined the channel [18:14] cjackson: context: what do you mean by "modify neither?" [18:14] StanlySoManly: is there some way that i can tell node to always look in a specific place for npm modules? I see there's this: http://nodejs.org/api/modules.html#loading_from_node_modules_Folders which isn't what i want. i want it to always look at ~/local so i can run scripts from anywhere in my source. [18:15] snowinferno|2: micheil: that approach worked like a charm, thanks! I can see I'm going to have to shift my thinking a bit [18:15] isaacs: StanlySoManly: keep reading that doc. [18:15] Aikar: StanlySoManly: that ability was removed [18:15] isaacs: StanlySoManly: there's a NODE_PATH environment variable [18:15] isaacs: Aikar: require.paths was removed. [18:15] isaacs: so you can't *change* it at run-time [18:15] DrMcKay: we need to make some banner, I think [18:15] isaacs: but you can set it at the start of your script [18:15] Aikar: oh right node path [18:16] bbigras__ has joined the channel [18:16] micheil: isaacs: hmm, do you think node's dtrace probes are hackable to add them into any project? [18:16] micheil: like, dtrace.record('event', obj) sort of thing? [18:16] StanlySoManly: isaacs: thanks! looks like i have a problem with not reading the *whole* doc before asking a question. i'll look into that. :) [18:17] isaacs: :) [18:17] isaacs: micheil: not sure [18:17] context: cjackson: if you dont know what net_legacy or net_uv are you probably dont need to edit them [18:17] micheil: currently they are all done with these magic looking fuctions [18:17] micheil: *functions [18:18] cjackson: context: i'm trying to make it so that setEncoding can unset encodings. to do so i can either hack it from the callsite, or do it properly and submit a patch for everyone else [18:18] cjackson: context: i'm hoping on doing the latter [18:18] micheil: cjackson: I'd be willing to help you do the patch for the latter [18:19] ryanfitz has joined the channel [18:19] cjackson: micheil: sweet. I'm thinking something along the lines of setEncoding('raw')? I'll have a pull request soon [18:19] jhbot has joined the channel [18:19] matomesc has joined the channel [18:19] euforic has joined the channel [18:20] arthurdebert has joined the channel [18:20] DrMcKay: oh, github fork queue is very nice! [18:20] CoverSlide: maybe setEncoding('binary') [18:20] CoverSlide: as a throwback [18:20] TheJH has joined the channel [18:20] micheil: cjackson: how about setEncoding('binary') ? [18:20] CoverSlide: or 'buffer' [18:20] dnjaramba has joined the channel [18:21] cjackson: micheil: CoverSlide binary sounds good too [18:21] micheil: although, there may be a option for discussion with isaacs, ryah, or bnoordhuis on that [18:21] micheil: as node doesn't have a "binary" type any more [18:21] bengrue has joined the channel [18:21] isaacs: you should really only use setEncoding if you're very sure that it will always be strings. [18:21] vaheh has joined the channel [18:21] isaacs: and it doesn't even work great, then [18:22] guillermo has joined the channel [18:22] bbigras__: Is it normal that if I modify a Date() with setHours(), when I print it with console.log() the date object still outputs the datetime before the change? Sample code https://gist.github.com/1157556 [18:22] isaacs: since you also have to be sure that you'll never get chunks that split unicode byte pairs [18:22] micheil: ACTION is actually removing the setEncoding call in node-websocket-server in the next release. [18:22] isaacs: the safer option is to collect all the chunks, put them in one buffer, and then toString() it [18:23] micheil: isaacs: who's that guy at joyent that did all the dtrace stuff in node? [18:23] matyr_ has joined the channel [18:23] DrMcKay: isaacs++ for mentioning it [18:23] micheil: isaacs: I'd love to be able to add in dtrace instrumenting to node-websocket-server [18:23] isaacs: micheil: mailing list :) [18:23] cjackson: isaacs: so the use case here is the CHUNKING extension to SMTP, where we get a lot of ascii protocol jonx, but then at some point we want to read N bytes of binary data off the stream [18:23] soapyillusions_ has joined the channel [18:23] isaacs: micheil: bryan cantrill did the initial probes in node, I believe. he also invented dtrace :) [18:23] zackattack has joined the channel [18:24] micheil: isaacs: right, okay [18:24] isaacs: cjackson: ok. you're gonna have to chop your own buffers, i'm afraid [18:24] micheil: cjackson: in which case you shouldn't use setEncoding [18:24] isaacs: cjackson: don't use setEncoding [18:24] micheil: you should be doing a stream parser that will reinterpret buffers based on a given state [18:24] visnup: isaacs: and everyone I know feels slow and not smart when they talk to him [18:25] micheil: visnup: I've heard that of brian [18:25] cjackson: isaacs: micheil err, so the protocol guarantees that i get a clean cutover point, and i was hoping on sparing myself the extra work [18:25] micheil: *bryan [18:25] visnup: ...which is a compliment to bryan [18:25] micheil: I can't believe I always spell his name wrong, considering my middle name is his first name. [18:26] visnup: micheil: I always spell your name wrong too :) [18:26] micheil: cjackson: not recommend to try and short cut there [18:26] isaacs: cjackson: you can do buffer.slice(n, m).toString("ascii") to get the ascii bigs out [18:26] isaacs: *bits [18:26] micheil: visnup: is that saying something? :P [18:27] cjackson: isaacs: so, most of the stream is ascii. it'd be neat if i could do the reverse [18:27] visnup: micheil: luckily I'm normally chatting with you and autocomplete covers me [18:27] cjackson: micheil: yeah that's probably what i'll end up doing. thanks :) [18:27] micheil: visnup: heh [18:28] te-brian has joined the channel [18:28] CoverSlide: ok not sure if there's a minor earthquake, or some idiot started shaking their leg [18:28] jspiros has joined the channel [18:29] lukegalea_ has joined the channel [18:29] dnjaramba_ has joined the channel [18:29] nrajlich has joined the channel [18:29] Twelve-60` has joined the channel [18:29] te-brian: Slightly off-topic question: I'm looking for a way for my node server to trigger desktop alerts (maybe via an air app or something). Anyone come across something like this? [18:29] DrMcKay: isaacs: could you please review/merge my test: https://github.com/joyent/node/issues/1531 ? [18:29] euforic_ has joined the channel [18:29] DrMcKay: te-brian: notify-send ? [18:29] sechrist_ has joined the channel [18:30] anaio has joined the channel [18:30] CoverSlide: te-brian: https://github.com/bnoguchi/node-notify-send ?? [18:30] rodasc has joined the channel [18:30] shachaf_ has joined the channel [18:30] ryanfitz_ has joined the channel [18:30] igl1 has joined the channel [18:31] replore_ has joined the channel [18:31] replore has joined the channel [18:31] xtianw_ has joined the channel [18:31] telemachus_ has joined the channel [18:31] te-brian: CoverSlide: Let me be a little more specific :) Lets say I have a web-based chess game. I would like a cross-platform (linux, osx, windows) way to notifiy players when it's their turn (imagine playing a game of chess during work over the whole day) [18:31] H4ns` has joined the channel [18:31] c4milo has joined the channel [18:31] DrMcKay: te-brian: desktop notifications from HTML5? [18:31] arthurd_ has joined the channel [18:32] butu5: clear [18:32] prettyrobots_ has joined the channel [18:32] slajax1 has joined the channel [18:32] jetienne_ has joined the channel [18:32] CoverSlide: ACTION invenst the DNFH spec [18:32] apipkin has joined the channel [18:32] te-brian: DrMcKay: Hmm.. I'll have to look into that.. presumably webkit only.. but thats fine with me [18:32] slajax1 has left the channel [18:32] CoverSlide: s/invenst/invents [18:32] RushPL has joined the channel [18:32] johnchang1 has joined the channel [18:32] patcito has joined the channel [18:32] sid3k` has joined the channel [18:32] cclafferty has joined the channel [18:32] DrMcKay: te-brian: I think Safari does as well [18:33] CoverSlide: i think it's webkit-only [18:33] matyr has joined the channel [18:33] DrMcKay: and Safari is WebKit [18:33] CoverSlide: that's what i'm saying [18:33] te-brian: Holy crap.. thats awsome... I never knew :) http://athousandnodes.com/labs/jwNotify/ exactly what I wanted [18:33] mihar_ has joined the channel [18:33] jakehow__ has joined the channel [18:33] DrMcKay: te-brian: :) [18:33] teadict_ has joined the channel [18:33] CoverSlide: and I'm sure the IE team would refuse to implement it because of 'security issues' [18:33] apipkin: i'm looking to update or see if an update exists for npm. what's the correct command? i tried `npm update npm` and it just went to the prompt with zero feedback [18:33] jspiros has joined the channel [18:33] ryah_ has joined the channel [18:34] nuba_ has joined the channel [18:34] EvanCarr1ll has joined the channel [18:34] j0ni_ has joined the channel [18:34] __doc___ has joined the channel [18:34] isaacs: apipkin: npm update npm -g [18:34] jakehow_1 has joined the channel [18:34] drwells_ has joined the channel [18:34] isaacs: ircretary: inst apipkin [18:34] ircretary: apipkin: `curl http://npmjs.org/install.sh | sh` (or, if there are permission issues, you can try: `curl http://npmjs.org/install.sh | sudo sh`) [18:34] isaacs: or that ^ [18:34] zackattack has joined the channel [18:34] brianc1 has joined the channel [18:34] chilts_ has joined the channel [18:34] keyvan_ has joined the channel [18:34] azend_ has joined the channel [18:34] tetsuhar1 has joined the channel [18:34] jesusabd1llah has joined the channel [18:34] Jalava_ has joined the channel [18:34] DJBouche_ has joined the channel [18:35] apipkin: yeah -g does the same thing [18:35] apipkin: i'll try the curl command [18:35] joshfng has joined the channel [18:35] dnjaramba has joined the channel [18:35] explodes has joined the channel [18:36] Promethet has joined the channel [18:36] boaz- has joined the channel [18:36] DrMcKay: does npm allow to install things for just one user? [18:36] soapyillusions_ has joined the channel [18:36] isaacs: DrMcKay: it installs things for just one *project*( [18:36] DrMcKay: I mean, like -g, but binaries go to ~/bin [18:36] isaacs: :) [18:36] isaacs: DrMcKay: npm config set prefix ~/local [18:36] TheJH: DrMcKay, yes, if you install npm only for your user [18:36] isaacs: by default, global goes wherever node is [18:36] TheJH: ah, ok [18:36] DrMcKay: isaacs: prefix - that's it :) [18:37] CoverSlide: very useful [18:37] isaacs: you can also do this in the npm source, just like node itself: ./configure --prefix=~/local && make && make install [18:37] pixel13 has joined the channel [18:37] temp02 has joined the channel [18:37] isaacs: the npm "configure" script is just a wrapper around `npm config set` [18:37] pixel13 has left the channel [18:37] PPilate has joined the channel [18:37] sveisvei_ has joined the channel [18:37] CoverSlide: i spend a lot of time on the train, with connection, so i have a shitload of global packages, but I don't want to give them all to root [18:38] nibblebo_ has joined the channel [18:38] DrMcKay: isaacs: ok, thanks :) [18:38] halfhalo-work_ has joined the channel [18:38] halfhalo-work_ has joined the channel [18:38] CoverSlide: hell even on the train connecting to the npm registry was a bitch [18:38] TheJH: wooooah, huge split! [18:38] deoxxa has joined the channel [18:38] jhine has joined the channel [18:38] CoverSlide: i mean when using tethering [18:38] hellp has joined the channel [18:38] DrMcKay: CoverSlide: travelling like a boss [18:38] admc has joined the channel [18:39] isaacs: CoverSlide: you can also do `npm install --link` in your packages. [18:39] meder has joined the channel [18:39] isaacs: CoverSlide: that'll install things locally, unless there's a global copy wiht the same version, in which case it'll symlink it in [18:39] willwhite has joined the channel [18:39] CoverSlide: yeah I use a ton of npm link [18:40] isaacs: and there's also the `npm link` command, of course [18:40] sh1mmer has joined the channel [18:40] ckknight has joined the channel [18:40] ben_alman has joined the channel [18:40] csanz has joined the channel [18:40] mraleph has joined the channel [18:41] MarkMenard has joined the channel [18:41] chapel has joined the channel [18:41] CoverSlide: oh ben alman comes in here? [18:42] DrMcKay: ACTION hates time zones [18:42] sorensen has joined the channel [18:42] DrMcKay: seriously, who invented it? I end up exchanging one email per day. [18:43] apipkin: to update all npm packages is it `npm update -g` ? [18:43] isaacs: apipkin: yeah [18:43] CoverSlide: apipkin: yes [18:44] johnchang1 has left the channel [18:44] CoverSlide: all global packages [18:44] inimino has joined the channel [18:45] hdon- has joined the channel [18:45] nickaugust has joined the channel [18:45] SebastianFlyte has joined the channel [18:45] aheckmann has joined the channel [18:45] jtrudeau has joined the channel [18:45] stutter has joined the channel [18:45] freewil has joined the channel [18:45] freewil has joined the channel [18:45] davro has joined the channel [18:46] indutny has joined the channel [18:46] Metal3d has joined the channel [18:46] progme has joined the channel [18:46] Slashbunny has joined the channel [18:46] joeytwiddle has joined the channel [18:46] mif86 has joined the channel [18:47] necrodearia has joined the channel [18:47] aelien27 has joined the channel [18:47] tylerstalder has joined the channel [18:47] daleharvey has joined the channel [18:47] markatto has joined the channel [18:47] yhahn has joined the channel [18:50] whoops has joined the channel [18:50] jspiros has joined the channel [18:54] geetarista has joined the channel [18:55] kepheus: someone knows why this script only prints out "test" one time? if I remove the inner call to scraper(), test will be called n times, which is the expted behaviour: http://dpaste.com/598350/ [18:56] erock has joined the channel [18:57] kepheus: i'm using node-scraper (which uses jdom) [18:58] soapyillusions_ has joined the channel [18:59] kepheus: jsdom [19:00] CoverSlide: kepheus: one thing I've found with jsdom [19:00] whitman has joined the channel [19:00] jvduf has joined the channel [19:00] kepheus: it's like the script exits completely after the second call to scraper() [19:00] CoverSlide: is that if you do a $().each(), the this variable is no longer jqueryable [19:01] indexzero has joined the channel [19:01] infynyxx has joined the channel [19:01] CoverSlide: at least when I've used it [19:01] kepheus: someone here helped me with that: http://dpaste.com/597732/ [19:01] hij1nx has joined the channel [19:01] kepheus: but still the second scraper() call exists the program [19:02] MooGoo has joined the channel [19:03] kepheus: it's very frustrating. this shouldn't be hard to do [19:03] cjm has joined the channel [19:03] tjholowaychuk: kepheus node isnt great for scraping right now [19:03] tjholowaychuk: tried a bit on the weekend [19:03] tjholowaychuk: our apis are not as nice as existing stuff yet [19:04] tjholowaychuk: (noko etc) [19:04] CoverSlide: noko? [19:04] tjholowaychuk: nokogiri [19:04] kepheus: am I doing something fundamentally wrong here in these examples? [19:04] c4milo has joined the channel [19:05] CoverSlide: probably best to do it low-level [19:05] CoverSlide: regex sucks for html / xml parsing [19:05] kepheus: I'm just starting out (should be no excuse). it's very hard to understand that the script just exists for no obvious reasons [19:06] CoverSlide: kepheus: are you tracking the error variable in the second call? [19:06] ttpva has joined the channel [19:07] kepheus: i forgot to include that in the example. I have it in but it's throwing no errors [19:08] DrMcKay: *test* [19:08] pjacobs has joined the channel [19:08] CoverSlide: *fail* [19:08] DrMcKay: CoverSlide: works! [19:08] CoverSlide: yay! [19:08] DrMcKay: why doesn't Pidgin bold my messages? [19:08] CoverSlide: what works? [19:09] DrMcKay: bold font [19:09] CoverSlide: i dunno [19:09] CoverSlide: irssi seems to do just fine [19:09] TheJH: DrMcKay, because it's pidgin? [19:09] kepheus: also, it seems to make no difference if i use .each on the jquery object or the example where next() calls itself [19:09] DrMcKay: TheJH: maybe :D, i like it [19:09] CoverSlide: pfft might as well be using mirc [19:09] kepheus: CoverSlide with request? [19:10] TheJH: DrMcKay, I prefer a real irc client for irc [19:10] japj: chatzilla? :) [19:10] DrMcKay: TheJH: I will switch tomorrow, I promise ;) [19:10] TheJH: japj, xchat [19:11] CoverSlide: xhat ftw! [19:11] CoverSlide: *xchat [19:11] TheJH: :) [19:11] CoverSlide: although irssi++ [19:11] TheJH: CoverSlide, I don't know irssi. does it use colors? [19:11] Cover|Lunch: it sure does [19:11] alindeman: It's console based, but has colors, yes [19:11] TheJH: then it might be good :) [19:12] kepheus: tjholowaychuk which module did you use for your testing? [19:12] alindeman: Run it in GNU screen or tmux on a server and you have your very own irccloud ;) [19:12] tjholowaychuk: kepheus tried a few, but they both used jsdom [19:12] tjholowaychuk: i think the html parser was crapping out on the site's bad html [19:12] kepheus: ah, ok [19:15] kepheus: i would expect that it raises an exception :/ [19:18] c4milo has joined the channel [19:19] akshatj has joined the channel [19:19] kepheus: oh, your right. the detail page seems to exist nonvalid html where the htmlparser exists [19:20] kepheus: if I pass the detail-url directly to the first scraper-call it exits [19:21] dmkbot has joined the channel [19:21] DrMcKay: !ping [19:21] dmkbot: DrMcKay, pong [19:21] heavysixer has joined the channel [19:23] raoul has joined the channel [19:23] raoul: stuggling to work out how to get docco to generate an index file and looking at the source and docs isnt helping. can anyone point me in the right direction by any chance? [19:23] raoul: or to the right place to ask this question! [19:23] dmkbot has joined the channel [19:23] jhurliman has joined the channel [19:24] TheJH: raoul, the author of docco, jashkenas_work, is over in #coffeescript - but I don't know whether he's actually in front of his keyboard [19:25] kepheus: can anyone recommend another htmlparser besides node-htmlparser? it isn't forgiving enough I guess [19:25] raoul: cool thanks TheJH [19:25] dmkbot has joined the channel [19:25] DrMcKay: !ping [19:25] dmkbot: DrMcKay, pong [19:25] TheJH: !npm search html parser [19:26] jhbot: package htmlparser: Forgiving HTML/XML/RSS Parser in JS for *both* Node and Browsers [19:26] jhbot: package jkwery: Another command-line jQuery [19:26] jhbot: package soupselect: Adds CSS selector support to htmlparser for scraping activities - port of soupselect (python) [19:26] jhbot: package apricot: Apricot is a HTML / DOM parser, scraper for Nodejs. It is inspired by rubys hpricot and designed to fetch, iterate, and augment html or html fragments. [19:26] jhbot: package html5: HTML5 HTML parser, including support for SVG and MathML foreign content [19:26] TheJH: kepheus, didn't try them myself, but maybe apricot or html5? [19:26] kepheus: i asked for recommendations, not every package in existance. but thanks [19:27] CrabDude has joined the channel [19:27] TheJH: kepheus, sorry :/ [19:27] zomgbie has joined the channel [19:28] kepheus: i try apricot :) [19:28] dmkbot has joined the channel [19:28] TheJH: kepheus, do you need an html parser? if the code is just ugly and wrong, I'd use regexes [19:28] mendel_ has joined the channel [19:29] kepheus: i come from python and use beautifulsoup. something along those lines would be great [19:29] CrabDude has joined the channel [19:30] DrMcKay: TheJH: what's minimum interval for two messages on IRC? [19:30] DrMcKay: (what interval your bot uses?) [19:30] kepheus: TheJH ok nvm, apriot also uses jsdom (and htmlparser) [19:30] TheJH: DrMcKay, dunno, my bot uses 2 seconds globally (e.g. one queue for all irc messages), but I'd ask in ##freenode [19:31] zanes has joined the channel [19:31] TheJH: actually, is it ## or #? don't remember [19:31] butu5: # [19:31] DrMcKay: whatever, I will use 2 s [19:31] natf has joined the channel [19:32] DrMcKay: !doc link timers#setTimeout [19:32] DrMcKay: oh, he's not here [19:32] bogomips has joined the channel [19:33] dmkbot has joined the channel [19:33] xerox: what docs would those be [19:34] hybsch has joined the channel [19:35] dmkbot has joined the channel [19:36] tomh- has joined the channel [19:36] tomh- has joined the channel [19:36] ksheurs has joined the channel [19:37] brolin has joined the channel [19:37] DrMcKay: I'm tempted to say "Works on my machine" [19:38] colinclark has joined the channel [19:38] context: drmckay: depends on network. [19:38] heythisisdave has joined the channel [19:38] DrMcKay: context, I know, it won't work on freenode :/ [19:38] neilk_ has joined the channel [19:38] context: "it" ? [19:39] Peniar has joined the channel [19:39] context: you can send like 3 a second max [19:39] DrMcKay: bot and module butu5 wrote [19:39] context: same for efnet [19:39] DrMcKay: yeah, but weird thing is, no message can be send [19:39] explodes has joined the channel [19:39] DrMcKay: even first one [19:39] context: drmckay: you're doing it wrong [19:39] DrMcKay: I must have clearly fucked up [19:39] aoberoi has joined the channel [19:39] context: drmckay: did it properly register with the network [19:39] DrMcKay: OH! I know! [19:40] context: you *must* send USER and NICK command before anything else [19:40] DrMcKay: no, I know [19:40] DrMcKay: yes, I do [19:40] DrMcKay: brb [19:40] context: heh [19:41] galaxywatcher has joined the channel [19:42] dmkbot has joined the channel [19:42] heavysixer has joined the channel [19:42] dmkbot: OHHAI [19:42] dmkbot: OHHAI [19:42] DrMcKay: fuck hell yeah! [19:42] butu5: what happened? u figured it out? [19:43] micheil: hmm, on a http.Request, are the headers always in lowercase? [19:43] sivy has joined the channel [19:43] DrMcKay: butu5: yes [19:43] micheil: ie, if client sends: Sec-WebSocket-Version, will the header key be: 'sec-websocket-version' ? [19:43] DrMcKay: node-irc doesn't wait until registerd [19:43] DrMcKay: *registered [19:44] arthurdebert has joined the channel [19:44] butu5: each time it tries to register then? [19:44] DrMcKay: no, it sends msgs before being connected [19:44] dmkbot has joined the channel [19:44] dmkbot: *Node Run Error* reported by tullyliu: https://github.com/joyent/node/issues/1559 [19:44] dmkbot: *Unhandled 'error' event* reported by th3hamm0r: https://github.com/joyent/node/issues/679 [19:44] butu5: :)) [19:45] DrMcKay: I may fill an issue against node-irc, it will be cool to have [19:45] DrMcKay: butu5++ [19:45] butu5: finally working.. thanks DrMcKay [19:45] tjholowaychuk has joined the channel [19:46] DrMcKay: butu5: thank you! [19:46] DrMcKay: ok, can some OP change topic now? [19:46] butu5: DrMcKay: how much interval u set? [19:46] DrMcKay: I didn't, it just waits for connection, just like it should [19:46] willwhite: hey tjholowaychuk, did the express API change in the latest patch release? [19:47] stagas: DrMcKay: nice! [19:47] tjholowaychuk: willwhite possibly a regression, check the changelog [19:47] tjholowaychuk: i document anything of significance [19:47] DrMcKay: stagas: it was butu5 :) [19:48] willwhite: tjholowaychuk: ok thanks [19:48] stagas: DrMcKay: is this on github? [19:48] DrMcKay: stagas: https://github.com/mmalecki/dmkbot [19:48] technoweenie has joined the channel [19:49] micheil: tjholowaychuk: can I get a sanity check? Are all http.ServerRequest headers lower-cased? [19:49] DrMcKay: (pinging OPs to change the topic) [19:49] DrMcKay: konobi: ping? [19:49] DrMcKay: Timeout, I guess [19:50] DrMcKay: piscisaureus: ping? [19:50] DrMcKay: Timeout, again [19:50] butu5: :) [19:50] DrMcKay: ryah: ping? [19:51] micheil: DrMcKay: mailing list it. [19:51] DrMcKay: micheil: will do [19:51] teadict has joined the channel [19:52] malletjo has joined the channel [19:52] japj: so we have a github issue bot now? [19:52] DrMcKay: japj: yes [19:52] japj: what does it do exactly? [19:52] DrMcKay: japj: fetch them using API, then report them here [19:52] DrMcKay: japj: https://github.com/mmalecki/dmkbot [19:52] tilgovi has joined the channel [19:53] DrMcKay: lib/modules/github.js [19:53] japj: is it already running? [19:53] ryah_: DrMcKay: what's up? [19:53] DrMcKay: japj: yes [19:53] voodootikigod: any idea why formidable/connect-form can't parse a multipart/form-data [19:53] voodootikigod: ? [19:53] stonebranch has joined the channel [19:53] DrMcKay: ryah: we've already got this bot, care to change topic? [19:53] japj: does it only trigger on new issues? [19:53] DrMcKay: s/ryah/ryah_/ [19:53] butu5: yes currently [19:53] DrMcKay: japj: yes [19:53] butu5: japj: any other suggestion? [19:54] tomtomaso has joined the channel [19:54] japj: it would be nice if you could search from here for (open) issues [19:54] DrMcKay: japj: jhbot can [19:55] japj: how many bots are here? [19:55] Yoric has joined the channel [19:55] DrMcKay: japj: well, if I told you, how would know that I'm not a bot? [19:56] Hamms has joined the channel [19:56] japj: !help [19:56] DrMcKay: japj: try /msg him (jhbot) [19:56] butu5: DrMcKay: we need to implement something for !help :) [19:56] algopats has joined the channel [19:56] japj: yes please [19:56] DrMcKay: butu5: yes, definitely [19:56] japj: I'm only getting spammed by jhbot now [19:57] japj: I should be spammed by all bots [19:57] japj: ;) [19:57] butu5: :) [19:57] DrMcKay: ok, just FYI: [19:57] DrMcKay: !doc link http#get [19:57] dmkbot: http://nodejs.org/docs/latest/api/http.html#http.get [19:57] DrMcKay: !doc link http#get v0.3.2 [19:57] dmkbot: http://nodejs.org/docs/v0.3.2/api/http.html#http.get [19:57] DrMcKay: !ping [19:57] dmkbot: DrMcKay, pong [19:57] DrMcKay: that's it for my bot :D [19:58] japj: !doc link fs [19:58] DrMcKay: japj: feel free to extend it, it's *really* easy [19:58] hybsch has left the channel [19:58] DrMcKay: japj: good point... [19:58] jamesd has left the channel [19:58] aheckmann has joined the channel [19:58] japj: what is a good point? [19:59] jamesd has joined the channel [19:59] butu5: yeah.. difficult to remember all function name [19:59] DrMcKay: it doesn't react to !doc link fs [19:59] DrMcKay: and it should [19:59] DrMcKay: and will be, tomorrow [19:59] jamesp has joined the channel [19:59] tristanseifert_ has joined the channel [20:00] DrMcKay: oh, ryah_ timed out [20:00] japj: is jhbot also on github? [20:00] DrMcKay: TheJH: ^ ? [20:00] zackattack has joined the channel [20:00] zeissoctopus has joined the channel [20:01] kenperkins: question: does node resolve dns names on every request? [20:02] DrMcKay: ryah_: ping? [20:02] cwang has joined the channel [20:02] ryah_: DrMcKay: oh wait - what's up? [20:02] cwang has left the channel [20:03] ryah_: bot. cool [20:03] DrMcKay: ryah_: topic name, we already have this bot :) [20:03] DrMcKay: ryah_: it's here: https://github.com/mmalecki/dmkbot [20:04] ryah_: ok.. im not op [20:04] ryah_: hm [20:04] ryah has joined the channel [20:04] japj: rofl [20:04] micheil: ryah_: you'd need to use your other account [20:04] DrMcKay: creative :D [20:04] cha0s has joined the channel [20:04] cha0s has joined the channel [20:05] DrMcKay: ryah_: also, would you review my test: https://github.com/joyent/node/issues/1531 ? (60+ lines) [20:05] antono has joined the channel [20:12] voodootikigod: tjholowaychuk: Any reason why node-formidable would work perfectly fine with a raw http server but not work with node.js [20:12] voodootikigod: err [20:12] voodootikigod: express [20:13] tjholowaychuk: voodootikigod: async middleware for non-GET/HEAD requests [20:13] tjholowaychuk: losing "data" events [20:13] tjholowaychuk: would be my guess [20:13] voodootikigod: ahh [20:13] micheil: DrMcKay: I'll have a look at it [20:14] cronopio has joined the channel [20:14] voodootikigod: any configs for express that come with express violate that? [20:14] micheil: DrMcKay: if I understand the problem it's testing. [20:14] voodootikigod: IE is there a list i can check against if I am not using my own middleware [20:14] ryah: DrMcKay: yes soon [20:14] slickplaid: is it common practice (or commanded by the BDFL) to put semi-colons after function(){}; calls? [20:14] DrMcKay: micheil: yes, only testing [20:14] DrMcKay: ryah: cool, thanks :) [20:14] migimunz has joined the channel [20:14] tjholowaychuk: voodootikigod core connect ones pause the incoming data to prevent against that sort of thing [20:15] tjholowaychuk: third-party ones might not be doing that though [20:15] voodootikigod: ok cool [20:15] voodootikigod: will check [20:15] voodootikigod: thanks [20:15] japj: tjholowaychuk: did you manage to republish express btw? (without the big logfile?) [20:15] DrMcKay: oh man. how come few days ago I had virtually no idea about node.js and now I can submit patches? [20:16] tjholowaychuk: japj yup [20:16] tjholowaychuk: not sure if it's much smaller now or not [20:16] tjholowaychuk: should be [20:16] micheil: slickplaid: I'm pretty sure the node.js code follows the closure jslint rules. [20:17] japj: 2.4.5 is still 5+ Mb, 2.4.3 is 31kb [20:19] fattytuna has joined the channel [20:19] wbw72 has joined the channel [20:20] zackattack has joined the channel [20:21] TheJH: japj, no, my bot isn't on github yet, but there's a gist with its code from a week ago or so [20:22] MarkMenard has joined the channel [20:22] DoNaLd`: some hint ? i generate PDF file with FOP tool in nodejs over exec function and i need automaticlly open/preview this generated PDF file in browser .. any solution ? [20:22] TheJH: japj, https://gist.github.com/1145342 [20:22] jhbot: TheJH, that version of npm (0.x) is ancient. update npm with `curl http://npmjs.org/install.sh | sudo sh`. [20:22] jhbot: TheJH, that version of nodejs is ancient, use 0.4.x or newer [20:22] TheJH: meeeh [20:22] TheJH: shut up, stupid bot [20:23] algopats has joined the channel [20:24] tnlogy: now I've made a small test using node.js it's really nice. have used box2d running the simulation on the server side and rendering it in the browser, so several browser windows sees the same simulation :) http://tnlogy.se:8080/ [20:25] aho has joined the channel [20:27] tjholowaychuk: tnlogy haha nice [20:27] tjholowaychuk: node-canvas or? [20:27] silently has joined the channel [20:27] AvianFlu has joined the channel [20:28] tnlogy: using canvas, is there any special node-canvas library? [20:28] tjholowaychuk: npm install canvas == node-canvas [20:28] tjholowaychuk: nvm [20:28] tjholowaychuk: i see [20:29] jamesd: is there finger paint and crayon plugins for node-canvas? [20:29] creationix has joined the channel [20:29] tnlogy: ah, crazy, but no, I'm just sending the coordinates to the client [20:30] Cover|Lunch: ACTION is working on a patch [20:32] apipkin: i'm trying to install socket.io on my dev server. when i run `npm install socket.io` i get a screen full of errors with notes about "—no-same-owner". any ideas what's going on? [20:33] ekryski has joined the channel [20:33] TheJH: apipkin, could you gist the whole error? [20:33] AvianFlu: compare the output of ls -al with the output of "whoami" [20:33] AvianFlu: sounds like they'll conflict :) [20:34] apipkin: TheJH: yeah cleaning up any "protected" data [20:34] natf has left the channel [20:34] _sorensen_: tnlogy: nice [20:34] tnlogy: :) [20:34] jhine has joined the channel [20:35] vikstrous has joined the channel [20:36] ttt has joined the channel [20:36] MUILTFN has joined the channel [20:37] slifty has joined the channel [20:37] apipkin: TheJH: https://gist.github.com/1157944 [20:37] TheJH: apipkin, your tar is broken [20:37] CoverSlide: tnlogy: umm yikes it creates a new simulation for every connection? [20:37] apipkin: ah [20:37] apipkin: how can i get a new tar? [20:38] TheJH: apipkin, dunno [20:38] apipkin: :) [20:38] TheJH: isaacs, could you help apipkin? [20:38] tnlogy: no, it's the same simulation for all connections, but my vps seems a bit slow :) [20:38] isaacs: apipkin: yeah, update tar :) [20:38] isaacs: apipkin: what OS? [20:39] apipkin: linux? [20:39] CoverSlide: oic [20:39] apipkin: ACTION cant remember that command ... [20:39] CoverSlide: it does seem a bit slow [20:40] CoverSlide: there's a node module for box2d.js? [20:41] jhbot has joined the channel [20:41] TheJH: just testing my bot, added a tar npm error autoresponse... https://gist.github.com/1157944 [20:41] jhbot: TheJH, your 'tar' program is broken/outdated, install a new one [20:41] apipkin: hmmm npm doesn't seem to be updating either… maybe it's all related [20:41] tnlogy: yes, but I found this general version a bit better https://github.com/HBehrens/box2d.js [20:41] TheJH: isaacs, does that error message look good? [20:41] tnlogy: or it worked for me :) [20:44] Stythys has joined the channel [20:46] ajkovar has joined the channel [20:46] apipkin: after running the "curl" sh install of npm, i get "npm@1.0.26 /usr/lib/node_modules/npm" It worked [20:46] apipkin: but then when i `npm -v` i get 1.0.1rc0 [20:47] isaacs: apipkin: `which npm` <-- what's that say? [20:47] simenbrekken has joined the channel [20:47] markdaws: hi - does node cache DNS lookups internally? or is each new connection going to create a lookup to the DNS server first? [20:47] isaacs: jhbot++ [20:47] apipkin: isaacs: /usr/local/bin/npm [20:47] isaacs: apipkin: ok... [20:47] isaacs: hash -r [20:48] isaacs: apipkin: run that% [20:48] isaacs: ^ [20:48] apipkin: k [20:48] CoverSlide: the os usually has an internal dns cache [20:48] TheJH: isaacs, :) [20:48] isaacs: CoverSlide: node uses c-ares, which always goes to the nameservers in /etc/resolv.conf [20:48] apipkin: isaacs: no output, goes back to prompt [20:48] isaacs: CoverSlide: there's an open issue to use the system's gethostaddr [20:48] isaacs: apipkin: yeah [20:49] isaacs: apipkin: but now `npm -v` should report the same thing as /usr/local/bin/npm -v [20:49] isaacs: oh! wait, no [20:49] isaacs: apipkin: i'm dumb, just noticed the broken path [20:49] isaacs: apipkin: you have node instaled in /usr/bin/node, not /usr/local/bin/node [20:49] markdaws: issacs: just to clarify, every new connection will then cause a DNS lookup? [20:49] isaacs: markdaws: no [20:49] isaacs: markdaws: but the first one may [20:49] markdaws: k [20:50] isaacs: markdaws: just that it doesn't use the os cache necessarily [20:50] apipkin: isaacs: yeah /usr/local/node [20:50] isaacs: apipkin: ok [20:50] isaacs: npm rm npm -g --prefix /usr/local [20:50] dshaw_1 has joined the channel [20:50] isaacs: apipkin: or: npm rm npm -g, then uninstall node from /usr/bin, install node in /usr/local/bin, and try again [20:51] isaacs: apipkin: i typically don't install any non-operating-system stuff directly in /usr [20:51] dshaw_ has left the channel [20:51] isaacs: stuff you install/compile goes in /usr/local (imo) [20:51] dshaw_ has joined the channel [20:51] context: /usr/local or /opt (generally for binary distributed stuff) [20:52] context: i believe some package manager in solaris uses /opt/local [20:52] rgl has joined the channel [20:52] rgl: hi [20:52] isaacs: context: yeah, solaris likes putting that stuff in /opt/local [20:52] isaacs: or /opt/nodejs or /opt/riak, /opt/custom, etc. [20:52] context: heh [20:53] apipkin: isaacs: yeah i'm not sure why it's in there :-\ I'll ask some of the hire-ups over the machine and get their input. thanks for pointing that out :) [20:53] rgl: is there a way to run npm on windows? [20:53] isaacs: rgl: not yet [20:54] isaacs: apipkin: np. takes a second set of eyes sometimes :) [20:54] rgl: isaacs, sooninsh? [20:54] isaacs: rgl: months. [20:54] dshaw_ has joined the channel [20:55] isaacs: rgl: use ryppi in the meantime, or just unpack your deps into node_modules. [20:55] rgl: isaacs, oh. wating for stable node on windows? [20:55] isaacs: rgl: no, it's waiting for me to have some time to spend on it, really :) [20:55] isaacs: but there were a few features that had to make it to the windows build to enable npm [20:55] isaacs: child_process.spawn, mostly [20:55] mehtryx has left the channel [20:56] context: so... firefox 6 :x [20:56] rgl: ah I see. oki doki. [20:56] thinkt4nk_ has joined the channel [20:56] Fabryz: AHAHAHAHAH [20:56] Fabryz: IT WORKS [20:56] TheJH: isaacs, you also mentioned that you'd like to have stuff like tar, gzip, .. in js, right? [20:57] isaacs: TheJH: yeah [20:57] thinkt4nk has joined the channel [20:57] Fabryz: http://wander.nodejitsu.com/ well it still crashes, but the fact that's working here arouses me [20:57] isaacs: that'll make it much more portable [20:57] japj: rgl: ryppi is at https://github.com/japj/ryppi [20:57] isaacs: even between *nixes, the tar thing sucks a lot [20:57] isaacs: TheJH: qv, that thing you just added to your bot :) [20:57] thinkt4nk has joined the channel [20:57] tristanseifert has joined the channel [20:57] thinkt4nk_ has joined the channel [20:58] Fabryz: disregard the game freezing on a new player, i'll fix that tomorrow :3 [20:58] Fabryz: anyone could click it and tell me if at least it connects? [20:58] TheJH: isaacs, can't say whether I'll be able to do it, but I'm halfway through the deflate rfc now :) [20:58] japj: isaacs: any reason why not switch to zip instead of tar.gz? (apart from compatibility with old npm ofc) [20:59] japj: Fabryz: I click play but it doesnt seem to do anything else? [20:59] tnlogy: Fabryz:seems to connect, and I see some tiles, but can't move :) [20:59] felixge has joined the channel [20:59] felixge has joined the channel [20:59] CoverSlide: don't use tar use cpio [20:59] felixge: isaacs: ping [20:59] japj: Fabryz: there are 3 players online btw ;) [20:59] Fabryz: tnlogy good at least it connects, the freeze bug is known [21:00] Fabryz: i'll fix that tomorrow [21:00] kadiks has joined the channel [21:00] Fabryz: use TAB to see player list [21:00] Fabryz: i'm happy =D [21:01] heavysixer has joined the channel [21:01] kadiks: hi, is it normal that node stops the execution of a call to the db while I run the script (because I don't use a callback before continuing the script) ? [21:01] japj: Fabryz: firefox behaves strange, chrome seems to do ok [21:02] Goober814 has joined the channel [21:02] Goober814 has left the channel [21:02] pita has joined the channel [21:02] Fabryz: Yes, I had problems with FF [21:02] japj: Fabryz: wait, they both work.. might be a click order issue [21:03] pita: is there a easy way to find out, which linux distribution we're using on node.js (without spawning a process) [21:03] Fabryz: sometimes FF would autorestart the socket connection [21:03] xtianw has joined the channel [21:03] tylerstalder has joined the channel [21:04] odyssey_2001 has joined the channel [21:04] Juan77 has joined the channel [21:04] isaacs: felixge: yo [21:05] CIA-65: node: 03Ryan Dahl 07gyp-openssl * r13b853e 10/ (1579 files in 122 dirs): import openssl from chrome - http://bit.ly/r2wUtG [21:05] isaacs: japj: i actually really like tar [21:05] felixge: isaacs: I'm looking into adding TAP support for my test library again, can you point me to some sample code on producing tap output with your modules? [21:05] isaacs: japj: i originally chose it becuase it's a good format for streaming, and i thought i might actually make use of that in node at some point. but that never materialized i guess [21:05] isaacs: felixge: npm install tap-producer [21:06] ryah: 1579 files changed, 458639 insertions(+), 14 deletions(-) [21:06] ryah: ACTION wipes his hands [21:06] japj: ooooh [21:06] japj: was that the last big part for windows ssl support? [21:06] ryah: those were 14 *really* annoying lines [21:06] isaacs: felixge: var tp = require("tap-producer").create(); tp.pipe(process.stdout); tp.write({ok: true, name: "the thing worked}); tp.write({ok:false, name: "the thing failed", stack:"blah blah", etc:"whatever}); tp.end() [21:06] ryah: but i worked around them with the half-million other lines [21:07] CoverSlide: holy shit [21:07] isaacs: ryah: hahaha [21:07] felixge: isaacs: sweet [21:08] micheil: hmm.. [21:08] isaacs: ryah: does that pull in some huge openssl binding from chrome or something? or just stop linking to eh system openssl? [21:08] liquidproof has joined the channel [21:08] micheil: I wonder how node-websocket-server should respond when it receives a connection it can't handle? [21:09] micheil: (two cases: protocol draft not supported, and upgrade request not a WebSocket upgrade request) [21:09] CoverSlide: shit github just froze trying to look at the commit [21:10] Yoric has joined the channel [21:10] ryah: isaacs: it builds openssl in node [21:10] CoverSlide: oh that's fun [21:10] isaacs: on, nice [21:10] isaacs: *oh, nice [21:10] CoverSlide: so no need to worry about ssl2 ? [21:11] CoverSlide: on deb etc. [21:13] felixge: isaacs: .create() doesn't exist? [21:14] algopats has joined the channel [21:14] jtrudeau has joined the channel [21:14] felixge: using `new` works so [21:15] CoverSlide: there is no creation [21:15] CoverSlide: it should be .evolve() [21:15] softdrink has joined the channel [21:15] DrMcKay has joined the channel [21:16] DrMcKay: TheJH: make it respond to things about require.paths as well [21:16] ecin has joined the channel [21:16] markwubben has joined the channel [21:16] pandeiro has joined the channel [21:16] TheJH: DrMcKay, do you have an example? I'd like to integrate more than just a few keywords to minimize false positives [21:17] CoverSlide: require.paths is being removed completely [21:17] Aphelion has joined the channel [21:17] Aphelion has joined the channel [21:17] DrMcKay: how do I set require.paths omg any1 help?!!!111!? [21:17] CoverSlide: i don't see how that would be ambiguous [21:17] sechrist_: If I use socket.io on a subdomain of the domain I am on, will I hit cross domain problems? [21:18] CoverSlide: sechrist_: it'll detect for that, and use jsonp if websockets don't work [21:18] CoverSlide: at least it should in theory [21:18] TheJH: CoverSlide, meh, if you give me a human I can lock into my computer and use as parser... then it'd probably work [21:18] tmpvar has joined the channel [21:18] middleca has joined the channel [21:19] CoverSlide: what are you using to parse them now? also, does it only work for gists? [21:19] DrMcKay: TheJH: humans? you mean this things with AI implemented OOTB? [21:19] japj: DrMcKay: require.paths was removed in node 0.5.2 [21:19] DrMcKay: japj: yes, I know (look up) [21:20] japj: ah, sorry.. only saw your "omg help me help me" there ;) [21:20] CoverSlide: require.paths could cause a heap of problems, but i think it would be be nice to at least have a `require.addPath` mathod [21:20] DrMcKay: japj: np :) [21:20] arnee has joined the channel [21:20] indexzero has joined the channel [21:20] ecin_ has joined the channel [21:21] freeformz has joined the channel [21:21] gkmngrgn has joined the channel [21:22] gkmngrgn has joined the channel [21:23] TheJH: CoverSlide, it currently looks for certain error messages in linked gists [21:23] CoverSlide: oh just error messages? [21:23] TheJH: CoverSlide, e.g. it can't detect a human saying "this doesn't work", but it can detect npms and nodes error messages [21:23] simenbrekken has joined the channel [21:23] TheJH: CoverSlide, yes [21:24] DrMcKay: TheJH: cool feature :) [21:24] stephank has joined the channel [21:24] felixge: isaacs: that was easy: https://github.com/felixge/node-fast-or-slow/commit/0271eb8eb1733c5f9ec1681eb2c9770f8989d8f9 [21:25] TheJH: I'm currently looking for npmv0.x, the graceful fs thing, a npm-self-update-failure and broken tar [21:25] ryan0x2 has joined the channel [21:25] TheJH: oh, just saw that it also detects it when people mention graceful-fs and npm in one message... now you, my bot! [21:25] TheJH: hmm... [21:26] TheJH: well, that one doesn't seem to work [21:26] DrMcKay: TheJH: greatness in the making :) [21:26] hij1nx has joined the channel [21:26] isaacs: felixge: you may want to rummage through tap-assert some. there are some other things that tap is designed to support. [21:27] isaacs: felixge: file, line, stack, message, etc. [21:27] hdon has joined the channel [21:27] ecin has joined the channel [21:27] isaacs: felixge: *any* diagnostic stuff you want to put on there is allowed. only "name" and "ok" are magic. [21:27] felixge: isaacs: I figured as much [21:27] bnoordhuis: indutny: https://github.com/indutny/node-spdy/pull/22 <- what's the issue with 0.5.4? [21:27] cjm has joined the channel [21:28] indutny: bnoordhuis: I dunno, but I trust eee-c [21:28] indutny: :P [21:28] felixge: isaacs: I'll play more with it once I get it integrated with this: https://wiki.jenkins-ci.org/display/JENKINS/TAP+Plugin [21:28] indutny: bnoordhuis: is he wrong? [21:28] bnoordhuis: indutny: i don't know, he doesn't mention what's wrong [21:28] indutny: :) [21:28] indutny: bnoordhuis: sorry I hadn't got enough time yet to investigate this [21:30] robi42 has joined the channel [21:31] zomgbie has joined the channel [21:31] ay has joined the channel [21:32] ay: Hi. while using the default http cklient. i can retrive res.statusCode to retrive the status numbercode. But I can't find the correct way to retrive the status message. [21:33] ay: for 200 usually beeing "OK" for example [21:33] kulor-uk has joined the channel [21:33] DrMcKay: ay: https://github.com/joyent/node/blob/master/lib/http.js [21:34] mrryanjohnston has joined the channel [21:34] Aphelion has joined the channel [21:34] DrMcKay: it's http.STATUS_CODES [21:34] CoverSlide: http.STATUS_CODES[200] [21:34] micheil: hmm.. if I do a socket.setTimeout(0); I should never get a "timeout" event on a socket, right? [21:35] CoverSlide: afaik that's how it works. I think it's set to 0 by default [21:35] micheil: yeah, http.js overrides, iirc. [21:36] robotmay has joined the channel [21:36] CoverSlide: for request [21:36] CoverSlide: i think [21:37] CoverSlide: hmm maybe not [21:38] tomtomaso has joined the channel [21:38] jzaksh has joined the channel [21:38] jzaksh has left the channel [21:38] DrMcKay: CoverSlide: do you know any host that timeouts? [21:38] jzaksh has joined the channel [21:38] slickplaid: is `process.memoryUsage()` in bytes? [21:39] CoverSlide: although maybe you can intercept it what another 'connection' event [21:39] aho: slickplaid, the docs don't mention this detail? [21:40] DrMcKay: !doc link process#memoryUsage [21:40] dmkbot: http://nodejs.org/docs/latest/api/process.html#process.memoryUsage [21:40] slickplaid: no. http://nodejs.org/docs/v0.4.9/api/process.html#process.memoryUsage [21:40] jamesd: compare against top, ps, prstat, etc... [21:41] DrMcKay: it has to be bytes, every sane OS reports it in this way [21:41] aho: hum... ok... well, it is in bytes, because that's the only thing which makes sense :> [21:41] ecin_ has joined the channel [21:41] CoverSlide: I was hoping it was in cupcakes [21:41] slickplaid: Just checking :D [21:42] CoverSlide: { rss: 4935680, <<--- 4935680 really super sweet cupcakes !!! [21:42] DrMcKay: aho: that's what I call argumentation! :D [21:42] DrMcKay: CoverSlide: I prefer unicorns [21:42] aho: what else could it be? bits? [21:42] aho: <: [21:42] aho: cubic dwords? [21:42] DrMcKay: but V8 just fails to cast it :/ [21:42] CoverSlide: well that's just silly [21:43] dob_ has joined the channel [21:43] kristsk has joined the channel [21:43] DrMcKay: anyway, that's bug in the docs, anyone care to report it? [21:44] DrMcKay: (or isn't it?) [21:44] mehlah has joined the channel [21:45] tilgovi has joined the channel [21:45] tilgovi has joined the channel [21:45] dob_ has joined the channel [21:45] DrMcKay: CoverSlide, aho: should docs mention it? [21:46] aho: yes [21:46] markdaws: with http.request, there is a pool of connections under the hood, if I make multiple requests using http.request ( to the same server) there should only be a minimal number of connections to the server, or new connections are being created? Thanks [21:46] tylerstalder has joined the channel [21:46] aho: i assumed they would [21:46] DrMcKay: so should I save the world or will you do it? [21:46] aho: your turn :f [21:46] ttpva has joined the channel [21:47] DrMcKay: aho: agaaaaaain? OK. [21:47] aho: sorry :I [21:47] DrMcKay: I'm getting tied of it, I hope I will at least get a health care refund [21:48] DrMcKay: oh, don't you tell me that git will now fetch all those changes :< [21:49] aho: *fetchy* *fetchy* *fetchy* [21:49] aho: :3 [21:49] DrMcKay: aho: :D [21:49] simenbrekken: can anyone recommend a simple key-value store database for node? sqlite backend is fine [21:50] DrMcKay: simenbrekken: leveldb? [21:50] kkaefer: simenbrekken: https://github.com/developmentseed/stash [21:50] DrMcKay: simenbrekken: it's *really* fast [21:50] fly-away has joined the channel [21:51] mcluskydodallas has joined the channel [21:51] kepheus: TheJH it works great now. I'm using a combination of request, htmlparser and soupselect. thanks [21:52] mike5w3c_ has joined the channel [21:53] CoverSlide: use redis [21:54] ecin has joined the channel [21:55] losing has joined the channel [21:55] Nexxy: simenbrekken, I recommend riak ;3 [21:55] tk has joined the channel [21:55] FireFly|n900 has joined the channel [21:55] Nexxy: it's like 8 lines from 0 to integrated [21:56] ckknight has joined the channel [21:57] zastaph: https://github.com/dodo/node-raphael requires node-waf which is part of nodejs-dev , but what is that? I found nodejs-dev, but the downloads are not working and it seems to be closing [21:58] konobi: node-waf is installed as part of nodejs [21:58] zastaph: ok [21:58] tekky has joined the channel [21:59] WhyNo has joined the channel [21:59] 17SAA6DK7 has joined the channel [21:59] clifton has joined the channel [21:59] mehtryx has joined the channel [22:01] middleca has left the channel [22:01] WhyNo: Howdy guys. So I am having a problem. Basically we have two events that fire, onComplete and onError. onComplete can fire, but then onError can fire if obviously there is an error. The problem is that basically we have code we want to execute a single time in both the callbacks. So, I thought maybe of setting a timeout in the onComplete callback and waiting a bit too see if the onError will fire. Total hack. Is there a better way. [22:01] Clex has joined the channel [22:02] tilgovi has joined the channel [22:02] tilgovi has joined the channel [22:04] CoverSlide: WhyNo: inherit EventEmitter and use .once [22:04] blueadept: anyone know how to forever.startServer consequtively in an app? [22:04] blueadept: i'm calling it in another part of my app and i'm getting "Connection is not writable" [22:06] adnam has joined the channel [22:06] WhyNo: @CoverSlide, can you perhaps write the example, see my example: http://pastie.org/2398946 [22:07] Epeli: What was the equivalent of python's if __name__ == "__main__" on Node? [22:07] mjr_: WhyNo: thing.once("error", function (err) {}) [22:07] WhyNo: You want the process name? [22:07] CoverSlide: Epeli: if(require.main == module) [22:08] Epeli: CoverSlide: thanks! [22:08] WhyNo: So, but both will fire, so onComplete fires, and then onError fires. I want onError to take precendence. [22:08] ecin has joined the channel [22:09] bradleymeck has joined the channel [22:09] WhyNo: onError should do the work, not onComplete [22:09] eignerchris_ has joined the channel [22:09] mjr_: WhyNo: you'll need to wrap that up somehow then. Set a flag somewhere, and check that flag before you do your thing. [22:10] c4milo1 has joined the channel [22:10] nibblebot has joined the channel [22:11] nail_: you could do like function commonToErrorAndComplete() { if (commonTo.ErrorAndComplete.done === 1) return; commonToErrorAndComplete.done = 1; /* do things */ } [22:11] nail_: yeah like mjr_ said [22:12] zastaph: hmm https://github.com/dodo/node-raphael says its not compatible with my node v0.5.3-pre "Required: 0.4.x" Are node versions not generally backward compatible? [22:12] CoverSlide: zastaph: 0.[odd-number].x are unstable builds [22:12] CoverSlide: and should not be used for production, only for testing [22:12] mjr_: What I usually do is something like this: function do_something(args, callback) { var r = make_req(function () { if (callback) { callback(); callback = null; }); r.on("error", function (err) { if (callback) { callback(err); callback = null; }}} [22:13] ecin_ has joined the channel [22:13] idefine has joined the channel [22:13] zastaph: CoverSlide, well i'm just developing for now.. but when NPM gives me this error, is it because some packages are hardcoded to only work with a certain version? [22:13] mjr_: Which is fine as long as your callbacks can't also trigger an error event on the same stack [22:13] CoverSlide: unstable builds are usually there to introduce new api changes, which will most likely break scripts written on previous versions [22:14] CoverSlide: zastaph: it's a safety feature, so you don't install it by accident before they had a chance to test it out [22:14] zastaph: well I just followed https://github.com/joyent/node/wiki/Installation [22:14] CoverSlide: on that version [22:15] zastaph: CoverSlide, is 0.4.x generally recommended, and compatible with most packages? [22:15] CoverSlide: zastaph: yes [22:15] ryah: im very happy that all of the char encoding issues are mostly figured out now [22:15] ryah: utf8 everywhere [22:15] apipkin has left the channel [22:15] ryah: it would suck if node had to do encoding transformations [22:16] CoverSlide: ascii being dropped? [22:16] loob2 has joined the channel [22:16] WhyNo: @mjr_ So, mind you mind coding up with you said with my example. Exactly, basically I am trying to call my own callback. http://pastie.org/2398997 [22:16] DrMcKay: aho: "All values are given in bytes" should be enough, right? [22:17] antono has joined the channel [22:17] CoverSlide: zastaph: I think you can do an npm --force install if you want to download it anyway to try [22:17] aho: sec [22:17] ecin_ has joined the channel [22:18] kmiyashiro: hey guys [22:18] kmiyashiro: got a question with no real answer, just want to see what you guys think of when I say "deployment" in terms of servers [22:19] CoverSlide: on second thought ... maybe not ... [22:19] zastaph: CoverSlide, nope that didn't work.. it's gonna take some work to uninstall node (and npm) when I compiled from sources i guess [22:19] aho: http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html#freeMemory%28%29 [22:19] aho: ", measured in bytes" [22:19] aho: :> [22:20] aho: guess that would work here too [22:20] DrMcKay: oh, that feels so sophisticated. and it's from Java. [22:20] ecin has joined the channel [22:20] DrMcKay: we take it ;D ! [22:20] aho: well, they got an army of technical writers [22:20] aho: the docs are pretty damn good ;) [22:20] DrMcKay: aho: well, that's possibly only good thing with Java [22:21] aho: tools, documentation, standardized coding conventions, and there are even conventions for writing documentation [22:22] aho: those are the good parts of java :) [22:22] WhyNo: @mjr_ Did you get my last message? [22:22] slifty has joined the channel [22:22] DrMcKay: aho: well, I would like those tools if they wouldn't use 512 MB of RAM ;) [22:22] mjr_: WhyNo: https://gist.github.com/1158186 [22:23] DrMcKay: oh, that reminded me that I didn't play Minecraft... [22:23] DrMcKay: at least in few hours [22:23] aho: ram is cheap (but i still dont use netbeans or eclipse if i can avoid it) :v [22:23] aho: komodo <3 [22:23] DrMcKay: vim <3 [22:23] pjacobs has joined the channel [22:24] mjr_: You can use the memory you saved by using vim to load up more java programs. [22:24] DrMcKay: mjr_: you mean, more Minecrafts? [22:24] mjr_: Sure, you have multiple copies going at once, right? [22:24] CoverSlide: eww komodo is made by activestate? [22:25] aho: what's wrong with activestate? [22:25] aho: i love those guys :v [22:25] catb0t has joined the channel [22:25] DrMcKay: mjr_: Sure, I've got two instances of multiplayer, so I can build things twice as fast [22:27] WhyNo: @mjr_ Ok, let me try and implement. [22:28] jhbot has joined the channel [22:28] slifty has joined the channel [22:28] copongcopong has joined the channel [22:29] tilgovi has joined the channel [22:29] tilgovi has joined the channel [22:30] DrMcKay: aho: https://github.com/joyent/node/pull/1560 [22:30] ecin has joined the channel [22:31] rj_ has joined the channel [22:31] Wa has joined the channel [22:31] bentkus: my god, why do we need women when we have node.js, i get orgasm all the time while coding [22:31] DrMcKay: bentkus: woman have boobs. [22:31] bentkus: node.js has browserify [22:31] aho: the java doc comments got a comma there... not sure if it's required [22:31] DrMcKay: bentkus: you got me. [22:32] bentkus: :D [22:32] bentkus: well, they got 2 of them [22:32] DrMcKay: bentkus: but node has express [22:33] bentkus: and socket.io [22:33] DrMcKay: aho: doc nazi :D ? [22:33] bentkus: and i jizzed in my pants [22:33] konobi: ACTION backs away slowly toward the door [22:33] DrMcKay: bentkus: node 3 : 1 woman [22:34] CoverSlide: women make babies [22:34] DrMcKay: CoverSlide: node can spawn child processes [22:34] aho: docs need to be as precise as necessary [22:34] aho: grammar n shit helps [22:34] aho: :> [22:34] WhyNo: @mjr_ That fragment you posted on gist, will that really, execute the callback in onError instead of the callback onComplete? Seems like it will execute onComplete set callback = null; I need too, execute the callback in onError, not onComplete if there was an error. [22:34] creationix: babies grow up and write things like node [22:34] creationix: :P [22:35] DrMcKay: crationix: valid point [22:35] kristsk has joined the channel [22:35] DrMcKay: *creationix [22:35] aho: *tabcompletion [22:35] aho: :> [22:35] mjr_: WhyNo: it'll run both handlers, but it won't call the callback if the callback has already been called, because it gets set to null. [22:36] mjr_: WhyNo: and because both functions close over the same callback var, if one sets it to null, then the other will see it as null [22:37] WhyNo: Sure, but see, in my case onComplete gets called, then fires the callback, but then an error happens, and fires again, though the callback already been called. Not what I need. I need onError to call the callback. Basically, onComplete has to WAIT and see if there is going to be an error, before executing the callback. [22:37] DrMcKay: creationix: but they can also become some literacy critics or something [22:37] DrMcKay: creationix: and at that point, it's kinda easier to terminate child process than a baby :> [22:37] fdenbow has joined the channel [22:37] mjr_: WhyNo: my thing does that. It makes it so the callback can only be called once, no matter who calls it. [22:38] mjr_: Multiple errors will still only call the callback once [22:38] bentkus: hmm, can someone give some good google keywords for html based popups (not window.open, but i want to create new widgets in the same window as a popup/menu) [22:39] chilts_: jQuery UI maybe [22:40] softdrink: creationix: how complete is node-sdl? [22:40] CoverSlide: ACTION sighs [22:40] CoverSlide: I remember when jquery wasn't used for everything [22:41] creationix: softdrink: depends on what you want [22:41] [[zz]] has joined the channel [22:41] DrMcKay: ah, those were the times, when real men written their own code [22:41] creationix: softdrink: it's not the entire SDL api for sure, but it has a fair amount [22:42] creationix: softdrink: I'm hopefully adding GLES enhanced blitting this weekend so I can use it in node-knockout [22:42] jamesd: i remember when real men wrote there code with a magnet and a needle ;-) [22:42] CoverSlide: and if you did use someone's code, it would be from Matt Kruse or Walter Zorn [22:42] softdrink: creationix: oh man, if you do, let me know :) [22:42] bicranial has joined the channel [22:42] creationix: softdrink: just follow me on twitter, I'll have to announce it so it's fair game in the competition [22:42] DrMcKay: jamesd: *real* man use butterflies [22:43] CoverSlide: whatever happened to them? [22:43] softdrink: sounds good [22:43] softdrink: any reason it requires 0.4 exactly? [22:46] Nexxy: ew [22:46] CoverSlide: ew? [22:46] Nexxy: my god, why do we need women when we have node.js, i get orgasm all the time while coding [22:46] Nexxy: ew. [22:46] Nexxy: of the TMI variety [22:46] CoverSlide: you mean you don't? [22:47] Nexxy: uh, no [22:47] Nexxy: as enjoyable as it is [22:47] bentkus: this is not a TMI [22:47] Nexxy: yeah, it kinda is [22:47] bentkus: TMI would be: I fart when I get an orgasm [22:47] Nexxy has left the channel [22:47] CoverSlide: i got a bucket under my chair and box of tissues on by desk [22:47] bentkus: :D [22:50] Ratty_ has joined the channel [22:50] bentkus: people cant handle this channel [22:50] bentkus: i bet it was a woman anyway [22:50] DrMcKay: bentkus: there are no woman on the Internet [22:51] CoverSlide: what is this .. woomin that you speak of? [22:51] bentkus: all women on the internet are phat dudes? [22:51] DrMcKay: CoverSlide: it's kind of a robot, but it has this AI thing [22:51] CoverSlide: I'd tap that [22:52] DrMcKay: I would git push that [22:52] DrMcKay: bentkus: yes, didn't you know? [22:53] bentkus: there are only pictures of them [22:53] bnoordhuis: guys, behave [22:54] DrMcKay: bnoordhuis: are you actually a... woman? [22:54] Ratty_: I have an npm package that has a dependency on something I haven't published yet. Can I still install it without editing the dependency out? [22:54] Ratty_: The depdency is already installed [22:55] pdonald has joined the channel [22:55] DrMcKay: Ratty_: npm link? [22:55] Ratty_: that still complains about the dependency [22:56] DrMcKay: Ratty_: is dep installed globally? [22:56] Ratty_: yeah [22:56] small has joined the channel [22:56] DrMcKay: just copy it to node_modules [22:56] Ratty_: hmm ok. Ta [22:56] Nuck has joined the channel [22:56] Ratty_: I tried to setup my own registry but couchdb is a bitch to install. [22:56] small: i have a horrible bug and i brok the debugger! [22:57] elifou``: what's the best place to report bugs? github issues? [22:57] DrMcKay: elifou``: yes [22:57] elifou`` has left the channel [22:58] DrMcKay: IRC client for Emacs? that would kill my productivity [22:58] drudge has joined the channel [22:58] int_64 has joined the channel [23:00] v8bot_ has joined the channel [23:00] jamesd: DrMcKay, irc or emacs? one or the other would be fatal [23:00] CIA-65: node: 03Maciej Małecki 07v0.4 * re150bc4 10/ doc/api/process.markdown : docs: process.memoryUsage returns memory usage measured in bytes - http://bit.ly/mZE3av [23:01] CIA-65: node: 03Maciej Małecki 07master * r962a9e8 10/ doc/api/process.markdown : docs: process.memoryUsage returns memory usage measured in bytes - http://bit.ly/oA0Aql [23:01] creationix has left the channel [23:01] DrMcKay: jamesd: IRC in my editor [23:01] DrMcKay: oh, it means it got merged? cool. [23:01] jamesd: DrMcKay, i fully understood... either emas or irc alone is enough to be fatal for productivity [23:01] DrMcKay: and backported, it seems [23:02] DrMcKay: jamesd: vim ftw! [23:02] small has joined the channel [23:02] DrMcKay: thanks, bnoordhuis [23:03] bnoordhuis: DrMcKay: my pleasure [23:04] soapyillusions has joined the channel [23:05] binaryjohn has joined the channel [23:06] StanlySoManly has joined the channel [23:11] maushu: So redis is getting rid of vm. [23:13] boringjazz has joined the channel [23:13] gnrfan has joined the channel [23:13] boringjazz has left the channel [23:13] piscisaureus has joined the channel [23:14] ryan0x2 has joined the channel [23:15] Ratty_: Can I install the depdencies in a package.json without having to install or link the thing its in? [23:15] ryanfitz has joined the channel [23:15] DrMcKay: Ratty_: yes, just copy them to node_modules directory in your package [23:15] Ratty_: I mean automatically [23:16] DrMcKay: Ratty_: npm :D [23:16] Ratty_: Yeah, but how? [23:16] DrMcKay: Yes, I know, this is not your case since your dependency is not published [23:17] Ratty_: Even if it were published, I don't know how [23:17] DrMcKay: well, not that I know of [23:17] DrMcKay: Ratty_: npm install in directory with package.json [23:17] Ratty_: Doesn't that install the directory rather than the depdendencies it wants? [23:19] DrMcKay: Ratty_: no [23:19] DrMcKay: with no arguments it downloads dependencies and puts them in node_modules [23:20] Sorella has joined the channel [23:20] ryan0x2_ has joined the channel [23:20] Ratty_: Oooh. Awesome. Thanks. [23:21] DrMcKay: Ratty_: :) [23:22] Spion has joined the channel [23:24] bibabot has joined the channel [23:25] heavysixer has joined the channel [23:28] edude03 has joined the channel [23:28] Ratty_: It seems my mad idea is working so far. [23:30] DrMcKay: Ratty_: mad idea? world domination? [23:31] Ratty_: Could be [23:35] benolee has joined the channel [23:36] stagas has joined the channel [23:36] Eber has joined the channel [23:37] benolee has joined the channel [23:37] Eber: Does anyone here uses Zepto or can point me to a nice way of putting form elements into an object? [23:37] _sorensen_: with jquery i just create a JSON object of name : query [23:39] csanz has joined the channel [23:40] _sorensen_: i imagine you can do something similar [23:40] _sorensen_: formData = { username : $('#username') } [23:41] tjholowaychuk: Eber https://github.com/visionmedia/caustic/blob/master/lib/caustic.js#L229 [23:41] tjholowaychuk: if it's like jquery [23:41] tjholowaychuk: you might have to do something similar to that [23:41] pdelgallego has joined the channel [23:41] tjholowaychuk: the serializedArray thing is kinda lame to work with [23:41] _sorensen_: or that :P [23:42] ChrisOnNode has joined the channel [23:43] blakmatrix has joined the channel [23:43] chrisdickinson: tjholowaychuk: did you make any progress on that instrumenting project you were working on? [23:43] reid has joined the channel [23:43] tjholowaychuk: chrisdickinson haven't had time :( [23:44] chrisdickinson: ): [23:44] _sorensen_: instrumenting project? [23:44] _sorensen_: node banjo? [23:44] _sorensen_: :D [23:44] chrisdickinson: tjholowaychuk: i've got something, maybe we could compare notes? https://github.com/chrisdickinson/node-piano [23:44] tjholowaychuk: cool man [23:44] tjholowaychuk: i've gotta run soon but remind me [23:44] chrisdickinson: (was thinking about making it also be able to hook onto object prototypes) [23:44] chrisdickinson: totally [23:45] chrisdickinson: (thanks!) [23:45] heavysixer has joined the channel [23:45] _sorensen_: is that project working? would like to see a demo [23:45] chrisdickinson: _sorensen_: it should work [23:46] tjholowaychuk: we definitely need an abstract instrumenter, the one i was doing was pretty abstract (should have been its own project though) [23:46] tjholowaychuk: i was building a live code heatmap thing [23:46] tjholowaychuk: with socketio [23:46] chrisdickinson: ooo. [23:46] tjholowaychuk: so while your app is running you can see the nodes light up [23:46] tjholowaychuk: but [23:46] tjholowaychuk: realized i dont have the time haha [23:46] chrisdickinson: yeah, i was thinking about abstracting the code out so that you could hook onto object prototypes during runtime to profile them [23:47] chrisdickinson: ideally you'd be able to hook onto modules, but i'm not sure if that's possible. [23:47] tjholowaychuk: basically i think all we need is js in -> js out, instrumented with $cov[file][line]++ etc [23:47] chrisdickinson: that's more or less what runforcover does [23:47] xerox: there is a jscoverage tool [23:47] tjholowaychuk: xerox yeah we want the same thing but not c [23:47] chrisdickinson: (https://github.com/chrisdickinson/node-runforcover ; i've been big into require hooks lately.) [23:47] tjholowaychuk: pretty much [23:48] tjholowaychuk: chrisdickinson ah [23:48] Yoric has joined the channel [23:48] chrisdickinson: ACTION apologizes for barfing a ton of github links into the channel [23:49] tjholowaychuk: even lower level would be nice, for cases like running say a test suite with 4 cores in parallel and merging the test cov [23:49] tjholowaychuk: then reporting [23:49] DrMcKay: chrisdickinson: nice projects, worth looking [23:49] tjholowaychuk: just need something less opinionated [23:49] chrisdickinson: DrMcKay: thanks! [23:49] tjholowaychuk: js -> js, and a bit of analysis would be nice [23:49] chrisdickinson: tjholowaychuk: less opinionated as in less tied to `require`? [23:50] tjholowaychuk: just pass it the raw obj cov and output return useful stuff as an obj [23:50] tjholowaychuk: yeah [23:50] tjholowaychuk: not tied to anything [23:50] jtrudeau has joined the channel [23:50] chrisdickinson: i'd say bunker would be the best bet in that respect. [23:50] [[zz]] has joined the channel [23:51] chrisdickinson: runforcover is just a specific application of bunker to the node environment [23:51] tjholowaychuk: bunker doesnt do anything though [23:51] tjholowaychuk: that's why everyone keeps rewriting this cov stuff [23:51] tjholowaychuk: we just need js -> js with lines -> run it however you want -> pass $cov to stats() -> return cool stuff [23:52] chrisdickinson: the hard bit is that you need to be able to do js -> js -> (run in the same context as current context) -> stats [23:52] chrisdickinson: and bunker's approach is that it'll create the context for you. runforcover just creates a point-for-point clone of the expected node context. [23:53] tjholowaychuk: it shouldnt care about any of that [23:53] tjholowaychuk: where it runs and how the js is loaded [23:53] tjholowaychuk: is a non-goal for something like that IMO [23:53] chrisdickinson: to get code to run correctly, it kind of has to emulate the environment. [23:53] tjholowaychuk: let the test frameworks do fs.readFile / vm blah blah if they want [23:54] tjholowaychuk: just like jscov, it doesnt care how you run the js [23:54] tjholowaychuk: it just gives you some instrumented js [23:54] tjholowaychuk: the way it should be, minus the C [23:55] chrisdickinson: bunker does that though. it takes JS, and gives you back decorated JS. then you can run it however you like (provided you pass in the appropriate context -- the bunker context vars) [23:56] tjholowaychuk: yeah but it doesnt produce code coverage related stuff [23:57] tjholowaychuk: nor analysis [23:57] tjholowaychuk: it's just a glorified visitor [23:57] tjholowaychuk: which does basically nothing [23:57] chrisdickinson: it gives you the pieces you need to put together the coverage data, though [23:57] tjholowaychuk: sure [23:57] tjholowaychuk: im just saying no one has written something like jscov yet [23:57] chrisdickinson: and the missing pieces -- the code for finding that -- is really really tiny. [23:57] tjholowaychuk: yeah i know [23:58] tjholowaychuk: it would be trivial to implement on top of uglify alone [23:58] tjholowaychuk: but no one has done it [23:58] Sazpaimon__ has joined the channel [23:58] couchquid has joined the channel [23:59] charleyd has joined the channel [23:59] chrisdickinson: so it should go (js in) -> js function taking the appropriate context? [23:59] chrisdickinson: (in this case, whatever you're wrapping statements with)