[00:00] ropes has joined the channel [00:07] Wa has joined the channel [00:07] cccaldas has joined the channel [00:09] sonnym has joined the channel [00:12] galaxywatcher has joined the channel [00:12] reid has joined the channel [00:15] kofno has joined the channel [00:15] gxdssoft has joined the channel [00:18] springmeyer has joined the channel [00:21] perlmonkey2 has joined the channel [00:22] ryancnelson has joined the channel [00:22] jerrysv has joined the channel [00:24] SAnandNarayan has joined the channel [00:25] cccaldas has joined the channel [00:26] johnduhart has joined the channel [00:27] neoesque has joined the channel [00:31] clifton has joined the channel [00:36] xandrews has joined the channel [00:38] daveluke has joined the channel [00:43] tuxedo has joined the channel [00:45] cjm has joined the channel [00:46] mcluskydodallas has joined the channel [00:49] ryanfitz_ has joined the channel [00:52] softdrink has joined the channel [00:53] arpunk has joined the channel [01:00] corytheboyd has joined the channel [01:02] kofno has joined the channel [01:06] iFire has joined the channel [01:09] willwhite has joined the channel [01:10] unlink has joined the channel [01:12] apanda has joined the channel [01:13] smolyn has joined the channel [01:14] admc has joined the channel [01:15] kriszyp has joined the channel [01:16] sjbreen has joined the channel [01:19] admc has joined the channel [01:22] Aria has joined the channel [01:22] admc1 has joined the channel [01:24] rwaldron has joined the channel [01:25] heavysixer has joined the channel [01:26] wookiehangover has joined the channel [01:26] fr0stbyte has joined the channel [01:28] ryanfitz has joined the channel [01:31] [[zz]] has joined the channel [01:31] Xeon06_ has joined the channel [01:32] jtsnow has joined the channel [01:33] sonnym has joined the channel [01:34] saiko-chriskun has joined the channel [01:35] c4milo1 has joined the channel [01:35] ircretary has joined the channel [01:36] galaxywatcher has joined the channel [01:36] ditesh|cassini has joined the channel [01:36] isaacs: ircretary: hi, welcome back [01:36] ircretary: isaacs: I'm not sure what to do with that command. Ask for help in PM. [01:36] isaacs: ircretary: hello [01:36] ircretary: isaacs: Hello :) [01:36] boehm has joined the channel [01:36] piscisaureus has joined the channel [01:36] yokoaway has joined the channel [01:37] davidascher has joined the channel [01:38] abraxas has joined the channel [01:43] catphive has left the channel [01:44] TheCoreh has joined the channel [01:44] TheCoreh has joined the channel [01:44] TheCoreh has joined the channel [01:45] TheCoreh: hey guys, just wondering... how do you remove a route on express after you have added it? [01:47] Fredderf has joined the channel [01:49] daveluke has joined the channel [01:49] stelcheck has joined the channel [01:53] stelcheck has joined the channel [01:55] springmeyer has joined the channel [01:55] Kami_ has joined the channel [01:55] captain_morgan has joined the channel [01:56] Sidnicious has joined the channel [01:56] Sidnicious has joined the channel [01:59] kofno has joined the channel [02:01] davidascher has joined the channel [02:03] agnat_ has joined the channel [02:04] jshaw has joined the channel [02:05] d0k has joined the channel [02:05] softdrink has joined the channel [02:08] Nuck: I had a chat with all of dA's develoeprs today [02:08] Nuck: Guess what they said. [02:08] Nuck: " NodeJS doesn't scale" [02:08] Nuck: RAAAAAAAAAAGE [02:08] Aria: But nodejs is web scale. [02:09] Nuck: inorite [02:09] Nuck: They tell me Node doesn't scale when they're using PHP and MySQL [02:09] andrewfff has joined the channel [02:09] Nuck: They're behind a CDN and STILL they have asstons of servers [02:09] Nuck: I think they said 150 full servers [02:10] Nuck: With up to 64GB of RAM [02:10] Corren has joined the channel [02:10] igl: ^^ [02:11] Aria: Hah. Fun. [02:11] Aria: Sounds like my new job. [02:12] Aria: "The chat server nearly took down the service. It checks every 2.5seconds!" [02:12] Aria: ... they spin up a whole Apache process for each hit. [02:12] Nuck: lmao [02:12] Aria: Yes, they do IM by polling. [02:13] igl: im not surprised by much anymore ^^ [02:14] SubStack: polling >_< [02:15] fayce has joined the channel [02:16] Nuck: long polling could be fine [02:16] Aria: Nope! Regular ol' short polling. [02:16] Nuck: Actually, even REGULAR polling could be fine [02:16] tlrobinson has joined the channel [02:16] Aria: (And long polling would be worse: this is Apache without mpm_event) [02:16] Aria: But they have 30,000 clients on line at any given time. [02:16] Nuck: But spinning up an apache process per connection [02:16] Nuck: Aria: Oh fuck, what company is this? [02:17] Aria: Can't say. But it's a work in progress. [02:17] Aria: If there's time I'll probably fix it. Probably with node. [02:18] igl: i know 2 php devs who would do exactly the same ^^ [02:18] igl: rather throw hardware at it instead of looking outside of php<>apache [02:18] xandrews has joined the channel [02:19] teax64 has joined the channel [02:19] Aria: Yeah. [02:19] Aria: Or it was just something written under time pressure by junior developers. [02:20] Nuck: Really? [02:20] Nuck: Aria: Do you work for Facebook? lol [02:20] igl: hes talking about the google+ chat im sure :> [02:21] Nuck: I actually know Facebook throws hardware at their problems [02:21] Aria: I do not. [02:21] robtmr has joined the channel [02:21] Nuck: Wasn't it that when they first started, they [02:21] Aria: And Facebook's chat came up as an example of how to do it right today. [02:21] Nuck: d restart whole data centers at a time? [02:21] Aria: Sure. [02:22] Nuck: Aria: Tell them to study deviantART chat. [02:22] Nuck: Now THAT is a prime example. [02:22] Aria: Yeah? Is it good? [02:22] Nuck: Or joltproject.com/client/ [02:22] Nuck: (shameless bump) [02:22] Aria: Hehe [02:22] Nuck: I worked for jolt for a while [02:22] mapleman1 has joined the channel [02:23] Corren has joined the channel [02:23] kriszyp has joined the channel [02:24] Nuck: But yeah, I hear Facebook would shut down data centers weekly [02:24] Nuck: A sector at a time [02:24] Nuck: Just because of memory leaks [02:24] Aria: Yep. [02:24] zeade has joined the channel [02:24] Nuck: ACTION shakes his head [02:24] Nuck: I can't believe a company could be THAT stupid. [02:25] Aria: Why? It was the normal technology of the time, and PHP did leak like mad. [02:25] Aria: So did Apache. [02:25] Nuck: They STILL USE PHP<>Apache [02:25] Nuck: I'm pretty sure deviantART does too [02:25] rhdoenges_: bnoordhuis: ping [02:26] ekryski has joined the channel [02:26] Nuck: Just one more reaon why to make my own art community lol [02:26] devaholic: PHP was cool [02:27] devaholic: it was hip [02:27] Aria: Heh. joltproject/client told me to screw off. [02:27] Nuck: Aria: 404? [02:27] Aria: No, something about my browser. [02:27] kofno has joined the channel [02:27] jj0hns0n_ has joined the channel [02:27] Nuck: AriaYou have flash? [02:28] Aria: No, why? [02:28] Nuck: It's old so it relies on flash for a socket layer :P [02:28] Aria: Heh. Oy. [02:28] Nuck: Nowadays we have socket.io [02:28] Aria: Flash is all crashy and makes my browser hang. [02:28] Aria: So it went out a while ago. [02:28] paulwe: socket.io uses flash [02:28] Nuck: Yeah but it has more routes too [02:29] kartmetal: flash is a sometimes transport. [02:29] kartmetal: kinda like cookie. [02:29] skm has joined the channel [02:29] dreamdust has joined the channel [02:29] paulwe: wasn't websocket support disabled because of vulnerabilities? [02:29] patcito_ has joined the channel [02:29] kartmetal: in Firefox yes. Chrome never disabled it, I think. [02:30] Nuck: Chrome doesn't give a fuck [02:30] killfill: i hope android enable websocket soon in the browser... :P [02:30] Nuck: Because it's secure enough as it is lol [02:31] Nuck: http://joltproject.com/~nuck/client/ <-- my fork [02:31] markbao_: hey [02:31] markbao_: having an async issue with loops [02:31] markbao_: code I'm trying to run: https://gist.github.com/595bc79f2993bba7e9da [02:31] markbao_: results inline [02:31] Nuck: The server is in Python, but I'm thinking of remaking a server in Node... [02:32] darshanshankar has joined the channel [02:32] harthur has joined the channel [02:32] Stythys has joined the channel [02:34] Nuck: Ugh [02:34] Nuck: I need a separate client developer for this site :V [02:34] Nuck: As it stands, I'm doing damn near everything [02:34] Me1000 has joined the channel [02:35] chjj: thats the best way to do it [02:35] Nuck: I can't do both the client and server [02:35] Nuck: I need them to be worked on in parellel [02:36] chjj: nonsense [02:36] isaacs has joined the channel [02:36] jamescarr has joined the channel [02:36] chjj: no excuses, code like a champion [02:36] Nuck: I can't keep switching between client & server [02:36] ryan[WIN] has joined the channel [02:36] Nuck: As much as I WANT to do both, I CAN'T. [02:36] chjj: hehe, thats what ive been doing the past few days, i drift between the client and server [02:37] te-brian has joined the channel [02:37] Nuck: Trying to think of what budding JS devs I might be able to shanghai... [02:37] mattcodes has joined the channel [02:37] Nuck: Hmm, there's a few on dA [02:37] matt_ has joined the channel [02:39] Stythys has joined the channel [02:39] jamescarr: is there a good example of using express to compile coffeescript for the client side? [02:40] fattytuna has joined the channel [02:40] cce_ has joined the channel [02:42] jtsnow has joined the channel [02:43] Nuck: Is there a single person in the entire community that actualy LIKES the new logo? [02:43] svend_ has joined the channel [02:43] Nuck: There's some who are neutral, and many who hate it [02:43] jamescarr: Nuck, me ;) [02:43] Nuck: But I've yet to find a single person who likes it. [02:43] jamescarr: I think it's great [02:43] Nuck: jamescarr: NOBODY CARES ABOUT YOU NOW STFU [02:43] Nuck: :P [02:44] Nuck: jamescarr: Now go be emo lol [02:44] brettgoulder has joined the channel [02:45] jamescarr: nah, I'll just go back to working on my app so i can get my next paycheck ;) [02:45] Nuck: fair enough lol [02:46] cccaldas has joined the channel [02:47] jakehow has joined the channel [02:48] mattcodes has joined the channel [02:48] mattcodes: #git [02:48] nightshift has joined the channel [02:48] Nuck: mattcodes: In there, done that [02:52] Kami_ has joined the channel [02:52] mynyml has joined the channel [02:54] HelloWorld has joined the channel [02:55] HelloWorld: hello [02:55] HelloWorld: does send() do any formatting? [02:59] catphive has joined the channel [02:59] chjj: send? [02:59] catphive has left the channel [03:00] rwaldron has joined the channel [03:01] HelloWorld: yeah [03:03] ghost has joined the channel [03:05] pandeiro has joined the channel [03:06] xandrews has joined the channel [03:07] pandeiro_ has joined the channel [03:08] Corren: does anyone have an example a really nicely factored project using express for both an api and server composition? [03:08] Corren: I'd just like to learn about good design practices [03:09] othiym23 has joined the channel [03:10] catphive has joined the channel [03:13] perlmonkey2: I'm trying to figure out why my express sessions aren't being written to the db. I'm using the connect-mongodb store, but it looks like the memory store is being used. Here's my config line: app.use(express.session({ store: mongoStore(app.set('db-uri')), secret: 'supersecret' })); [03:14] davidascher has joined the channel [03:15] perlmonkey2: I'm also using dnode which after inspecting the lib appears to add some middleware which does something with the request object. [03:17] JoshC1 has joined the channel [03:18] jesusabdullah: perlmonkey2: I doubt dnode is borking the req object. [03:18] perlmonkey2: jesusabdullah: yeah, I didn't see anything in dnode which would overwrite the session store (that'd be bizarre), but it might be a clue to something. [03:18] hij1nx has joined the channel [03:18] geoscooter has joined the channel [03:19] pauls has joined the channel [03:19] jesusabdullah: speaking of dnode, I believe SubStack also wrote an alternate session middleware for express [03:19] jesusabdullah: node-sesame or some such [03:20] jesusabdullah: though, I don't believe it has a mongo plugin [03:20] metellus has joined the channel [03:20] eboyjr has joined the channel [03:21] perlmonkey2: jesusabdullah: cool I'll dig through his libs and see what's there. But some of the stuff looks a bit crufty and uses deprecated functions (not complaining). [03:22] jamescarr: hmmm [03:22] jamescarr: a little off topic, but anyone here using backbone.js? [03:23] jesusabdullah: it depends on its age [03:23] jesusabdullah: I think sesame might be stale, as it was written a while ago [03:23] jesusabdullah: They've been using node since at least 0.2 [03:23] perezd has joined the channel [03:23] jklabo has joined the channel [03:25] alnewkirk has joined the channel [03:26] Kami_ has joined the channel [03:28] sub_pop has joined the channel [03:28] perlmonkey2: jamescarr: you looked at the nodepad example from DailyJS? [03:28] perlmonkey2: I believe it uses backbone [03:29] skm has joined the channel [03:29] zivester has joined the channel [03:32] TheCoreh has left the channel [03:32] perlmonkey2: jesusabdullah: looks like it is dnode-stack. [03:33] perlmonkey2: Wow, like 28 lines of code [03:33] Me1000 has joined the channel [03:34] unlink has joined the channel [03:34] unlink has joined the channel [03:35] perlmonkey2: ah, built on seq. Uses Seq.ap which is deprecated, but still works. hmm, dnode is cooler than all get out, but I've spent 3-4 evenings trying to get it work with express. Maybe I should just use express and get something done :P [03:35] mike5w3c has joined the channel [03:35] clifton has joined the channel [03:36] Transformer has joined the channel [03:37] eboyjr: SubStack: The Node Turtle [03:37] eboyjr: SubStack: What's the turtle represent? [03:39] Spion_ has joined the channel [03:39] sourcode has joined the channel [03:40] jesusabdullah: perlmonkey2: It definitely works with express, since they use it with express in production. [03:40] jesusabdullah: perlmonkey2: When SubStack gets back from the store you should talk to him about it [03:40] eventual- has joined the channel [03:40] rchavik has joined the channel [03:41] perlmonkey2: jesusabdullah: He's probably answered this a hundred times. I probably just need to keep looking on the net for an answer. [03:41] jesusabdullah: I bet not, actually. <_<; [03:43] rhdoenges: the turtle represents nothing more and nothing less than a turtle [03:43] rhdoenges: that's basically what he told me [03:43] chjj: that turtle with v8 strapped to its back should be the node logo, it really should [03:43] jesusabdullah: The turtle represents awesome [03:43] rhdoenges: it should be the mascot [03:43] rhdoenges: the old logo is in the drawing. [03:43] perlmonkey2: jesusabdullah: I'll hit him up tomorrow. I'm gonna sign on if a few. [03:44] perlmonkey2: besides I can't even get the non-memorystore to work :P [03:44] jesusabdullah: ooh [03:44] jesusabdullah: I see [03:44] jesusabdullah: Yeah, good plan perlmonkey [03:44] perlmonkey2: thanks for the heads up [03:45] eboyjr: http://substack.net/images/node_turtle.png [03:45] devaholic: chjj: i think i said this yesterday [03:45] eboyjr: The turtle looks unamused [03:45] konobi: rhdoenges: it's turtles all the way down [03:45] devaholic: and i totally agree [03:45] barbz has joined the channel [03:45] devaholic: the turtle should be the mascot [03:45] jklabo has joined the channel [03:45] eboyjr: I think there is trademark issues with that though [03:46] devaholic: dont think, just do [03:46] jesusabdullah: in what sense, eboyjr? [03:46] eboyjr: do, get sued [03:46] jesusabdullah: Who do you think is gonna get upset? [03:46] rhdoenges: who gives a flying turtle about that [03:46] eboyjr: I'm just thinking about the use of the name Node.js [03:46] rhdoenges: oh, that? [03:47] jesusabdullah: I think it'll be the unofficial mascot, if only because SubStack is going to draw lots of turtle-themed node art [03:47] jesusabdullah: I have been too actually :P [03:47] StepanKuzmin has joined the channel [03:47] rhdoenges: I drew moses the other day [03:47] rhdoenges: but I digress. [03:47] jesusabdullah: up bup bup [03:48] mikeal has joined the channel [03:49] rhdoenges: http://www.youtube.com/watch?v=CMNry4PE93Y [03:49] rhdoenges: that is all I have to say about this issue [03:49] Determinist has joined the channel [03:51] TheEmpath has joined the channel [03:51] TheEmpath: hail nodelings [03:51] TheEmpath: i've implemented node.js at my game company [03:52] azeroth_ has joined the channel [03:52] cha0s has joined the channel [03:52] cha0s has joined the channel [03:52] TheEmpath: they program in php and flash, which is ass cheeks, because if you want to debug the server calls, it interupts the control flow and busts the client. i made a node server and a trace() call in php that socket connects to the node server and routes the contents of the trace to the user who is connecte dto a page via socket.io [03:53] jesusabdullah: Haha, awesome [03:53] TheEmpath: this way the server keeps running, the error gets reported, i can get alot of data about whats going on in the server, and i can measure its changes over time [03:53] TheEmpath: UNFORTUNATELY the call to the server has to be blocking [03:53] raymorgan has joined the channel [03:53] TheEmpath: because the php server instance can actually end before it sends all the data to node.js [03:53] raymorgan has left the channel [03:54] TheEmpath: which in itself isn't a big deal [03:54] TheEmpath: but it is when you expect properly formated json [03:54] jamescarr: sheesh [03:54] jamescarr: is there a simpler backbone.js example out there? j [03:54] jamescarr: just something small and simple to start with [03:55] jamescarr: so far, the todo example and the notepad example are... quite involved [03:57] boaz has joined the channel [03:57] Kami_ has joined the channel [03:58] boaz has joined the channel [03:59] tmzt: jamescarr: the todo isn't bad, cut it down a little, it's mostly binding events [03:59] tmzt: I started with backbone and ended up with a similar event driven rendering system (but without the ajax integration), though it's also quite useful [04:00] jamescarr: tmzt, yeah it feels massive but I'm going to just go through it line by line [04:01] konobi: TheEmpath: iirc, there's an interruptable json parser on npm [04:01] eboyjr: an asyncronous json parser? [04:01] apanda has joined the channel [04:01] TheEmpath: :O :O :O [04:01] jamescarr: eboyjr, a webworker enabled json parser [04:02] eboyjr: webworkers in node? [04:03] perlmonkey2: strange, I thought from looking at the code that expression.session.store defaulted to the memorystore. But if I don't set the store my req.session.store is undefined. [04:03] jamescarr: yes they exist [04:04] ghost has joined the channel [04:04] KindWord has joined the channel [04:04] clifton: what do people use in their express apps to parse POST data? [04:04] clifton: formidable still? [04:04] jamescarr: clifton, I use express [04:04] clifton: ah, must have missed the syntax to do that [04:05] jamescarr: for example, with form fields like user[name], user[age], etc... [04:05] TheEmpath: webworkers in node... well, yes i suppose such a setup is possible [04:05] huskyr has joined the channel [04:05] jamescarr: var user = req.param('user') [04:05] jamescarr: user.name, user.age [04:05] tbranyen: TheEmpath: pretty sure they landed in node in the past [04:05] jamescarr: I usually toss it into a mongoose object [04:05] tbranyen: dunno if they were removed [04:05] konobi: TheEmpath: yup... async-json it seems [04:05] clifton: ah ok [04:05] jamescarr: var user = new User(req.param('user')); user.save(); [04:05] clifton: im just not getting those in the req.param [04:05] jamescarr: er [04:05] jamescarr: req.params? [04:05] clifton: yea [04:06] clifton: well, i think i just answered my own question [04:06] devaholic: must you all continue to reply in the node.js logo thread? [04:06] devaholic: i wish i could filter that thread straight to spam >_> [04:06] clifton: i dont know why everyone cares so much about the logo [04:06] gxdssoft has joined the channel [04:06] clifton: yeah i know :( [04:07] rpflo has joined the channel [04:07] clifton: yeah, req.param('input_name') is undefined [04:07] clifton: do you need to have express use a module to get it working? [04:08] willwhite has joined the channel [04:08] clifton: nevermind, http://stackoverflow.com/questions/4295782/node-js-extracting-post-data [04:10] jamescarr: clifton, sorry, I forgot ;) [04:10] clifton: that doesnt seem to be working with my version of express, either [04:10] TheEmpath: ACTION is now suddenly interested in leveraging HTTP caching in node.js.... any nifty tools out there solving this business? [04:10] clifton: boo [04:10] jamescarr: devaholic, yeah, the people in that thread whine a lot [04:11] jamescarr: seriously, why do people act like the world will end over a logo and insist on having their own crappy logo adopted? :) [04:12] galaxywatcher has joined the channel [04:12] mape: street credz? [04:12] boaz has joined the channel [04:13] Kami_ has joined the channel [04:13] SubStack: eboyjr: the turtle represents a turtle [04:13] boaz has joined the channel [04:14] konobi: SubStack: all the way down? [04:14] isaacs: devaholic: i think gmail has a "mute" feature. [04:14] Aria: jamescarr: It's because it's a bikeshed. [04:14] TheEmpath: The logo: Forty goat dicks wrangling in a wet slither trying to outpace one another to win the affection of a strawberry-shaped crossiant [04:14] Kopion has joined the channel [04:14] TheEmpath: end of debate [04:14] SubStack: konobi: indeed [04:15] isaacs: TheEmpath: what message would that send? "Use node.js, because it is DEEPLY DISTURBING"? [04:15] SubStack: or alternatively, floating through space [04:15] TheEmpath: deeply disturbing the stack paradigm [04:15] tmzt: the code speaks for itself [04:15] tmzt: ? [04:15] clifton: app.use express.bodyParser() [04:15] isaacs: see, the problem isn't actually teh logo. the problem is changing the logo, ever. [04:15] Aria: "The last guy who didn't use node went insane. You wouldn't want that, now would you?" [04:15] tmzt: what has been more elegant a codebase, a concept [04:15] isaacs: Aria++ [04:15] catb0t: Aria now has 1 beer [04:16] konobi: isaacs: agreed [04:16] TheEmpath: ACTION has forgotten how vibrant this community is. [04:16] bentkus: yeah [04:16] TheEmpath: ACTION also forgot about Dre. [04:17] konobi: isaacs: is not democracy... closer to a meritocracy =0) [04:17] isaacs: konobi: what, node? [04:17] konobi: yar [04:17] isaacs: nah, it's a straight up dictatorship. [04:17] bentkus: you know what I like about node.js? [04:17] bentkus: It is not php. [04:17] Aria: ACTION laughs. [04:17] Aria: It so isn't. [04:17] SubStack: isaacs: there should be a new logo every fortnight [04:17] Aria: Though it's improved my PHP a lot. [04:17] isaacs: bentkus: that is a huge thing it its favor, for sure! [04:18] isaacs: SubStack: that'd help keep the thread alive. [04:18] SubStack: generated by computer to be maximally infuriating [04:18] konobi: isaacs: well, yeah... benevolent dictatorship... but the close aides are generally in there due to merit =0) [04:18] isaacs: SubStack: hahaha [04:18] boaz has joined the channel [04:18] stalled has joined the channel [04:18] isaacs: konobi: yeah. i think in practice most software projects end up as a meritocracy, or dead. [04:18] bentkus: :D [04:18] kofno has joined the channel [04:18] bentkus: the async style is nice too [04:19] jamescarr: need an idea for node knockout? html2jade [04:19] jamescarr: site you can go to, paste html into, and get jade output [04:19] jamescarr: bonus points if supports coffeekup and haml ;) [04:19] TheEmpath: im starting to code my php as if it was capable of continual states, instead of the default statelessness [04:19] isaacs: jamescarr: because jade is hard to write...? [04:19] jesusabdullah: What do you mean by that? [04:19] isaacs: "Now you can use all your favorite HTML tools to write Jade templates, too!!" [04:20] jesusabdullah: isaacs: Or, because you want to convert your old html to jade? [04:20] TheEmpath: i mean im starting to see my server calls as total control flows instead of little isolated API snippets [04:20] jamescarr: isaacs, no, existing html t :) [04:20] isaacs: ...oh, yeah, that too ;) [04:20] jamescarr: that I want as a jade template [04:20] isaacs: that makes more sense. [04:20] jesusabdullah: It'd be handy for migration [04:20] Stythys: yeah converting old code would be awesome [04:20] SubStack: I like state. [04:20] SubStack: I am a stack after all. [04:20] TheEmpath: i love state. you break it, you know. [04:20] Stythys: esp. for getting others you're working with (project environment) to use it [04:20] jesusabdullah: I like to spell it with an 8 [04:20] jesusabdullah: st8 [04:20] jamescarr: isaacs, it's often the case that I get an html template and convert it to jade ;) [04:20] isaacs: i see [04:20] SubStack: jesusabdullah: ANARCHIST [04:20] isaacs: i use ejs, because i grew up with asp and php [04:21] Aria: jesusabdullah: That makes me think "Stacht" [04:21] isaacs: i like just shoving sticky globs of code right into my html [04:21] isaacs: with extra angle braces [04:21] TheEmpath: although i am experimenting with "traits" [04:21] eboyjr has left the channel [04:21] luke` has joined the channel [04:21] Aria: I like my HTML to be HTML. [04:22] Aria: I wish it wasn't so expensive to create and serialize a DOM [04:22] josdehar has joined the channel [04:22] devaholic: isaacs: are you being ironical? [04:22] fangel has joined the channel [04:22] jamescarr: oooh [04:22] jamescarr: npm -g install html2jade [04:22] TheEmpath: lets say you have a shared object with properties that need to exist in the front end and back end... well.. you have the common traits of that object (properties, getter/setters)... when it is on the server, it has server traits (Mongoose methods) and common traits.. and when it is on the client, it has client traits (graphic controls, etc) and common traits [04:22] isaacs: devaholic: nope. [04:22] jamescarr: html2jade http://www,.twitter.com > twitter.jade [04:22] isaacs: devaholic: i mean, i'm kinda being silly [04:22] TheEmpath: its easy to do with JS as it is prototypical [04:22] isaacs: devaholic: but i do actually like ejs [04:23] boaz has joined the channel [04:23] TheEmpath: but it requires an MVC+Sharing sort of thinking [04:23] devaholic: isaacs: i like ejs for similar reasons [04:23] TheEmpath: the good news is that the client literally downloads the same JS the server would use [04:23] TheEmpath: and it runs it on the client for client needs [04:23] devaholic: isaacs: html being html is one thing, but also because working on the front end, then the backend, then back again, sometimes a nasty blob of code is actually efficient [04:23] boaz has joined the channel [04:24] isaacs: devaholic: it's clearer what html comes out of it. i've been writing html for 17 years. i know it well. [04:24] TheEmpath: so you only write models once and you write them for all contexts [04:24] devaholic: yeh [04:24] TheEmpath: im still formalizing it, but i think it will be spiffty [04:25] isaacs: html is like the javascript of template languages. not great, or even good, really, but it's what we've got. [04:26] HelloWorld: how to send jquery commands from nodejs to client browser? [04:26] perlmonkey2: Anyone messed with the DailyJS nodepad example? I can't figure out why it writes its session to the dbs.dev. It should be nodepad-development. [04:26] isaacs: HelloWorld: use ajax [04:27] HelloWorld: ajax though websocket? [04:27] HelloWorld: socket.io [04:27] isaacs: HelloWorld: sure, that works, too [04:27] ckknight_ has joined the channel [04:27] yokoaway has joined the channel [04:27] HelloWorld: how can i do it? ive been trying to send json though to the client but the browser reads it as normal text [04:27] HelloWorld: not as object [04:28] admc has joined the channel [04:28] isaacs: HelloWorld: try using JSON.parse on it [04:28] jerrysv has joined the channel [04:29] HelloWorld: do i have to install/require something for that? [04:29] devaholic: no [04:29] rhdoenges: nope [04:29] TheEmpath: no [04:29] TheEmpath: yes [04:29] TheEmpath: i mean no [04:29] devaholic: nein nein nein [04:29] jerrysv: good evening #node.js [04:31] tmpvar: yo [04:31] jerrysv: you're up late [04:31] konobi: ha... todays xkcd is awesome [04:31] tmpvar: jerrysv, im in az ;) [04:31] jerrysv: tmpvar: wow, ever the traveler :) [04:31] tmpvar: im here for a few months [04:32] jerrysv: tmpvar: just a warning, it hasn't gotten up above 80F here all year, so dress warm [04:32] tmpvar: hacking on jsdom and other various oss and $$ adventures [04:32] jerrysv: nice [04:32] jerrysv: where in az? [04:32] tmpvar: northern, up in the mountains [04:32] tmpvar: (its pretty mild up here) [04:33] jerrysv: to be fair, i've only ever flown through az [04:33] jerrysv: so it's all ... um ... warm to me [04:33] tmpvar: haha.. [04:34] konobi: hhhmmm... no node js meetup groups in hawaii... *le sigh* [04:34] tmpvar: start one up! [04:34] rwaldron has joined the channel [04:35] confoocious has joined the channel [04:35] konobi: well, i'm only there for a week, so it wouldn't make much sense [04:35] tmpvar: well, you should hit up the local talent :) [04:35] Lorentz: How many noders would be in hawaii though [04:35] tmpvar: hrrrm [04:36] SubStack: matt ranney is in hawaii now [04:36] SubStack: I guess it depends on what island [04:36] konobi: maui [04:36] tmpvar: oh, nice [04:36] tmpvar: east or west side of the island? [04:36] edude03 has joined the channel [04:37] ngs has joined the channel [04:37] Kopion has joined the channel [04:37] konobi: tmpvar: um... west i think [04:38] tmpvar: awesome, <3 maui [04:38] igl: something special about the meet up to get the boss to pay? ^^ [04:38] isaacs has joined the channel [04:40] donald_cook has joined the channel [04:40] jerrysv: i <3 maui [04:40] jerrysv: one of these days i will retire there [04:40] devongovett has joined the channel [04:41] jerrysv: near kanapoli [04:41] jerrysv: near maui brewing [04:41] jerrysv: konobi: how far from maui brewing? [04:41] tmpvar: yeah, i had a great time when i went [04:41] secoif: SubStack is there a way to get browserify to watch a directory? [04:41] edude03 has joined the channel [04:41] jerrysv: laurie went for the first time when she went with me [04:42] secoif: as in, if I have a whole bunch of files, I don't want to have to add them one by one to the commandline util [04:42] jerrysv: since she's from that other coast, they rarely vacation there [04:42] SubStack: secoif: { watch : true } [04:42] secoif: :D [04:42] tmpvar: jerrysv, ah [04:42] sandstrom has joined the channel [04:43] jerrysv: tmpvar: we are blessed here when it comes to hawaii, but i've never been to the hamptons, so ... [04:43] jerrysv: direct flights :) [04:43] tmpvar: niice [04:43] devaholic: ok, who wants to bring me to hawaii? [04:43] jerrysv: devaholic: where do you live? [04:43] tmpvar: lol [04:44] jerrysv: devaholic: and are you a good developer, and an awesome girlfriend? [04:44] tmpvar: lmfao [04:44] tmpvar: ill take one [04:45] jerrysv: i've got both, i am spoiled [04:45] secoif: SubStack: $ browserify ./scripts {watch: true} [04:45] secoif: Error: EISDIR, Is a directory [04:45] secoif: D: [04:46] devaholic: o.o [04:47] Anaeluxo has joined the channel [04:51] secoif: SubStack are there any examples/tests using the cmdline tool? [04:51] __directory has joined the channel [04:51] SubStack: there is no watch for the command line tool [04:52] secoif: :( [04:52] secoif: hrm [04:52] SubStack: just use the middleware [04:52] digman543 has joined the channel [04:52] secoif: I guess I could boot node up [04:52] secoif: yeah cool [04:52] secoif: SubStack you may interpret that as a feature request [04:52] skm has joined the channel [04:52] secoif: :D [04:53] jerrysv: oh yeah, i was writing mocks [04:53] jesusabdullah: It doesn't really make sense to have the code you're shipping to the browser have the watching that you want on the server side [04:53] jerrysv: oh, hi jesusabdullah, how's the new gig? [04:53] shanebo has joined the channel [04:54] secoif: jesusabdullah I'm trying to watch on the client side [04:54] davidbanham has joined the channel [04:54] secoif: and just push up the bundle.js [04:55] jasonh has joined the channel [04:55] felixge has joined the channel [04:55] adrianmg has joined the channel [04:56] http402 has joined the channel [04:59] vikstrous has joined the channel [05:00] adrianmg has left the channel [05:02] softdrink has joined the channel [05:02] secoif: also, how can i write the bundle out to a file? [05:02] secoif: arr, sorry to be such a pain SubStack [05:03] tmpvar: b.bundle() ? [05:03] Me1000 has joined the channel [05:04] rhdoenges: is it considered bad form to put a bunch of anonymous functions into an object literal? [05:04] jesusabdullah: I don't think so..? [05:04] jesusabdullah: Why would it be? [05:04] secoif: rhdoenges how are you 'putting' them into an object literal [05:04] wookiehangover has joined the channel [05:04] secoif: surely they have keys [05:05] secoif: that's pretty standard practice [05:05] secoif: eg [05:05] vikstrous1 has joined the channel [05:05] rhdoenge1 has joined the channel [05:06] rhdoenge1: sorry folks, computer died [05:06] secoif: thing = {prop: 'thang', doStuff: function() {stuff();}, } [05:06] rhdoenge1: probably out of disgust [05:06] secoif: et [05:06] secoif: c [05:06] tmpvar: or.... module.exports = { my: function() { return "does stuff" } }; [05:06] rhdoenge1: but if the function's pretty long I should just do thing.doStuff = function () { ...several lines... } [05:08] Brandonn has joined the channel [05:09] NickABusey has joined the channel [05:09] dguttman has joined the channel [05:11] boaz has joined the channel [05:12] boaz has joined the channel [05:13] pt_tr has joined the channel [05:13] digman543 has joined the channel [05:15] secoif: ar [05:16] secoif: cannot make work without specifying all files somewhere. [05:16] tk has joined the channel [05:19] gavin_huang has joined the channel [05:20] matt_ has joined the channel [05:25] donald_cook has joined the channel [05:28] bene has joined the channel [05:32] AvianFlu has joined the channel [05:32] chjj: wow, i never saw this [05:32] chjj: http://groups.google.com/group/v8-dev/browse_thread/thread/a64de3ebf04ede33# [05:32] chjj: people asking for e4x in v8, no thanks [05:32] fangel has joined the channel [05:33] ghost has joined the channel [05:35] systemfault: Haha [05:36] systemfault: Could you please implement a dead standard? PLLZZZZzzz [05:37] jamescarr: chjj, the mailing list is sadly a lot of noise these days [05:37] jamescarr: chjj, lots of people requesting silly features to be baked in [05:37] jesusabdullah: Glad I never subscribed [05:37] jesusabdullah: wth is e4x? [05:37] mikeal has joined the channel [05:37] jamescarr: jesusabdullah, this time last year there was a good signal to noise ratio [05:38] blkcat: xml, oh lord. :( [05:38] chrisdickinson: SubStack: I might have stumbled across a node-burrito / node-bunker issue [05:38] jamescarr: jesusabdullah, these days it's a lot of whining over javascript callbacks, the node.js logo, etc. ;) [05:38] John___ has joined the channel [05:38] systemfault: jesusabdullah: The dead standard that was too ambitious and finally ended up in the garbage [05:38] jesusabdullah: hmm [05:39] systemfault: Members of the committee never agreed. [05:39] guydoingstuff1 has joined the channel [05:40] jesusabdullah: ugh, e4x is a terrible idea. [05:40] systemfault: Since people never seem to learn from the past, we might see the same thing with Harmony [05:40] tantek has joined the channel [05:40] SubStack: chrisdickinson: well I wrote bunker in an evening so I doubt it's very reliable [05:40] secoif: e4x is awful. [05:40] bene has left the channel [05:41] SubStack: and it only has 1 test [05:41] chrisdickinson: SubStack: Actually, I think it's burrito -- I turned off all wrapping in bunker [05:41] chrisdickinson: ...yep! [05:42] chrisdickinson: SubStack: https://gist.github.com/bd46593b9597a5a8ef96 the top line is the original JS, the bottom line is the burrito-fied JS. [05:45] SubStack: chrisdickinson: do node.wrap('[%s][0]') [05:45] SubStack: uglify removes the parens because it things they're extraneous [05:45] chrisdickinson: But they're not actually extraneous in this case, apparently. [05:45] devaholic: ACTION slaps mikeal around a bit with a large trout [05:46] mikeal: haha [05:46] SubStack: yes but the context has been removed [05:46] mikeal: haven't sene that in years [05:46] jerrysv: trout [05:46] jerrysv: ? [05:46] devaholic: i think now one everyone is getting that that replies to that thread [05:46] jesusabdullah: jerrysv: It's an old alias that comes with mirc [05:46] devaholic: xD [05:47] mikeal: proves we have windows people in the channel now :) [05:47] jerrysv: aha. sorry, mirc is well past my previous irc experiance [05:47] chrisdickinson: SubStack: at the very least, maybe the `node.wrap('[%s][0]')` belongs in bunker? [05:47] devaholic: what [05:47] devaholic: what what what [05:47] devaholic: i dont develop node.js for windows [05:48] SubStack: chrisdickinson: I thought you disabled bunker? [05:48] chrisdickinson: SubStack: I disabled all node wrapping in bunker, but I'm still compiling it via bunker. [05:49] cliffano has joined the channel [05:49] devaholic: but i do use xp for all my communication stuff for some reason [05:49] devaholic: and for testing [05:49] devaholic: well for obvious reasons [05:49] NetRoY has joined the channel [05:50] othiym23 has joined the channel [05:50] jerrysv: sleep calls. night folks [05:50] chrisdickinson: (so basically I'm just passing the source to bunker, who's passing the source to burrito, and handing back the result) [05:50] rex_fernando has joined the channel [05:50] SubStack: chrisdickinson: I still don't have enough context to write a test for burrito [05:51] SamuraiJack has joined the channel [05:52] chrisdickinson: SubStack: String + (Ternary Expr) + String [05:52] chrisdickinson: is transformed into (String + Ternary Condition) ? (True) : (False + String) [05:52] devaholic: can i unsubscribe from one thread in google groups? [05:56] jklabo has joined the channel [05:56] mekwall has joined the channel [05:59] mattcodes has joined the channel [05:59] stephank has joined the channel [05:59] wbw72 has joined the channel [06:01] sub_pop has joined the channel [06:01] jamescarr: devaholic, you can mut it [06:01] jamescarr: mute [06:02] devaholic: how? [06:04] Me1000 has joined the channel [06:04] devaholic: jamescarr: please [06:04] jamescarr: sorry, no idea.. [06:04] jamescarr: I just know its doable [06:04] devaholic: :(( [06:05] mykul has joined the channel [06:05] versicolor has joined the channel [06:05] vns has joined the channel [06:06] jklabo: Is there any documentation on binding? process.binding('stdio') for example? [06:08] mscdex_: jklabo: it's basically used to get at the core C-level addons [06:09] mscdex_: afaik [06:09] digman543 has joined the channel [06:09] jamescarr: this might sound silly, but how do I access the json packet in app.post that is sent by jQuery.post? [06:09] jamescarr: I'm a little lost [06:09] mikeal has joined the channel [06:10] jklabo: mscdex_: thanks [06:11] mscdex: the stuff in src/ [06:11] CIA-107: libuv: 03Igor Zinkovsky 07pipes * r918cea0 10/ (11 files in 3 dirs): Windows: make uv_pipe_bind fail for the pipe name already in-use. Also add uv_pipe_bind tests. (+19 more commits...) - https://github.com/joyent/libuv/commit/918cea0ca80e09ae0ccc0532d9caaa0033500854 [06:11] devaholic: jamescarr [06:11] devaholic: req.body? [06:11] jamescarr: it is undefined [06:11] devaholic: do you have bodyparser [06:11] mscdex: i was about to ask the same thing :-) [06:12] mscdex: app.use(express.bodyParser()) or something [06:12] jamescarr: yes I do [06:13] andrewfff has joined the channel [06:13] devaholic: is it the only express route? [06:14] mscdex: question: don't you need coffeescript installed to use .coffee modules with plain js? [06:14] jamescarr: oh [06:14] jamescarr: this scoping [06:14] jamescarr: on the client side [06:14] mscdex: or at least to compile it first to js? [06:14] jamescarr: ACTION facepalm [06:14] corytheboyd has left the channel [06:14] boaz- has joined the channel [06:15] jamescarr: mscdex, they always seem to work fine [06:15] jamescarr: out of the box [06:15] devaholic: i dont use coffeescript mscdex [06:15] andree has joined the channel [06:15] jamescarr: mscdex, I was using a module for quite sometime and learned only recently it was written in coffeescript [06:15] mscdex: yeah but i mean you can't just require() a .coffee from js [06:15] jvduf has joined the channel [06:15] mscdex: right? [06:15] jamescarr: thats right... [06:16] mscdex: on the pdfkit they claim that the lib can be used from "plain ol' javascript", but it's a coffeescript project [06:16] mscdex: :S [06:16] mscdex: s/pdfkit/pdfkit readme/ [06:16] boaz has joined the channel [06:17] jesusabdullah: mscdex: You kinda can [06:17] chrisdickinson: mscdex: yeah, you can [06:17] mscdex: how? [06:17] chrisdickinson: require('coffee-script'); require('coffeescriptlibrary'); [06:18] chrisdickinson: it registers an extension ('.coffee') with the node.js require function [06:18] mscdex: right, so you DO need coffeescript installed [06:18] jesusabdullah: Yeah, you do, but you can USE it from javascript [06:18] mscdex: blargh [06:18] jesusabdullah: and it's only an npm install away [06:18] chrisdickinson: mscdex: if they've laid out their library correctly, you should never even know [06:18] mscdex: ACTION shakes a fist at coffeescript [06:19] chrisdickinson: mscdex: what's the problem with just npm installing it? [06:19] jesusabdullah: so, you can npm install cslib, and because of cslib's package.json it'll automagically install coffeescript for you [06:19] mscdex: i don't use npm [06:19] jesusabdullah: Why not? It's totally handy [06:19] mscdex: i don't deal with packages that often [06:19] jesusabdullah: it facilitates hella code reuse, it even locally installs things [06:20] jesusabdullah: handles versioning [06:20] chrisdickinson: cures leprosy. [06:20] jesusabdullah: That too! [06:20] mscdex: that might be true, but i can just as easily drop dependencies into ./node_modules [06:20] mscdex: or whatever it's called nowadays [06:20] jesusabdullah: but npm will do that *for* you! [06:20] jesusabdullah: that's the best part! [06:20] jesusabdullah: as of version 1.0 there aren't any shims! [06:20] mscdex: i've been burned by npm in the past :p [06:21] jesusabdullah: Probably pre-1.0 [06:21] mscdex: yeah [06:21] jesusabdullah: it was rewritten [06:21] jesusabdullah: fo'srs, give it a go again [06:21] jesusabdullah: it got better [06:21] chrisdickinson: ACTION seconds this [06:21] mscdex: heh that reminds me of that line from monty python and the holy grail [06:21] mscdex: "i got better" [06:22] mscdex: she turned me into a newt! [06:22] te-brian has joined the channel [06:22] jesusabdullah: indeed [06:22] te-brian: Hey.. when cluster gives you "Cluster detected over 20 worker deaths in the first" what is the best way to figure out what the "serious issue" is? [06:23] mscdex: i'm sure compiling this whole project to js would be just as ugly [06:23] mscdex: :\ [06:23] mscdex: oh well, as long as it works [06:23] mscdex: and i don't have to debug it :-) [06:24] blup has joined the channel [06:25] Xano has joined the channel [06:26] Abbaduxo has joined the channel [06:27] mscdex: yay more ml spam [06:28] fille has joined the channel [06:29] muhqu has joined the channel [06:29] mikedeboer has joined the channel [06:30] davidascher has joined the channel [06:30] McMAGIC--Copy has joined the channel [06:33] Xeon06_ has joined the channel [06:33] daveluke has joined the channel [06:34] tdegrunt has joined the channel [06:34] Me1000 has joined the channel [06:34] shapeshed has joined the channel [06:35] mehlah has joined the channel [06:37] [AD]Turbo has joined the channel [06:37] andrewfff has joined the channel [06:38] guydoingstuff1 has left the channel [06:39] galaxywatcher has joined the channel [06:40] jborst has joined the channel [06:41] neumino has joined the channel [06:41] unlink has joined the channel [06:41] unlink has joined the channel [06:42] groom has joined the channel [06:44] elijah has joined the channel [06:45] CIA-107: libuv: 03Igor Zinkovsky 07pipes * r9a68165 10/ (include/uv-win.h src/win/pipe.c): allow pipe name to be in utf8 for uv_pipe_bind and uv_pipe_connect - https://github.com/joyent/libuv/commit/9a68165c625c31a597dad3016ff7e821c46f4802 [06:46] te-brian: Is there any way to get cluster to play along with node-inspector? [06:47] __tosh has joined the channel [06:48] sounko has joined the channel [06:50] mikedeboer has joined the channel [06:51] steffkes has joined the channel [06:51] herbySk has joined the channel [06:51] ccare has joined the channel [06:52] mendel_ has joined the channel [06:52] pigmej has joined the channel [06:53] pomodoro has joined the channel [06:54] andrewfff has joined the channel [06:54] AAA_awright: python 2.7 should work to build Node right? [06:54] tilgovi has joined the channel [06:54] AAA_awright: ... Why is Node still using python anyways? [06:54] boaz has joined the channel [06:55] systemfault has joined the channel [06:55] systemfault has joined the channel [06:55] jborst has joined the channel [06:56] mscdex: AAA_awright: there's also cmake [06:56] mscdex: AAA_awright: but yes, 2.7 should work too [06:56] hassox has joined the channel [06:56] akshatj has joined the channel [06:57] `3rdEden has joined the channel [06:57] brainproxy: anyway to not have npm recursively install devDependencies when running npm install with --dev ? [06:58] konobi: npm install ? [06:59] mehlah has joined the channel [06:59] Nuck: Anyone here a fan of Animal Collective? [07:02] ditesh|cassini has joined the channel [07:03] mykul has joined the channel [07:03] brainproxy: konobi: right, i mean like `npm install mypkg --dev` [07:04] AAA_awright: cmake is giving me "CMake Error at cmake/libc-ares.cmake:16 (add_subdirectory): add_subdirectory given source "deps/c-ares" which is not an existing directory." among other errors [07:08] asuth has joined the channel [07:09] konobi: brainproxy: just drop the --dev part? [07:10] boaz has joined the channel [07:10] brainproxy: konobi: I want the devdepencies though [07:10] brainproxy: but just one layer deep [07:10] captain_morgan has joined the channel [07:10] brainproxy: iow, the ones listed in package.json for the pkg I'm installing w/ npm install [07:11] brainproxy: but not the devdependencies for its dependencies [07:11] boaz has joined the channel [07:11] konobi: brainproxy: ah [07:12] konobi: brainproxy: a question for isaacs [07:13] andrewfff has joined the channel [07:14] kmox83 has joined the channel [07:15] mikeal has joined the channel [07:17] bergie has joined the channel [07:17] emattias has joined the channel [07:21] dgathright has joined the channel [07:23] ablomen has joined the channel [07:26] ryah: please test if you can http://nodejs.org/dist/node-v0.4.10.tar.gz [07:26] Nexxy has joined the channel [07:28] djcoin has joined the channel [07:29] hybsch has joined the channel [07:30] konobi: ryah: did you set me up with chanserv? [07:31] sylvinus has joined the channel [07:32] zilch_ has joined the channel [07:32] jetienne: ryah: no git tag yet ? [07:32] Kami_ has joined the channel [07:33] faLUCE has joined the channel [07:33] faLUCE: Hi. I'm inside the directory "demo" of project ace. In this directory, I created foo.js, which contains only this line; "var editor = require('../lib/ace');" . Now, if I invoke this script with nod r.js foo.js I obtain this error: [07:33] faLUCE: [09:28] Error: Error evaluating module "../lib/ace" at location "./../lib/ace.js": [07:33] faLUCE: [09:28] Error: Calling node's require("../lib/ace") failed with error: Error: Cannot find module '../lib/ace' [07:33] faLUCE: [09:28] how can I solve? [07:33] jasonh has joined the channel [07:33] hassox has joined the channel [07:33] konobi: ./ [07:34] jetienne: faLUCE: put the proper path [07:34] Me1000 has joined the channel [07:34] zilch_ has joined the channel [07:35] faLUCE: konobi: the path is ok. In ../lib/ace there's ace.js [07:35] heavysixer has joined the channel [07:35] ryah: jetienne: not released yet [07:35] konobi: ryah: oh right [07:36] tdegrunt has joined the channel [07:36] faLUCE: any idea? [07:36] necrodearia has joined the channel [07:37] jetienne: faLUCE: yeah :) find the proper path [07:37] jetienne: faLUCE: it is simple, this is not node which cant open the file [07:37] CIA-107: node: 03Ryan Dahl 07v0.4 * r1b8dd65 10/ (7 files in 4 dirs): Bump version to v0.4.10 - https://github.com/joyent/node/commit/1b8dd65d6e3b82b6863ef38835cc436c5d30c1d5 [07:37] CIA-107: node: 03Ryan Dahl 07v0.4 * reffc446 10/ src/node_version.h : Now working on v0.4.11 - https://github.com/joyent/node/commit/effc4469d00f53c0ce4057d385a968093db3d645 [07:37] jetienne: faLUCE: it is the file which isnt there [07:38] faLUCE: jetienne: I don't understand, sorry [07:38] guidocalvano has joined the channel [07:39] faLUCE: jetienne: ah, ok: ..lib/ace/ace [07:39] Murugaratham has joined the channel [07:40] narayan82 has joined the channel [07:42] gausby has joined the channel [07:42] __tosh has joined the channel [07:44] kawaz has joined the channel [07:44] jacter has joined the channel [07:45] jbpros has joined the channel [07:45] andrewfff has joined the channel [07:46] bosky101 has joined the channel [07:46] cypres has joined the channel [07:47] hassox has joined the channel [07:48] bosky101: hi, Model.isNew() says that it will return true as long as no id is present. so i was able to Model.save() and POST. but .isNew() still says true since it still doesnt not have an id. [07:48] boaz has joined the channel [07:48] bosky101: whats the normal way of binding a saved model to a id after a POST is complete ? [07:49] chjj: i kinda like the node logos this cayasso guy added to the wiki [07:49] chjj: https://github.com/joyent/node/wiki/Logos [07:49] chjj: right in the middle of the page [07:50] jetienne: https://lh4.googleusercontent.com/-SqqudfU2TAU/TiZsxURICJI/AAAAAAAAALk/-7WuVBrCL_o/nodejs1.png [07:50] isaacs has joined the channel [07:50] jetienne: i like this one because it is readable [07:50] mape: looks nice [07:50] chjj: yeah [07:50] chjj: very simple and elegant imo [07:50] mape: doesn't really matter though [07:50] bosky101 has joined the channel [07:51] chjj: mape, dont interrupt our bikeshedding [07:51] Renegade001 has joined the channel [07:51] mape: not like php's logo was the key to their success [07:51] chjj: you bastard [07:51] chjj: who knows, it could have been [07:51] mape: ACTION flips chjj over [07:51] chjj: maybe it hypnotized people [07:52] jetienne: silly management :) [07:52] jetienne: the stamp is cool too [07:53] zilch_ has joined the channel [07:54] __doc__ has joined the channel [07:54] Druide_ has joined the channel [07:54] uchuff has joined the channel [07:55] jetienne: ok going back to being productive [07:55] Xeon06_ has joined the channel [07:55] whitman has joined the channel [07:55] mc_greeny has joined the channel [07:57] bene has joined the channel [07:57] hassox has joined the channel [07:57] zilch_ has joined the channel [07:58] valentin has joined the channel [07:58] felixge has joined the channel [07:58] felixge has joined the channel [07:58] bosky101 has joined the channel [07:58] felixge: isaacs: ping, added another comment [07:58] isaacs: kewl [07:59] RC1140 has joined the channel [07:59] isaacs: you mean it should save the URL, rather than the version? [07:59] felixge: isaacs: yeah, of course [07:59] isaacs: hm... [07:59] felixge: otherwise it's the wrong dependency, no? [08:00] isaacs: well, i guess.. if it's not published. you could also list it as a bundled dependency, then it won't have to go to the registry, but that's annoying in its own ways.. [08:00] RC1140 has left the channel [08:00] christophsturm has joined the channel [08:00] H4ns has joined the channel [08:01] felixge: I don't want to bundle [08:01] felixge: if possible [08:01] hassox_ has joined the channel [08:01] robhawkes has joined the channel [08:02] isaacs: right [08:02] isaacs: yeah, that's a pita. [08:02] isaacs: (i know) [08:02] sandstrom has joined the channel [08:02] sandstrom has joined the channel [08:02] felixge: Anyway, I tried to supply a patch for this, but install.js has some tricky parts :) [08:02] isaacs: yeah, maybe it should work that way [08:02] felixge: I did send a patch for another low hanging fruit so [08:02] isaacs: yeah, it gets a little deep. [08:02] felixge: https://github.com/isaacs/npm/pull/1165 [08:03] felixge: what do you think about that one? [08:03] isaacs: well, it *will* only allow changes in the minor version. [08:03] isaacs: i think without ~, people will just shove >= in there [08:04] isaacs: i think that referencing the url would be better than the version, though, your'e right [08:05] bene has left the channel [08:05] isaacs: if you're installing via a url,you probably want that. that's a valid bug, for sure. [08:05] isaacs: the only tricky thing is that i need to pass through the original arg that's used to install something. [08:05] felixge: isaacs: yeah. my pull request is not related to that [08:05] isaacs: i could see how that could be useful in other situations, thoguh [08:05] felixge: it's for installing packages from the registry [08:06] felixge: isaacs: yeah [08:06] Renegade001 has joined the channel [08:06] felixge: > well, it *will* only allow changes in the minor version. [08:06] felixge: that's bad [08:06] isaacs: sorry, patch [08:06] felixge: my 0.0.1 - 0.0.9 modules change really quickly [08:06] isaacs: 3rd one [08:06] isaacs: righ [08:06] felixge: I think the patch is in line with the spirit of semver [08:07] isaacs: yeah, really, you're not "supposed" to change the API wiht any "z" change in x.y.z [08:07] Aiden has joined the channel [08:07] TomY has joined the channel [08:07] isaacs: but also, accdng to semver, anything goes in 0.0.x [08:07] isaacs: so you also shouldn't have a 0.0.x as a dep ;) [08:08] felixge: isaacs: ... : ) [08:08] isaacs: but yeah, i guess, no tilde on 0.0 is probably ok. i certainly want it for 0.(>=1).x [08:08] tbassetto has joined the channel [08:08] indexzero has joined the channel [08:08] brainproxy: isaacs: is it possible to use --dev flag with install such that it doesn't recursively install devDepndencies [08:08] felixge: isaacs: afaik anything goes in < 1.0.0 in semver? [08:08] brainproxy: i.e. it only goes one layer deep [08:09] brainproxy: with devDeps [08:09] isaacs: yes! i totally wanted that (the --dev for devDeps) [08:09] isaacs: i came online tonight to implement that one ;) [08:09] felixge: Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable. [08:09] zackattack has joined the channel [08:10] jbpros has joined the channel [08:10] felixge: isaacs: so if we want to follow semver, 0.x.y versions should be bound directly to the version [08:10] felixge: not with tilde range descriptor [08:10] brainproxy: isaacs: okay, well I just noticed tonight when i made connect a devdep for a test harness thing for browser testing and in turn connect devdeps installed giant mounds of stuff [08:11] boaz- has joined the channel [08:12] isaacs: felixge: in practice, among most node programs, 0.1 is usually fairly stable until 0.2, but 0.0.1 is not stable with 0.0.2 [08:12] isaacs: that's been my experience anyway [08:12] isaacs: i think mostly following ryan's lead with node, actually [08:13] isaacs: 1.0.0 is considered the first "done" release, but 0.1.1 and 0.1.2 are expected to be at least mostly api-compatible [08:13] isaacs: but 1.9 and 2.0 are completely different programs [08:13] boaz has joined the channel [08:14] felixge: isaacs: that's not semver [08:14] alnewkirk has joined the channel [08:14] felixge: that's people afraid of commiting to a 1.0 label [08:14] isaacs: it's node-semver ;) [08:14] felixge: ;) [08:14] hellp has joined the channel [08:15] isaacs: semantics are defined by the language community,a nd change over time. [08:15] isaacs: there's no central authority [08:15] brainproxy: ACTION throws razor sharp hexagons at felixge [08:15] isaacs: lolz [08:15] felixge: anyway, if I can't talk you fully into it. At least having exact matching for < 0.1.0 would be nice [08:15] felixge: brainproxy: : ) [08:15] isaacs: i think that [08:15] isaacs: that's a good compromise [08:15] hybsch has left the channel [08:16] felixge: ACTION swallows the razor sharp hexagons [08:16] markwubben has joined the channel [08:16] felixge: cool, :) [08:16] bosky101 has joined the channel [08:17] mikedeboer has joined the channel [08:19] zilch_ has joined the channel [08:20] tuhoojabotti: hexagons \o [08:20] JKarsrud: how do you update a node installation ? [08:21] Clex: With my package manager. [08:21] whitman: JKarsrud, depends on how it was installed originally. [08:21] brainproxy: JKarsrud: you use nvm and do `nvm install v0.5.x` or whatever :D [08:21] JKarsrud: hmm, I don't have nvm [08:21] JKarsrud: :) [08:21] jesusabdullah: I download and install it again [08:22] isaacs: felixge: whoa, is that your first npm patch? [08:22] pomodoro has joined the channel [08:22] felixge: isaacs: it sure is [08:22] isaacs: thanks! [08:22] felixge: and as you can see, I tried to sneak in a semicolon right away! [08:22] radiodario has joined the channel [08:22] felixge: (sorry about that, I only realized after submitting) [08:23] felixge: let me know if you want me to modify the patch [08:23] felixge: and do the < 0.1.x thing [08:23] isaacs: nah, i just did it [08:23] JKarsrud: whitman: I just downloaded the source and built it? :) [08:24] abraham has joined the channel [08:24] Stythys has joined the channel [08:25] hassox has joined the channel [08:28] whitman: JKarsrud, in that case, redownload, rebuild, reinstall [08:28] jomoho has joined the channel [08:28] JKarsrud: aight, cool :) [08:29] brainproxy: hmm, when I do npm ls, one of the module's deps has "invalid" in red next to it, but when installed w/ -d I'm not seeing any errors [08:29] brainproxy: anyway I can get better visibility into why it's "invalid" ? [08:29] isaacs: brainproxy: it means that the thing depending on it depends on a different version that's installed, or it's not a package, or has bad json [08:30] isaacs: any warnings when you npm ls? like "xyz depends on abc version 2.1.3 but will get 2.0.8" [08:31] bene has joined the channel [08:31] jbpros has joined the channel [08:32] bzinger has joined the channel [08:32] JKarsrud: whitman: ah, lol. On this mac I have 0.5.0-pre [08:32] brainproxy: isaacs: no warning [08:33] brainproxy: and if i go to the dep in node_modules/mod/node_moudle/ [08:34] brainproxy: err typo [08:34] brainproxy: but anyway, it's all there, looks happy [08:34] brainproxy: postinstall ran fine [08:34] isaacs: gist the things, please. [08:34] isaacs: the ls output [08:34] brainproxy: isaacs: https://gist.github.com/1094580 [08:35] brainproxy: isaacs: if you want, I can point you to the tarball, which is up on my server [08:35] eldios has joined the channel [08:35] isaacs: brainproxy: what's the dependencies in joosex-meta-lazy-jsanfix look like? [08:35] isaacs: or just the package.json [08:36] brainproxy: https://gist.github.com/1094581 [08:36] brainproxy: refresh, loaded it w/ whole thing, which isn't too long [08:37] brainproxy: whole package.json i mean [08:37] bosky101 has joined the channel [08:37] isaacs: i see, yeah, so url deps look invalid. what's `npm -v` output? [08:37] brainproxy: 1.0.15 [08:37] brainproxy: okay, maybe I read the docs wrong [08:37] isaacs: hm. i thought that was fixed. [08:38] isaacs: if the bug's still in 1.0.17, post an issue [08:38] isaacs: it should let anything fly if it's a url dep [08:38] brainproxy: ^ you said "invalid" [08:38] brainproxy: you mean valid? [08:39] brainproxy: sorry, this is kind of a mish-mash, I was hacking on someone else's pkg [08:39] brainproxy: maybe the package.json isn't fully conformant, it was crafted pre 1.0, and I didn't change most of it [08:40] kulor-uk has joined the channel [08:40] isaacs: brainproxy: i mean, they should be valid,but it seems like they're looking invalid. [08:40] isaacs: incorrectly [08:40] brainproxy: ah gotcha [08:41] __tosh has joined the channel [08:43] kulor-uk has joined the channel [08:44] tosh has joined the channel [08:44] steffan_ has joined the channel [08:46] brainproxy: my cat has learned the proper sequence of buttons on my copier/printer thing to print its demo page :-p [08:46] jacter has joined the channel [08:46] brainproxy: sheesh, maybe I can teach him to help me with my node scripts [08:47] zilch_ has joined the channel [08:47] baudehlo has joined the channel [08:51] fayce has joined the channel [08:51] Xeon06_ has joined the channel [08:53] sixtus42 has joined the channel [08:57] balupton has joined the channel [08:58] alexhq has joined the channel [08:59] zilch_ has joined the channel [08:59] alexhq: Any idea how to get real data size transferred by node http client or transferred to node http server? [08:59] kulor-uk has joined the channel [09:00] bosky101 has joined the channel [09:01] EvRide has joined the channel [09:02] mikeal1 has joined the channel [09:03] zilch_ has joined the channel [09:06] markwubben has joined the channel [09:07] mehlah has joined the channel [09:08] StepanKuzmin has joined the channel [09:08] mattcodes has joined the channel [09:12] herbySk has joined the channel [09:16] bosky101 has joined the channel [09:21] xhr has joined the channel [09:21] TheJH has joined the channel [09:22] jvduf has joined the channel [09:27] bosky101 has joined the channel [09:28] bene has left the channel [09:29] zilch_ has joined the channel [09:29] jarek has joined the channel [09:29] jarek has joined the channel [09:29] herbySk has joined the channel [09:29] hassox has joined the channel [09:30] mike5w3c_ has joined the channel [09:34] Viehzeug has joined the channel [09:35] Viehzeug: can someone help me with JSON.parse.. i really don't get it's behavior now .. [09:35] secoif: what doesn't you get [09:36] secoif: Viehzeug. [09:36] tuhoojabotti: JSON mentioned! [09:36] McMAGIC--Copy has joined the channel [09:36] tuhoojabotti: Viehzeug: What is your problem? [09:36] tuhoojabotti: :D [09:36] SubStack: hey lookit: https://github.com/substack/jsup [09:36] devaholic: probrem mentioned? [09:37] SubStack: Viehzeug: JSON.parse() is just like eval() but only for data [09:38] bosky101_ has joined the channel [09:39] SubStack: isaacs: I am now taking all the low-hanging AST-related npmfruit [09:39] isaacs: SubStack: nice [09:39] Viehzeug: tuhoojabotti well.. i'm just writing vows tests for my rest application.. the rest server does nothing but calling JSON.stringify(something)+'\n' and writes it to the response [09:39] SubStack: so many modules you can write when you can just slice and dice the AST [09:40] Viehzeug: tuhoojabotti hoever when i read the response and use JSON.parse, it will parse it as a string [09:40] tuhoojabotti: wot [09:40] tuhoojabotti: JSON.parse parsing a string? How is that a problem? [09:40] devaholic: npmfruit lol [09:40] secoif: what do you mean 'parse it as a string' [09:40] secoif: as it returns a string, or it reads a string [09:41] devaholic: JSON.parse doesnt return a string [09:41] noderfs has joined the channel [09:41] secoif: Viehzeug are you sure you've actually got JSON data [09:41] secoif: as in [09:41] secoif: formatted correct. [09:41] noderfs: Hi, does anyone know when the ubuntu packages get updated to the 0.4.10 version? [09:42] sfoster has joined the channel [09:42] Viehzeug: for example: when i feed it {"date":"2011-07-20T08:24:46Z"} it parses it to "{\"date\":\"2011-07-20T08:32:43Z\"}" [09:42] tuhoojabotti: Shouldn't JSON.parse return an object? [09:42] tuhoojabotti: Aah [09:42] Viehzeug: (even when i repace the " with #) [09:42] Viehzeug: (even when i repace the " with ' *) [09:43] secoif: noderfs no idea but you could easily compile it yourself [09:43] Viehzeug: tuhoojabotti when i replace " with ' the result for parse is "{'date':'2011-07-20T08:24:46Z'}" [09:43] noderfs: This is the version in the package: 0.4.9-1chl1~natty1 [09:44] tuhoojabotti: Viehzeug: Well that's incorrect json anyways. [09:44] noderfs: is there a big difference with 0.4.10? [09:44] tuhoojabotti: .. JSON.parse('{"date":"2011-07-20T08:24:46Z"}'); [09:44] catb0t: { date: 03'2011-07-20T08:24:46Z' } [09:44] tuhoojabotti: works [09:44] secoif: works for me also [09:44] TheJH: Viehzeug, sounds weird. maybe you're double-decoding the JSON or so? [09:44] tuhoojabotti: Yeah [09:44] tuhoojabotti: Sounds like that. [09:45] secoif: double decoding or double encoding? [09:45] tuhoojabotti: secoif: Double it all! [09:45] tuhoojabotti: ;) [09:45] TheJH: Viehzeug, could you paste some of the surrounding code somewhere? [09:46] TheJH: secoif, right, looks more like double encoding [09:46] tuhoojabotti: Yeah. [09:46] TheJH: Viehzeug, some of the code that creates the JSON [09:46] Viehzeug: TheJH tuhoojabotti that could be a point.. [09:46] tuhoojabotti: http://youtu.be/QtKs1m_SQgg [09:46] tuhoojabotti: ":D" [09:47] tuhoojabotti: I'm sorry, I just got my morning coffee. [09:47] secoif: for a moment I thought youtube had launched a pastebin-like service [09:47] tuhoojabotti: :D [09:47] secoif: or perhaps he'd pasted code in a youtube comment [09:48] tuhoojabotti: No it's just a vid. [09:48] TheJH: that would have been funny [09:48] aliem has joined the channel [09:49] Viehzeug: tuhoojabotti TheJH http://pastebin.com/17XaJTKt (most of the vows tests are placeholders now) (gonna get the code which creates the JSON) [09:50] secoif: Viehzeug and where is the issue? [09:50] secoif: 'returns valid JSON' ? [09:51] Viehzeug: /time [09:51] Viehzeug: ✗ returns valid JSON [09:51] Viehzeug: » An unexpected error was caught: "{\"date\":\"2011-07-20T08:32:43Z\"}" [09:51] secoif: can you also paste /time? [09:51] Viehzeug: writeData(req, res, JSON.stringify({ [09:51] Viehzeug: 'date' : (dateFormat(date, "isoDateTime", true) + 'Z') [09:51] Viehzeug: })); [09:51] isaacs: SubStack: meanwhile, i'm splitting out npm's guts in tiny pieces. [09:51] Viehzeug: (writeData is just a wrapper for response.end()) [09:51] zilch_ has joined the channel [09:51] WaterCooled has joined the channel [09:52] isaacs: SubStack: tried to get "find" out tonight, but too many other things in the way [09:52] tuhoojabotti: Viehzeug: console.log that? [09:52] SubStack: splitting things up is the best thing ever [09:52] tuhoojabotti: :D [09:52] isaacs: yeah [09:53] isaacs: my goal is to have no general-purpose stuff in npm at all [09:53] isaacs: 100% npm-related. [09:53] TheJH: Viehzeug, sure that writeData doesn't do JSON.stringify, too? [09:53] tuhoojabotti: npm install npm [09:53] cha0s has joined the channel [09:53] cha0s has joined the channel [09:53] tuhoojabotti: Yeah [09:53] TheJH: Viehzeug, you don't have PHP somewhere in between, right? [09:53] tuhoojabotti: Functions are _never_ just wrappers. :D [09:54] Viehzeug: nope [09:54] tuhoojabotti: They're burrits. [09:54] tuhoojabotti: burritos* [09:54] Viehzeug: tuhoojabotti wrapper :P [09:54] Viehzeug: writeData = function(req, res, data) { [09:54] Viehzeug: logger.trace('Sending HTTP 200'); [09:54] Viehzeug: if (res.isOpen) { [09:54] Viehzeug: res.writeHead(200, { [09:54] Viehzeug: 'content-type' : 'application/json' [09:54] Viehzeug: }); [09:54] Viehzeug: res.isOpen = false; [09:54] Viehzeug: res.end(data+'\n'); [09:54] Viehzeug: } else { [09:54] Viehzeug: logger.warn('Trying to end closed response'); [09:54] Viehzeug: } [09:54] Viehzeug: }; [09:54] tuhoojabotti: asd [09:54] tuhoojabotti: Viehzeug: Learn to use pastebin more, thanks. [09:54] TheJH: Viehzeug, please use pastebin for that :/ [09:55] SubStack: gist ftw [09:55] tuhoojabotti: Everything over 3 lines. [09:55] tuhoojabotti: SubStack: Gist is a pastebin. <:P [09:55] tuhoojabotti: ...and more! [09:55] WaterCooled has left the channel [09:56] jakehow has joined the channel [09:56] secoif: Viehzeug have you done a console.log on 'topic' before it's parsed? [09:56] tuhoojabotti: console.log everywhere ftw. [09:57] TheJH: tuhoojabotti +1 [09:57] tuhoojabotti: TheJH: No it's tuhoojabotti++ [09:57] tuhoojabotti: :3 [09:57] TheJH: tuhoojabotti, ah, yes, v8bot uses that, right? [09:57] sixtus42 has left the channel [09:57] tuhoojabotti: TheJH: Well v8bot isn't here anymore, but we have catb0t [09:58] tuhoojabotti: :P [09:58] TheJH: well then... [09:58] TheJH: tuhoojabotti++ [09:58] catb0t: tuhoojabotti now has 1 beer [09:58] tuhoojabotti: :) [09:59] secoif: hrm [09:59] tuhoojabotti: They should change to tha coffee though. [09:59] tuhoojabotti: that to* [10:00] tuhoojabotti: :D [10:00] tuhoojabotti: I need coffee more than beer. [10:00] bosky101 has joined the channel [10:01] Viehzeug: secoif yeah {"date":"2011-07-20T08:24:46Z"} [10:01] Clex: What should I use to make my node webapp available in 2 or 3 languages? [10:01] tuhoojabotti: Viehzeug: How does it look like just before JSON.parse? [10:01] tuhoojabotti: Same? [10:02] secoif: Viehzeug is it possible it's already an object [10:03] secoif: ie [10:03] secoif: topic.date [10:03] secoif: works sans JSON.parse? [10:04] Viehzeug: tuhoojabotti {"date":"2011-07-20T08:24:46Z"} [10:04] tuhoojabotti: That looks like an object :D [10:05] tuhoojabotti: Hmm [10:05] Viehzeug: tuhoojabotti gonna make a typeof test [10:05] tsenga has joined the channel [10:06] tuhoojabotti: Yes, it could be useful. [10:06] Viehzeug: tuhoojabotti typeof says string [10:06] TheJH: maybe it would be possible to create a "dev-warnings" module that messes with functions like JSON.parse and JSON.stringify and issues warnings? [10:07] TheJH: (that is, when input types are wrong or so) [10:07] secoif: that sounds handy [10:07] TheJH: maybe I'll try that later today [10:08] Nexxy has joined the channel [10:09] cnus8n has joined the channel [10:11] Viehzeug: tuhoojabotti secoif TheJH if i run JSON.parse('{"date":"2011-07-20T08:32:43Z"}') in an plain nodejs shell it parses correctly [10:11] tuhoojabotti: obviously. [10:11] tuhoojabotti: as I demonstrated before. [10:11] tuhoojabotti: :D [10:11] TheJH: Viehzeug, would be a surprise if not [10:12] secoif: Viehzeug did you try just topic.date? [10:12] Viehzeug: tuhoojabotti sorry.. was a bit distracted (have to cook for the company today :D) [10:12] TheJH: I'll write that module now. [10:12] tuhoojabotti: secoif: typeof returned string so.. [10:12] secoif: I know, but, it, looks like an object. [10:13] Viehzeug: maybe some encoding foo with the http body? [10:13] secoif: ahh [10:13] secoif: that is possible [10:13] tuhoojabotti: Yeah. [10:14] __class__ has joined the channel [10:14] Viehzeug: already converted it to a utf-8 buffer.. looks proper.. [10:14] secoif: gah, quarter past 8 and still at work, i gtg [10:14] tuhoojabotti: hihi [10:14] secoif: seeya [10:14] tuhoojabotti: bye [10:14] Viehzeug: secoif bye [10:14] Viehzeug: secoif thanks [10:14] secoif: np [10:15] fermion has joined the channel [10:17] mnaser has joined the channel [10:19] Viehzeug: tuhoojabotti TheJH eval() can parse it correctly [10:19] bosky101 has joined the channel [10:19] tuhoojabotti: :E [10:20] TheJH: Viehzeug, what does "console.log(typeof topic)" in your test say? [10:21] tuhoojabotti: TheJH: Well he said it returned string. [10:21] tuhoojabotti: But dunno. [10:21] TheJH: ah, ok, then I didn't see that [10:24] bkozal has joined the channel [10:24] zilch_ has joined the channel [10:26] medice has joined the channel [10:28] Viehzeug: tuhoojabotti TheJH http://pastebin.com/p5npTBiv works o_O (and typeof gives string.. as mentioned before) [10:28] tuhoojabotti: Hmm [10:29] tuhoojabotti: Viehzeug: You sure you get all the data on the first chunk? [10:29] tuhoojabotti: usually you save all the chunks and then do stuff. [10:29] TheJH: Viehzeug, what do "console.log(chunk[0])" and "console.log(chunk[chunk.length-1])" say [10:29] tuhoojabotti: afaik [10:29] TheJH: ? [10:29] TheJH: ah, right, that is a bug, tuhoojabotti [10:29] robi42 has joined the channel [10:30] tuhoojabotti: TheJH: ? [10:30] TheJH: tuhoojabotti, that he just takes the first chunk [10:30] tuhoojabotti: Yeah. [10:30] confoocious has joined the channel [10:31] tuhoojabotti: Viehzeug: on data you do chunk += chunk and then on end (or something) you call your callback. [10:31] Viehzeug: tuhoojabotti just rewriting it that way [10:31] tuhoojabotti: :) [10:31] loveshine has joined the channel [10:31] zilch_ has joined the channel [10:32] bosky101 has joined the channel [10:32] TheJH: Viehzeug, there also are npm modules for that [10:32] tuhoojabotti: Yeah. [10:32] tuhoojabotti: But who wouldn't love re-inventing the wheel? (I sure do.) [10:33] tuhoojabotti: I guess I should work myself, but here I am slacking in irc [10:33] tuhoojabotti: be working* [10:33] collypops has joined the channel [10:33] TheJH: Viehzeug, but if it is going to be a public-facing service, make sure that you check for someone who just floods you with "a" until your RAM is full [10:34] tuhoojabotti: :D [10:34] collypops: hey everyone [10:34] tuhoojabotti: My server used to crash if you hold F5 down. :P [10:34] tuhoojabotti: collypops: Hello! [10:34] Viehzeug: TheJH no, this's is just a test :D the server itself is written more stable (hopefully) [10:34] tuhoojabotti: Test servers in production \o/ [10:34] tuhoojabotti: (that's why my site is still under the dev. -subdomain :D) [10:35] collypops: if you could summarise the difference between 0.4.10 and 0.5.1 in a sentence, what would it be? [10:35] adambeynon has joined the channel [10:35] tuhoojabotti: http://dev.tuhoojabotti.com that is :P [10:35] tuhoojabotti: collypops: Progress. [10:35] tuhoojabotti: :D [10:35] collypops: that's one word! [10:35] tuhoojabotti: :E [10:35] tuhoojabotti: Progress! [10:35] tuhoojabotti: that's a sentence then. [10:36] Viehzeug: tuhoojabotti TheJH http://pastebin.com/p1LebSV3 works. -.- sorry for wasting your time guys [10:36] tuhoojabotti: Viehzeug: Don't worry, I'm at work, no time to waste. ;) [10:37] tuhoojabotti: Viehzeug: Can you also give the console output for that? [10:37] collypops: haha [10:37] Viehzeug: undefined [10:37] Viehzeug: { date: '2011-07-20T10:37:17Z' } [10:37] Viehzeug: 2011-07-20T10:37:17Z [10:38] tuhoojabotti: Yeah, looks okay. [10:38] tuhoojabotti: Viehzeug: So it's working now? [10:38] tuhoojabotti: Oh yeah [10:38] tuhoojabotti: You said that. :D [10:38] tuhoojabotti: Viehzeug: No problem. :P [10:39] Viehzeug: tuhoojabottih yeah.. the "undefined" comes from the fact that i still check for chunk (which does not exist at that point anymore) [10:39] tuhoojabotti: :) [10:39] tuhoojabotti: Viehzeug: Well I was glad to help. :) [10:39] tuhoojabotti: But now I'm hungry. :O) [10:41] Ramosa has joined the channel [10:41] bentkus has joined the channel [10:41] Viehzeug: tuhoojabotti luckly, i was preparing food while finding the bug [10:42] sounko has joined the channel [10:42] Nuck: What bug trackers do you guys suggest? [10:43] tuhoojabotti: Nuck: Github. :> [10:43] Nuck: Are there any built on node + Mongo stack? [10:43] Nuck: I'm too poor to pay for the premium on github to get the nice private projects :P [10:43] Nuck: Any self-hosted ones? [10:44] TheJH: Nuck, maybe gitorious? [10:44] TheJH: Nuck, it's basically github, but less cool features and open source [10:44] Nuck: I use gitosis for the git repo [10:44] tuhoojabotti: glitoris, wait, what? [10:44] Nuck: I must study this gitorius? [10:45] TheJH: Nuck, I didn't set up one myself, but it seems that you may have a day or so to setup it... may be overkill for you [10:45] shapeshed: I use gitosis to and self host some git repos [10:46] shapeshed: it takes a while to setup [10:46] shapeshed: http://shapeshed.com/journal/setting_up_git_for_multiple_developers/ [10:47] Nuck: TheJH: Gitorious is nonfre D: [10:47] zilch_ has joined the channel [10:47] Nuck: for a company, at least [10:47] shapeshed: it you want quick no hassle use github :-) [10:47] Nuck: or wait [10:47] Nuck: Nooooo [10:47] Nuck: They lie? [10:47] TheJH: oh, what's the license? [10:47] TheJH: Nuck? [10:47] maushu has joined the channel [10:47] Nuck: They have appliances [10:47] maushu: I came here to rant. [10:48] FireFly has joined the channel [10:48] Nuck: They hide the "DIY" link inline :P [10:48] maushu: I don't like the new logo or theme. [10:48] maushu: That is all. [10:48] Nuck: maushu: We all agree ;) [10:48] temp01 has joined the channel [10:49] maushu: On another news, node.exe yay! [10:49] akshatj has joined the channel [10:49] shapeshed: there should be a channel for logo rants [10:50] maushu: I really want a love2d version for node. [10:50] maushu: I vote to call it sex2d. [10:52] AndyDawson has joined the channel [10:53] maushu: Hmm, funny, love2d source code isn't so bad. [10:53] StepanKuzmin has joined the channel [10:53] Xeon06_ has joined the channel [10:54] herbySk has joined the channel [10:58] agnat has joined the channel [10:59] jetienne has joined the channel [10:59] fairwinds has joined the channel [10:59] H4ns` has joined the channel [11:00] zackattack has joined the channel [11:01] jacter has joined the channel [11:01] necrodearia has joined the channel [11:02] felixge has joined the channel [11:02] felixge has joined the channel [11:05] zackattack has joined the channel [11:06] StepanKuzmin has joined the channel [11:06] welly has joined the channel [11:12] jarek has joined the channel [11:14] sjbreen has joined the channel [11:15] mehlah has joined the channel [11:18] jetienne: where can i find a simple tutorial on how to publish on npm ? [11:19] Tobbe has left the channel [11:19] SubStack: jetienne: step 1: npm publish [11:19] TheJH: jetienne, maybe "npm help publish"? [11:19] seawise has joined the channel [11:19] SubStack: (that is all of the steps) [11:20] tuhoojabotti: SubStack: No. [11:20] tuhoojabotti: 1. npm publish 2. ??? 3. profit. [11:20] chjj: just make sure you have a package.json with a name and a version [11:20] tuhoojabotti: ;) [11:20] jetienne: nothing better ? [11:20] chjj: and make sure the name isnt taken ;) [11:20] chjj: (note to self: check the npm registry before naming a module again) [11:20] jetienne: a 5line man with nothing in it :) [11:21] jetienne: im sure there is a webpage somewhere [11:21] jetienne: ok i keep searching [11:21] TheJH: jetienne, did you already create the package.json? [11:21] jetienne: TheJH: nope i want to read stuff first to understand [11:21] TheJH: jetienne, if not, see "npm help json", that's a big manpage [11:22] jetienne: http://dailyjs.com/2011/02/28/node-tutorial-15/ http://dailyjs.com/2011/05/02/node-tutorial-23/ is what i got currently [11:22] agnat has joined the channel [11:22] mscdex: jetienne: https://github.com/isaacs/npm/blob/master/doc/publish.md [11:23] mscdex: jetienne: https://github.com/isaacs/npm/blob/master/doc/developers.md [11:26] jetienne: mscdex: thanks will look [11:27] TheJH: :(, I can't mess with the JSON object cross-module [11:29] Aria has joined the channel [11:29] jetienne: http://search.npmjs.org/#/flow mouamoua :) [11:29] jetienne: this guy got the same name as mine for the exact same purpose :) [11:30] jacter has joined the channel [11:30] tdegrunt_ has joined the channel [11:31] jetienne: mine is 30line, his is 150line :) [11:31] jetienne: anybody got an idea of name for a flowcontrol library ? [11:31] jarek has joined the channel [11:31] tuhoojabotti: node-seq? [11:31] tuhoojabotti: :D [11:32] jetienne: i copied the API already, i cant copy the name too :) [11:33] mscdex: :O [11:33] chjj has joined the channel [11:34] xandrews has joined the channel [11:34] SubStack: everybody should write a flow control lib [11:34] blup has joined the channel [11:34] jetienne: which works in node.js and browser :) [11:34] jetienne: i wrote it to use my node-seq code in browser [11:37] tdegrunt has joined the channel [11:37] fayce has joined the channel [11:37] mattcodes has joined the channel [11:37] jetienne: and npm publish worked with a glinch [11:38] jetienne: thanks [11:38] kriszyp has joined the channel [11:39] remysharp has joined the channel [11:41] rurufufuss has joined the channel [11:41] tdegrunt_ has joined the channel [11:42] icebox has joined the channel [11:43] materialdesigner has joined the channel [11:43] samBiotic has joined the channel [11:46] jetienne: npm install flowcontrol [11:46] temp02 has joined the channel [11:50] jetienne: npm install microevent [11:50] jetienne: ACTION publishes what should have been published long time ago :) [11:50] temp01 has joined the channel [11:51] jetienne: btw how come npm doesnt ask for a password ? there is a key somewhere ? [11:51] jensn has joined the channel [11:51] TheJH: jetienne, yes, in your npm config [11:51] mehlah has joined the channel [11:51] jonaslund has joined the channel [11:52] jbpros has joined the channel [11:52] jetienne: TheJH: ok thanks. [11:54] jetienne: pm WARN Sending authorization over insecure channel. this is kinda scary [11:55] stracK has joined the channel [11:55] TheJH: jetienne, well, better than silently doing it, right? [11:55] jetienne: TheJH: true. but even better would be not to do it :) [11:56] jetienne: TheJH: why not use https or something [11:56] vikstrous has joined the channel [11:56] TheJH: jetienne, I don't know, ask isaacs [11:57] jetienne: ok will do [11:57] hdon has joined the channel [11:58] CrisO has joined the channel [11:58] jetienne: npm install shorttag - microlib for template [12:01] masylum has joined the channel [12:01] mehlah has joined the channel [12:01] masylum: hi [12:02] jetienne: hi masylum [12:02] jtrudeau has joined the channel [12:03] sounko has joined the channel [12:05] mscdex: isaacs probably doesn't have an https certificate [12:05] mehtryx has joined the channel [12:06] jetienne: so lets say it is historical, i guess joyent could get one [12:07] jetienne: ACTION refrains a joke on the logo :) [12:07] jarek_ has joined the channel [12:08] ditesh|cassini has joined the channel [12:09] TheJH: what do you think about this? https://github.com/thejh/node-dev-warnings Just do require('dev-warnings') at the top of your main file and it will add some additional debug messages to JSON.parse and JSON.stringify (I'll add more if I find more stuff that you can easily do wrong and won't notice very fast) [12:10] tuhoojabotti: Looks good. [12:10] jetienne: TheJH: put README.md with example of such message and why it is usefull [12:10] tuhoojabotti: Luckily I write perfect code (after all I'm a bot) [12:10] TheJH: jetienne, will do [12:10] TheJH: tuhoojabotti, and who wrote you? [12:10] tuhoojabotti: I wrote myself. [12:10] tuhoojabotti: o.Ô [12:11] mike5w3c has joined the channel [12:11] jonaslund: TheJH: maybe a way to install additional outputs (or add them temporarily) [12:12] TheJH: jonaslund, what kinds of aditional outputs? it currently just checks for most-likely-errors and prints them or gives additional advice if parsing fails [12:12] Circlefusion has joined the channel [12:12] tuhoojabotti: TheJH: console.error('WARNING: JSON.stringify was called without arguments'); -> undefined = no args -> not necessarily :P [12:12] TheFuzzball has joined the channel [12:13] jonaslund: TheJH: i mean for the warnings to be sent somewhere else than the log [12:13] TheJH: jonaslund, ah, ok [12:13] jonaslund: TheJH: f.ex. is the JSON data originates over the wire.. maybe the wire is a better place for the error than the console [12:14] jetienne: TheJH: the name may be too general too. maybe json-check [12:14] jetienne: TheJH: with a way to use it without modifying JSON.* stufff [12:14] TheJH: jetienne, I intend to add more stuff than JSOn [12:14] TheJH: jetienne, why not? [12:15] jetienne: TheJH: modifying global stuff is 'dangerous' (c) [12:15] igl has joined the channel [12:15] jonaslund: i think this is intended for debugging [12:16] jetienne: jonaslund: yep i understand the interest of non intrusive [12:16] jonaslund: but yeah.. maybe if you want an error checking version you should use another api [12:16] bkozal has left the channel [12:16] jetienne: jonaslund: i was going to say that :) [12:16] jetienne: TheJH: btw just feedback. this is your stuff, you do it as you please :) [12:19] TheJH: I'll try to keep it simple (as in "just require it, you don't have to do anything more"), but thanks for the suggestions - in a module that's not just intended for debugging, I would probably adapt those suggestions [12:19] felixge has joined the channel [12:19] TheJH: (btw, added a short README) [12:19] felixge has joined the channel [12:19] jingoro has joined the channel [12:21] zomgbie has joined the channel [12:21] zomgbie has joined the channel [12:22] mattcodes has joined the channel [12:23] xandrews has joined the channel [12:23] jetienne: node -e "require('node-dev-warnings')" foobar.js [12:23] jetienne: this would be cool but apparently -e isnt compatible with foobar.js when i try [12:24] jetienne: maybe something similar is possible using another way [12:24] pdelgallego has joined the channel [12:25] Viehzeug_ has joined the channel [12:27] TheJH: jetienne, I think that there was a discussion about pre-execution-loaded libraries that you can give on the command line, but I think that the proposal was rejected [12:28] Phaaze has joined the channel [12:28] jetienne: (echo require('node-dev-warnings') && cat foobar.js) | node /dev/stdin ? :) [12:28] TheJH: jetienne, ouch, that hurts [12:29] jetienne: yep :) [12:29] kriszyp has joined the channel [12:32] fumanchu182 has joined the channel [12:32] davidbanham has joined the channel [12:33] sonnym has joined the channel [12:33] pen has joined the channel [12:36] secoif has joined the channel [12:45] TheJH: how can I let a module detect whether it's a root module or a submodule? [12:45] TheJH: because I want to know whether I can mess with the global objects [12:45] randal has joined the channel [12:45] SubStack: >_< [12:46] SubStack: TheJH: that sounds very pesky! [12:46] pigmej: TheJH: just don't define globals?:D [12:46] jetienne: module.parents no ? [12:46] SubStack: you can do it though by comparing __filename and process.argv[1] probably [12:46] TheJH: SubStack, only for debugging purposes: https://github.com/thejh/node-dev-warnings [12:47] hellp has joined the channel [12:47] hebz0rl has joined the channel [12:47] xtianw has joined the channel [12:47] temp01 has joined the channel [12:48] jetienne: module.parent === null if in root module [12:48] jetienne: !== null otherwise [12:48] kriz has joined the channel [12:49] jetienne: and next time it is modified you are in bad shape :)https://github.com/joyent/node/blob/master/lib/module.js#L31 [12:50] jacter has joined the channel [12:51] TheCoreh has joined the channel [12:51] TheCoreh has joined the channel [12:52] chrischris has left the channel [12:53] TheJH: jetienne, what if it's undefined? [12:53] brianseeders has joined the channel [12:53] jetienne: TheJH: dunno :) true that it is possible with the source, but it is null when i displayed it [12:54] TheCoreh: hey guys, just wondering, does node.js run fine under OS X Lion? [12:54] jetienne: TheJH: if( module.parent ) console.log("not in root module") is likely better indeed [12:55] industrial: How do I drop a whole database with mongoose? Not a collection, all collections. [12:56] pickels has joined the channel [12:57] daveluke has joined the channel [12:57] broofa has joined the channel [12:57] felixge has joined the channel [12:57] felixge has joined the channel [12:59] pickels has joined the channel [13:01] ceej has joined the channel [13:01] confoocious has joined the channel [13:01] confoocious has joined the channel [13:02] xandrews has joined the channel [13:02] jacter1 has joined the channel [13:02] kofno has joined the channel [13:04] replore_ has joined the channel [13:07] rwaldron has joined the channel [13:09] jetienne: q. anybody using closure compiler to check type ? [13:10] akshatj has joined the channel [13:11] cnus8n has joined the channel [13:11] davidsklar has joined the channel [13:13] sub_pop has joined the channel [13:14] ank has joined the channel [13:14] neumino: Hi, [13:14] neumino: I have a little question [13:14] neumino: I have a heavy task to do and since node.js is single thread (stop me if I'm mistaken) [13:15] neumino: It's going to "blocked" [13:15] TheJH: neumino, that's right [13:15] neumino: Can I set up two "server" ? [13:15] neumino: One for heavy tasks [13:15] temp01 has joined the channel [13:15] neumino: and one for normal users ? [13:15] TheJH: neumino, there even are modules for "web workers" [13:15] bnoordhuis has joined the channel [13:16] TheJH: neumino, go to http://search.npmjs.org/ and look for "worker" or so [13:17] neumino: Thank you TheJH [13:17] neumino: I'm going to take a look at those workers [13:17] neumino: : ) [13:18] cha0s has joined the channel [13:18] fly-away has joined the channel [13:19] kawaz has joined the channel [13:22] arquebus has joined the channel [13:24] infynyxx has joined the channel [13:24] test_ has joined the channel [13:24] rfay has joined the channel [13:27] jtsnow has joined the channel [13:29] catshirt has joined the channel [13:29] jscheel has joined the channel [13:29] jscheel has joined the channel [13:30] blueadept has joined the channel [13:31] clyfe has joined the channel [13:31] ank has joined the channel [13:31] hybsch has joined the channel [13:32] Wizek has joined the channel [13:32] clyfe: how do I find out what objects are still listening in my process ? [13:32] infynyxx has left the channel [13:32] clyfe: so my tests exit cleanly ? [13:33] jj0hns0n has joined the channel [13:33] clyfe: there's something in this file that keeps my tests from exiting https://github.com/ricardobeat/node-polyglot/blob/master/i18n.coffee [13:33] clyfe: can't find out what it tis ... [13:34] ksheurs has joined the channel [13:34] randal has joined the channel [13:35] Poetro has joined the channel [13:35] Poetro has joined the channel [13:37] dnjaramba has joined the channel [13:37] TheJH: clyfe, maybe a debug "mirror" will help [13:38] clyfe: TheJH> what is debug "mirror" ? [13:39] TheJH: clyfe, run "node --expose_debug_as=debug", a REPL will open. [13:40] clyfe: TheJH> ok ,thx [13:40] TomY has joined the channel [13:40] TheJH: clyfe, then do mirror=debug.Debug.MakeMirror(require(yourFile)) [13:42] apardo has joined the channel [13:43] rex_fernando has joined the channel [13:43] TheJH: clyfe, then do mirror.referencedBy() and you'll see what keeps it alive [13:44] clyfe: TheJH> thx a lot [13:44] TheJH: clyfe, you may want to look at my assert-vanish module [13:45] TheJH: erm, assertvanish [13:46] TheJH: it will print kind of a backtrace that shows why an object is still alive [13:46] kofno has joined the channel [13:46] kawaz has joined the channel [13:47] willwhite has joined the channel [13:48] sandstrom has joined the channel [13:48] sandstrom has joined the channel [13:50] __tosh has joined the channel [13:51] clyfe: TheJH> thx a lot [13:51] montylounge has joined the channel [13:51] brianc has joined the channel [13:51] unlink has joined the channel [13:51] unlink has joined the channel [13:52] mnaser has joined the channel [13:52] roidrage has joined the channel [13:52] whoops has joined the channel [13:52] softdrink has joined the channel [13:53] H4ns` has joined the channel [13:53] JKarsrud has joined the channel [13:53] c4milo has joined the channel [13:53] chunhao has joined the channel [13:53] JKarsrud_ has joined the channel [13:53] guydoingstuff: trying to get an older node knockout app going. Getting this error: "throw e; // process.nextTick error, or 'error' event on first tick" [13:56] danmactough has joined the channel [13:56] jonaslund: I think you get that when you throw arbitrary objects instead of actual error objects [13:56] kaarlo has joined the channel [13:56] TheJH: guydoingstuff, no stack trace? [13:56] jonaslund: f.ex. throw "Error,blabla"; [13:57] jonaslund: instead of throw new Error("problem was xyz"); [13:57] eirikurn has joined the channel [13:58] zined has joined the channel [13:58] bnoordhuis: installing cygwin in a windows vm on ubuntu linux [13:58] bnoordhuis: this is so meta! [13:58] Viehzeug has joined the channel [13:59] guydoingstuff: pretty new to node.js. I fixed some of the out dated express language. @TheJH: strace node server.js? [13:59] metadaddy has joined the channel [13:59] ryanfitz has joined the channel [13:59] industrial: See line 29 then 92; https://gist.github.com/c5aeec4f24ab56ae6829 ; In my server I am doing a console.log(req.body) with use(connect.bodyParser()); [13:59] industrial: I'm not getting anything, why? I think my request body call is wrong? [14:00] industrial: if I make a request with a GUI REST client it works fine [14:00] TheJH: guydoingstuff, no, I just wanted to know whether node spit out a stack trace along with the error message [14:00] jonaslund: bnoordhuis: now compile qemu under cygwin and run ubuntu linux on that ? [14:00] springmeyer has joined the channel [14:02] TheJH: industrial, are you calling create['Correct request body'] from outside? [14:02] dscape has joined the channel [14:02] kawaz has joined the channel [14:02] industrial: TheJH: yes, its a nodeunit unit test [14:03] industrial: I can see the requests happening (two tests, one without/malformed and one with request body) [14:03] mscdex: guydoingstuff: iirc you generally get that error when an async function throws [14:03] industrial: but no body on the server log [14:04] Rubikzube has joined the channel [14:05] Corren has joined the channel [14:05] industrial: TheJH: so seeing as JSON.stringify(mock_user)); works fine if I put it in my CocoaRestClient and make a request, I don't understand why it wou;dnt work with req.send() in my unit test. [14:06] industrial: req.write* [14:07] bnoordhuis: jonaslund: great idea, turtles all the way down! [14:07] robhawkes has joined the channel [14:08] objectiveous has joined the channel [14:08] catshirt has joined the channel [14:08] TheJH: industrial, as last resort, you could fire up a sniffer and look at the difference between the requests [14:09] industrial: TheJH: hmm, yeah [14:11] mattijs has joined the channel [14:12] clifton has joined the channel [14:12] StepanKuzmin has joined the channel [14:13] Rubikzube has left the channel [14:14] Ramosa has joined the channel [14:14] edude03 has joined the channel [14:14] d0k has joined the channel [14:15] aheckmann has joined the channel [14:16] Rubikzube has joined the channel [14:17] yhahn has joined the channel [14:18] ank has joined the channel [14:18] kofno has joined the channel [14:18] guydoingstuff: still having some trouble with the process next tick error git://gist.github.com/1095039.git [14:18] dgathright has joined the channel [14:19] grey has left the channel [14:19] Rubikzube has joined the channel [14:19] TheJH: guydoingstuff, try "sudo node server.js" [14:19] Rubikzube has left the channel [14:19] Determinist has joined the channel [14:20] sjbreen has joined the channel [14:21] dguttman has joined the channel [14:21] industrial: TheJH: I have no idea how to proxy my unit test :S [14:21] industrial: (to Charles) [14:22] Corren has joined the channel [14:22] geetarista has joined the channel [14:22] EyePulp has joined the channel [14:22] TheJH: industrial, what? [14:23] agnat_ has joined the channel [14:24] guydoingstuff: TheJH: it worked... but I never installed node.js or npm with sudo? I had to include the entire path(in my home) to node in the sudo attempt to get it to go live. [14:24] boaz has joined the channel [14:24] guydoingstuff: Awesome. Thanks you [14:24] pjacobs has joined the channel [14:25] TomY has joined the channel [14:25] thomblake has joined the channel [14:25] TheJH: guydoingstuff, it's because that program wants to bind to a low port (<1024), you need to be root to do that [14:25] berasa has joined the channel [14:27] Peter___ has joined the channel [14:27] Peter___: Can I upgrade the version of Node from inside node? [14:28] industrial: TheJH: I figured it out, however charles shows a request JSON string that looks just fine (it parses into a tree so) [14:28] tuhoojabotti: Peter___: You have to go deeper! [14:28] industrial: why o why would connect.bodyParser() not parse it :s [14:28] danmactough: industrial: Maybe you need to set the request header, i.e., before req.write(), req.setHeader('Content-type', 'application/json') [14:29] Peter___: How so? [14:29] tuhoojabotti: Peter___: Sure, why not, liek use the api to execute commands? :d [14:30] industrial: danmactough: erm, right [14:30] Peter___: I was hoping for something like a gem update command to just bring everything node up to the latest release. [14:30] industrial: yea that was it [14:32] versicolor has joined the channel [14:32] danmactough: sweet! [14:32] Lightdork has joined the channel [14:33] industrial: sweet indeed! now I can make tests for my app \o/ [14:34] BillyBreen has joined the channel [14:34] Circlefusion has joined the channel [14:34] Peter___ has left the channel [14:35] berasa has left the channel [14:38] broofa has joined the channel [14:38] RORgasm has joined the channel [14:38] agnat has joined the channel [14:39] Swimming_bird has joined the channel [14:40] kulor-uk has joined the channel [14:40] clifton has joined the channel [14:42] caiges has joined the channel [14:42] jelveh has joined the channel [14:42] NetRoY has joined the channel [14:43] n3m6 has joined the channel [14:43] n3m6: hello [14:44] akiva: So is Nodester down for anyone else? [14:44] rfay has joined the channel [14:44] akiva: Just trying to push a beta for a client to see [14:44] xerox: what's nodester? [14:44] akiva: It's like no.de [14:44] fermion has joined the channel [14:45] mendel_ has joined the channel [14:45] kawaz_air has joined the channel [14:46] jensn has joined the channel [14:46] fermion has joined the channel [14:48] guydoingstuff has joined the channel [14:48] mike5w3c_ has joined the channel [14:48] fermion has joined the channel [14:50] JJMalina has joined the channel [14:50] vipaca has joined the channel [14:50] vipaca has joined the channel [14:51] madzak has joined the channel [14:52] sivy has joined the channel [14:54] explodes has joined the channel [14:54] explodes: How to I write (blocking) to stdio (blocking because its the -h switch on my program.) [14:54] explodes: er, to stdout* [14:55] felixge: SubStack: does traverse allow me to remove circular references? So I can safely JSON.stringify() an object? [14:55] SubStack: felixge: it sure does [14:55] felixge: SubStack: clone doesn't do it [14:55] felixge: what do I need? :) [14:55] TheJH: explodes, why do you want to do that? [14:56] jvduf has joined the channel [14:56] SubStack: > var obj = { a : 1, b : 2 }; obj.c = obj; traverse(obj).map(function (x) { if (this.circular) this.remove() }) [14:56] SubStack: { a: 1, b: 2 } [14:56] explodes: console.log(parser.toString() /* some huge string */); process.exit(0); [14:56] explodes: @ TheJH [14:56] explodes: It is only writing a portion of the help. [14:56] shenlok_: are there any node modules out there to make logging to the console "prettier" [14:57] felixge: SubStack: awesome! Thanks! [14:57] shenlok_: or general libs [14:57] SubStack: shenlok_: colors? word wrapping? [14:57] SubStack: tables? [14:57] felixge: SubStack: might make sense as a standalone utility method? I'd send a patch [14:57] felixge: also send you a patch for update/merge we talked about a while [14:57] shenlok_: not so much tables, just something to improve readability [14:57] felixge: * a while ago [14:57] joshthecoder has joined the channel [14:57] SubStack: felixge: yep I looked at that, I'll merge it later today [14:57] TheJH: explodes, it only writes a portion? sounds like a nod ebug [14:57] felixge: :) [14:58] kevwil has joined the channel [14:58] TheJH: explodes, how big is the string? [14:58] explodes: TheJH: http://pastie.org/2243204 Its not a bug. Writes with console.log are asyncronous [14:58] explodes: So the process is killed before the whole buffer is written [14:58] explodes: *flushed [14:58] SubStack: felixge: maybe I should just include an example of scrubbing circular refs on the readme and example/? [14:59] jvduf_ has joined the channel [14:59] TheJH: explodes, it won't exit before everything was written, even if you write async. it's a bug. [14:59] explodes: require('fs').writefdSync(1, parser.toString()) [14:59] SubStack: because it's really easy to do with traverse if you know the right methods to call [14:59] felixge: SubStack: works for me [14:59] TheJH: third opinion on explodes problem? [14:59] joshuaroesslein has joined the channel [15:00] maushu: felixge: It's your fault, isn't it? [15:00] felixge: maushu: ? [15:00] maushu: The new logo. [15:00] maushu: I can smell the guilt in you. [15:00] mraleph has joined the channel [15:00] felixge: maushu: it's really an ancient nazi symbol [15:01] felixge: maushu: sorry :( [15:01] explodes: fs.writeSync(1, parser.toString()) still cuts it off... [15:01] TheJH: let's go witchhunting :) [15:01] maushu: I KNEW IT. [15:01] maushu: ACTION goes conspirancy manic mode. [15:01] jetienne: explodes: console.log(); after your console.log(inlinehelp); ? [15:02] MarkMenard has joined the channel [15:02] explodes: jetienne: Nope [15:02] losing has joined the channel [15:03] jetienne: process.stdout.write(inlinehelp); [15:03] explodes: I cant find it in the docs. But writing with console.log is non-blocking. console.warn/console.error however are blocking. [15:03] mikeycgto has joined the channel [15:03] jetienne: explodes: my next suggestion would be "dont display -h over 1200bds terminal" :) [15:04] jetienne: ah ? [15:04] TheJH: explodes, that doesn't matter! node won't exit before there's nothing more to do [15:04] explodes: TheJH: Ooo [15:04] jetienne: process.stderr.write(inlinehelp+ '\n'); then [15:04] bosky101 has joined the channel [15:04] explodes: jetienne: process.stdout.write(foo) didnt work either [15:05] jetienne: explodes: stderr ? [15:05] explodes: stderr works [15:05] jetienne: and btw -h is suppose to output in stderr in usual unix convention [15:05] jetienne: there :) [15:05] explodes: jetienne: Oh. Sweet! [15:06] jetienne: explodes: im not sure the 'convention' part is true tho :) [15:06] jetienne: just a memory [15:06] explodes: ill ask #linux [15:07] SubStack: felixge: updated [15:07] jtsnow has joined the channel [15:08] bradleymeck has joined the channel [15:08] jetienne: https://github.com/joyent/node/blob/master/src/node.js#L220 explodes this seems to be the part you are interested in [15:08] jetienne: explodes: below is the stderr [15:09] rworth has joined the channel [15:09] infynyxx has joined the channel [15:09] SubStack: felixge: speaking of json, check this out: https://github.com/substack/jsup [15:09] sub_pop has joined the channel [15:10] infynyxx has left the channel [15:10] sub_pop has joined the channel [15:10] necrodearia has joined the channel [15:10] aliem has joined the channel [15:10] SubStack: I've wanted that module for a year or more [15:10] tantek has joined the channel [15:11] Clex: Is it possible to do some JS in a Jade attribute? Some thing like "a(href='/foo' + '/bar')". [15:11] explodes: GNU Tools -h writes to stdout, ab (apache bench) writes to stderr [15:11] SubStack: Clex: yep [15:11] SubStack: exactly that [15:12] Clex: Oh, my random statement works? [15:13] jetienne: explodes: cool, maybe to fill an issue on this would be cool [15:13] jetienne: console.log() not flushed before process.exit [15:13] matomesc has joined the channel [15:14] Ameshk has joined the channel [15:14] m00p has joined the channel [15:14] pjacobs has joined the channel [15:14] wookiehangover has joined the channel [15:16] aron_ has joined the channel [15:16] felixge: SubStack: that is crazy [15:17] felixge: SubStack: looks like quite some machinery involved : ). burito + uglify [15:17] felixge: but hey, can't do too much in the name of pretty code, right? [15:17] felixge: :) [15:17] SubStack: indeed! [15:18] tjholowaychuk has joined the channel [15:19] chrischris has joined the channel [15:20] ryanfitz has joined the channel [15:20] zilch_ has joined the channel [15:20] mjr_ has joined the channel [15:21] daveluke_ has joined the channel [15:21] necrodearia has joined the channel [15:21] jonaslund: hmmm [15:22] ryanfitz has joined the channel [15:23] jonaslund: a process.thisTick() function would be handy [15:23] bradleymeck: substack, broken-pipe error ever happen before in dnode? trying to figure out where the socket is being tanked [15:23] jonaslund: or is there something like it? [15:24] SubStack: bradleymeck: in node? [15:24] SubStack: the perl and ruby libs have some problems with pipes [15:24] jonaslund: (I made a test with something like it that does work without doing the whole event loop schebang and it was more than 10x faster [15:26] dtan has joined the channel [15:26] bradleymeck: substack, i found it nm, its with how the domain sockets clobber themselves when you listen [15:26] smolyn has joined the channel [15:26] digitaltoad has joined the channel [15:26] bradleymeck: ACTION shakes fist at https://github.com/joyent/node/issues/1331 [15:27] smolyn has joined the channel [15:27] MarcinM has joined the channel [15:28] kevwil_ has joined the channel [15:28] tchype has joined the channel [15:28] SubStack: aha [15:29] Corren has joined the channel [15:30] threecreepio has joined the channel [15:30] rauchg has joined the channel [15:31] rpflo has joined the channel [15:31] boaz has joined the channel [15:32] kawaz_air has joined the channel [15:35] rick_ has joined the channel [15:35] montylounge has joined the channel [15:36] Velmont has joined the channel [15:37] Vertice has joined the channel [15:38] brianc has joined the channel [15:39] Spion has joined the channel [15:39] Spion has joined the channel [15:42] stephank has joined the channel [15:43] rfay has joined the channel [15:44] __tosh has joined the channel [15:44] mofle has joined the channel [15:45] jeedey has joined the channel [15:45] jeedey: still baffled by the connect-js router failing on multiple requests (not reaching other network layer limits).. [15:47] highermath_away has joined the channel [15:47] pastak has joined the channel [15:49] leek- has joined the channel [15:50] leek- has joined the channel [15:50] tuhoojabotti: There's a bug in your code. :O [15:51] leek has joined the channel [15:51] kriszyp has joined the channel [15:53] gazumps has joined the channel [15:53] Yuffster_work has joined the channel [15:53] matyr_ has joined the channel [15:54] sjbreen has joined the channel [15:54] rodasc has joined the channel [15:54] groom has joined the channel [15:59] adrianmg has joined the channel [16:00] leek has joined the channel [16:00] kytibe has joined the channel [16:00] CIA-107: libuv: 03Ben Noordhuis 07master * rce5eb6d 10/ (config-unix.mk src/uv-unix.c): [16:00] CIA-107: libuv: config-unix: drop --std=c89 on cygwin, hides CLOCK_MONOTONIC. [16:00] CIA-107: libuv: Fixes #112. - https://github.com/joyent/libuv/commit/ce5eb6d85a573985aef5e9e2bfe8bba145163189 [16:00] alnewkirk has joined the channel [16:00] leek has joined the channel [16:01] ekryski has joined the channel [16:02] brettgoulder has joined the channel [16:03] sandropadin has joined the channel [16:03] AaronMT has joined the channel [16:03] CrabDude has joined the channel [16:05] TweeKane has joined the channel [16:05] TooTallNate has joined the channel [16:05] cjj_ has joined the channel [16:05] TweeKane: how do i create temporary file? [16:05] tuhoojabotti: TweeKane: Look at fs. [16:05] tuhoojabotti: :P [16:06] leek has joined the channel [16:06] tuhoojabotti: http://nodejs.org/docs/v0.5.0/api/fs.html TweeKane [16:06] TweeKane: tuhoojabotti: there is nothing there for temp files [16:06] tjholowaychuk: TweeKane: I dont think we have mktemp etc [16:06] tjholowaychuk: right now at least [16:07] TweeKane: I asking not about how to create file [16:07] tuhoojabotti: Make a file, then delete it? :D [16:07] matyr has joined the channel [16:07] tjholowaychuk: and i dont think we expose any temp path related stuff so you kinda have to assume /tmp [16:07] bradleymeck: do you just need a unique name or ...? temp file can mean multiple things [16:07] CIA-107: node: 03Ben Noordhuis 07master * r9cc2bd1 10/ (13 files in 4 dirs): Upgrade libuv to ce5eb6d - https://github.com/joyent/node/commit/9cc2bd11d35fda0b000a16eca8fcef8a0d6fa339 [16:08] TweeKane: i need uniq name in the right dir [16:08] boaz has joined the channel [16:09] leek- has joined the channel [16:09] jeedey: tuhoojabotti: requesting a url and it working 8 times out of 10, sounds like a bug in the router than the actual code because it works [16:09] TweeKane: it is not problem to create file. I just one to do it right way [16:09] donald_cook has joined the channel [16:09] matyr_ has joined the channel [16:09] bradleymeck: tweekane there is no condoned way in the core api and i dont know of a module that does so [16:10] jetienne: TweeKane: "foobar"+Date.now()+Math.floor(Math.random()*999999) ? [16:10] jetienne: put a pid in the mix [16:10] leek2 has joined the channel [16:10] madsleejensen has joined the channel [16:10] mekwall has joined the channel [16:11] jetienne: not garanteed but make collision unlikely [16:11] slifty has joined the channel [16:11] TweeKane: jetienne: it’s okey. What about finding temp dir path? [16:12] robi42 has joined the channel [16:12] dpritchett has joined the channel [16:12] jetienne: TweeKane: like "/tmp" on unix and "somethingelse" on window ? [16:13] apardo has joined the channel [16:13] TweeKane: usually yes, it‘s /tmp [16:13] TweeKane: i know only about linuxes [16:14] slifty: greetings and salutations everyone! [16:14] arnee has joined the channel [16:14] corytheboyd has joined the channel [16:14] jetienne: TweeKane: for unix + mac '/tmp' will do. for window , you dont care for now because node support isnt top notch [16:14] corytheboyd has left the channel [16:14] jetienne: joyent is working hard on it tho [16:14] donald_cook has joined the channel [16:14] _sorensen_: im about to play with it right now [16:14] mnaser: so finally found myself a use-case for node.js -- as an API server, i'm not a fan of XMLRPC, i see there's xmlrpc servers for node.js but i can't find a good REST api module, any suggestions? [16:15] apanda has joined the channel [16:15] cnus8n has joined the channel [16:15] pifantastic_ has joined the channel [16:15] _sorensen_: not sure what to do about lack of npm tho [16:15] mnaser: worse come to worse I'd use xmlrpc but much rather play with REST.. [16:15] jetienne: mnaser: express.js + express-ressource [16:15] indexzero has joined the channel [16:15] isaacs has joined the channel [16:16] ckknight has joined the channel [16:16] TweeKane: jetienne: seems like there is no other way. Thanks all [16:16] jetienne: https://github.com/visionmedia/express-resource#readme mnaser for an example [16:16] isaacs: jetienne: yes, npm keeps your key in your ~/.npmrc file [16:16] mnaser: will check it out! thank you :) [16:17] jeedey: there is a module for temp files [16:17] jetienne: isaacs: you read your backlog :) what about the insecure channel stuff ? why not https ? [16:18] arnee has joined the channel [16:18] indexzero: isaacs: I'll be downtown SF today if you want to grab lunch [16:18] isaacs: jetienne: because until recently, node didn't handle large file transfers over https very well [16:19] jetienne: isaacs: so historical. cool :) [16:19] isaacs: yep [16:19] isaacs: it'll default to https with node >=0.4.10 and npm >=1.0.18 [16:19] isaacs: (ie, next release of both) [16:20] isaacs: you can also do this now with: npm config set registry https://registry.npmjs.org/ [16:20] markdaws has joined the channel [16:21] joshholt has joined the channel [16:22] japj has joined the channel [16:22] langworthy has joined the channel [16:22] jtsnow has joined the channel [16:22] pgte has joined the channel [16:23] remysharp has joined the channel [16:24] ej2 has joined the channel [16:25] indexzero_ has joined the channel [16:25] jakehow has joined the channel [16:26] confoocious has joined the channel [16:26] confoocious has joined the channel [16:26] Xano has joined the channel [16:28] fangel has joined the channel [16:29] agnat has joined the channel [16:29] tdegrunt has joined the channel [16:29] arnee has joined the channel [16:30] danmactough has joined the channel [16:30] zeade has joined the channel [16:32] Corren: isaacs: have you heard of any puppet modules to manage npm? [16:32] threecreepio has joined the channel [16:34] jerrysv has joined the channel [16:35] stalled has joined the channel [16:35] japj: bnoordhuis: hi, I just submitted an issue for not being able to compile v8 on cygwin (thanks for the CLOCK fix btw ;) [16:35] jerrysv has joined the channel [16:35] japj: bnoordhuis: don't know if we need to forward that issue upstream though [16:36] broofa has joined the channel [16:36] pdelgallego has joined the channel [16:37] remysharp has joined the channel [16:39] mnaser: I've done tons of javascript but I've been trying to think of this and I can't figure it out.. what's a good way to run to events parallel and when they're both done, the third event is called [16:39] mnaser: ex: call method a, call method b -- method c waits for a and b to complete then executes [16:40] MarcinM: @mnaser: Step [16:40] TheJH: mnaser, http://github.com/caolan/async [16:41] MarcinM: https://github.com/creationix/step [16:41] MarcinM: Yeah, or async. [16:41] guidocalvano: how do you copy a library when writing an npm install script [16:41] guidocalvano: ? [16:41] tjholowaychuk: i like tim smart's https://github.com/Tim-Smart/async-array [16:41] isaacs: guidocalvano: not sure what you mean [16:42] mnaser: so, much, choices. [16:42] tjholowaychuk: but i guess that's kinda different [16:42] mnaser: lol [16:42] mnaser has left the channel [16:42] TheJH: guidocalvano, are you talking about a dependency? [16:42] guidocalvano: how do you tell npm to put lib at [source path] in [sink path] when installing my C++ written lib [16:42] guidocalvano: yes [16:42] bentkus: :D [16:42] isaacs: guidocalvano: you... don't? [16:42] mnaser has joined the channel [16:42] mnaser: whoops, ctrl+w'd this instead of chrome tab [16:42] mnaser: phail [16:42] bentkus: "I'm Smart ..." "Yeah yeah, we are all smart", "No dude, my surname is Smart!" [16:43] guidocalvano: hmmmm [16:43] MarcinM: Derek? [16:43] TheJH: mnaser, that's even worse when you have the browser on screen 1 and IRC on screen 2 :( [16:43] tjholowaychuk: bentkus haha yeah pretty badass last name [16:43] mnaser: (thats how i just missed it, irc on mbp screen and chrome in main screen) [16:43] iammerrick has joined the channel [16:44] bentkus: em why is that async array so good? [16:44] tjholowaychuk: i just like it better than the other more awkward ones [16:44] tjholowaychuk: but i haven't really had a need for any [16:45] bentkus: I understand why one would use thread safe arrays, but whats the point of "async arrays" [16:45] tjholowaychuk: thread safe? [16:45] tjholowaychuk: we have one thread [16:46] matyr has joined the channel [16:46] tbranyen: not according to google groups today [16:46] bentkus: generalization, i know that node has only one thread [16:46] bentkus: The api is async? so what the underlying code is not [16:46] _sorensen_: technically [16:46] bentkus: I'm using manos, which is like node for C# and you can actually have more event loops [16:47] randylien has joined the channel [16:47] felixge: I remember seeing an npm search that shows github folloers [16:47] felixge: * followers [16:47] felixge: does anybody have a link? [16:47] felixge: More specially I'm looking for a decent xml parser that doesn't need compiling [16:47] Badababuba has joined the channel [16:49] guidocalvano: isaacs, TheJH: so basically the only way to get a dynamic library into your npm distribution is by using a shell script? [16:49] ekryski: For anyone in the Calgary area: http://www.eventbrite.com/s/56gV [16:49] captain_morgan has joined the channel [16:49] tahu has joined the channel [16:50] TheJH: guidocalvano, where do you want to copy that lib? not outside of your module, I suppose? [16:50] perezd has joined the channel [16:50] skohorn has joined the channel [16:50] heavysixer has joined the channel [16:51] japj: guidocalvano: is this lib a node addon or is it lib that your node addon depends on? [16:51] tahu has joined the channel [16:51] arnee has joined the channel [16:51] guidocalvano: TheJH: no course not. I want to link a graphics engine. [16:51] Ramosa: I can't decide on a linux distro for node.js .. [16:51] guidocalvano: japj: its a lib my addon depends on [16:52] japj: guidocalvano: and the distribution you are using does not provide a binary distribution of it (in rpm/deb form)? [16:52] montylounge has joined the channel [16:53] guidocalvano: japj: I have a mac .framework [16:54] dannycoates has joined the channel [16:54] japj: isaacs: if you store a 3rd party shared lib in the same directory as the .node (binary node addon) would that work for guidocalvano? (I dont know how shared libs work on mac) [16:55] guidocalvano: japj: I just want to know how I can get the lib in some node dir, knowing what that dir is [16:55] japj: guidocalvano: you are building with wscript right? [16:55] guidocalvano: japj: if I can get that done I can do the rest myself [16:56] davidwalsh has joined the channel [16:56] guidocalvano: japj: I create a dylib with another build system, and then link that with wscript [16:56] japj: guidocalvano: it could be that wscript knows where it is going to install the .node file, so that would allow you to "configure with install dir" your 3d library [16:56] japj: guidocalvano: ah [16:58] japj: guidocalvano: wscript puts your binary node addon in build/default/ by default [16:58] japj: guidocalvano: I think if you copy your dylib to that location it might work [16:58] guidocalvano: japj: yes, but I need to know where npm puts the dylib [16:59] othiym23 has joined the channel [16:59] guidocalvano: japj: I'll try [16:59] guidocalvano: japj: tnx [16:59] japj: guidocalvano: I think building node addons is part of node-waf, npm is not involved in that perse [17:00] jameson has joined the channel [17:00] japj: guidocalvano: but storing a precompiled dylib inside your addon might prevent it to run on different systems, but I dont know if that is a problem for you [17:01] gregpascale has joined the channel [17:01] isaacs: guidocalvano: the custom is to name the blah.node file as the "main" module [17:01] isaacs: guidocalvano: and then just do require("blah") [17:01] dshaw_ has joined the channel [17:01] Draggor: node.exe: not enough storage is available to process this command. I know what it's saying, but is this a known thing? Ihaven't had that happen on my nix based node. [17:02] guidocalvano: japj: it will be one tough install script (:, but first it has to work on my system [17:03] japj: isaacs: I think this is about a dependency to a 3rd party lib from blah.node (and that 3rd party lib is compiled outside node-waf and needs to be put somewhere in order to be be resolvable by the OS executable loader) [17:03] japj: or something like that [17:04] guidocalvano: is there an environment variable set that states where node can be found? [17:05] guidocalvano: or do I take the path of `which node` ? [17:05] anaio has joined the channel [17:05] guidocalvano: mmmm [17:06] slajax has joined the channel [17:06] guidocalvano: it appears I could use git to add stuff [17:06] guidocalvano: but then I'd have to put compiled libs in there... [17:07] caiges has joined the channel [17:07] catshirt has joined the channel [17:10] DTrejo has joined the channel [17:12] raymorgan has joined the channel [17:12] brion has joined the channel [17:12] brion has joined the channel [17:12] slifty has joined the channel [17:13] raymorgan has left the channel [17:13] __directory has joined the channel [17:14] ghost has joined the channel [17:15] thriple has joined the channel [17:18] admc has joined the channel [17:19] reid has joined the channel [17:20] Murvin has joined the channel [17:21] demano has joined the channel [17:21] thriple has joined the channel [17:21] montylounge has joined the channel [17:22] saurabhverma has joined the channel [17:22] chrissilich: hey everybody [17:22] chrissilich: hows it going? [17:22] chrissilich: does anyone know what the last stable branch is? [17:22] Murvin: 0.4.9 [17:23] chrissilich: do you know who's github i can get it from? [17:23] chrissilich: i sort of noobish I know [17:23] TheJH: chrissilich, github.com/joyent/node [17:23] chrissilich: i see [17:24] brainproxy: chrissilich: maybe try nvm, thenit would just be `nvm install v0.4.10` [17:24] chrissilich: so a "git checkout origin/v0.4" should get me that 0.4.9? [17:24] bosky101 has joined the channel [17:24] chrissilich: nvm? I'm not familiar with nvm [17:24] brainproxy: https://github.com/creationix/nvm [17:25] chrisdickinson: SubStack: i've got a teensy tiny test case that narrows the parsing problem i mentioned last night down to burrito: https://gist.github.com/75def135193cfebbde94 [17:25] brainproxy: easy to install and use [17:25] ksheurs has joined the channel [17:25] TheJH: chrissilich, I'd try v0.4.10 [17:25] brainproxy: and it installs npm for you [17:25] chrissilich: great, thanks guys [17:26] figital has joined the channel [17:26] chrissilich: hmmm, with NVM I'm getting this message: [17:26] chrissilich: "/root/.nvm/src/node-v0.4.10/wscript:232: error: could not configure a cxx compiler! " [17:27] brainproxy: chrissilich: first of all, don't install it as root [17:27] eee_c has joined the channel [17:27] jj0hns0n has joined the channel [17:27] brainproxy: it's meant to be used within a normal user environment [17:27] chrissilich: ok [17:27] boaz has joined the channel [17:27] chrissilich: what's the opposit of sudo -s? [17:27] brainproxy: 2nd, as the README says (which you should read), you need to have a compiler install [17:27] brainproxy: *installed [17:27] brainproxy: what's the OS on the machine you'r installing nvm on [17:28] brainproxy: chrissilich: don't use sudo to install nvm [17:28] chrissilich: its a blank ec2 server [17:28] brainproxy: okay, is that a debian/ubuntu based distro? [17:29] brainproxy: I've never used EC2, sorry, i mainly use VPS from Linode, Rackspace, etc. [17:29] chrissilich: sorry, I'm on the free tier, it just says "Linux" [17:29] chrissilich: I've been using yum to install stuff if that helps [17:29] brainproxy: chrissilich: try this: [17:29] brainproxy: ah, redhat [17:29] brainproxy: just a sec [17:29] NickABusey has joined the channel [17:29] jelveh has joined the channel [17:30] brainproxy: yum groupinstall 'Development Tools' [17:30] boaz has joined the channel [17:30] chrissilich: ahh, thats it [17:30] chrissilich: i'm getting loads of dev tools here [17:30] brainproxy: yes, it's a bundle [17:31] chrissilich: 57 to be precise [17:31] chrissilich: this could take a minute ;) [17:31] brainproxy: also you need libssl-dev, but I'm not sure what it's called on rh derived linux [17:31] chrissilich: "libssl-devel" [17:31] brainproxy: chrissilich: are you using this ec2 instance to learn and play around? [17:31] chrissilich: yes [17:31] matyr_ has joined the channel [17:31] chrissilich: but i have a project I'm working on [17:31] brainproxy: if so, why not do it locally w/ virtual box [17:32] MarkMenard has joined the channel [17:32] sandropadin has joined the channel [17:32] kjeldahl has joined the channel [17:32] chrissilich: the project is an iPhone app that needs to connect over 3g as well [17:32] chrissilich: so i need a server accessible from anywhere [17:33] mnaser: you can do your dev internally over wifi and local IP for the server [17:33] mnaser: t [17:33] brainproxy: maybe fulfill that requirement last, and do your dev and testing with virtual server on local network, e.g/ running on your local machine sharing its network connection via virtual box [17:33] chrissilich: i have been using an EC2 instance for a while, but it was just a copy of someone else's AMI, so I wanted to learn how to manage the server myself [17:33] Xeon06_: Are there any rendering engines that can be used with node? I want to take "screenshots" of websites [17:33] mnaser: then switch the IP to the public EC2 instance over 3g/etc, it would be the same at the end, and you'll be a lot less frustrated dev-ing internally [17:33] mnaser: ls [17:33] mnaser: oops [17:33] brainproxy: I just think you're in for some pain if you try and do all your dev/learning on ec2 :/ [17:34] bbrandon has joined the channel [17:34] brainproxy: heck, get a Linode VPS or a Rackspace Cloud Serve so at least it's persistent; iirc, if the ec2 instance reboots, poof! [17:34] chrissilich: I'll definately move to a paid VPS later [17:34] brainproxy: anyway, i'm being opinionated :) [17:35] chrissilich: but for now EC2 is great, I was doing fine til I tried to set up a server from scratch [17:35] ank has joined the channel [17:35] chrissilich: anyway, success! [17:35] brainproxy: cool [17:35] japj: isaacs: could you have a look at https://github.com/joyent/node/issues/1091 ? it is an npm node 0.5.x related issue. maybe close it or something else? [17:35] brainproxy: btw, see https://github.com/michaelsbradleyjr/vps-setup [17:35] madsleejensen has joined the channel [17:35] Country has joined the channel [17:35] brainproxy: chrissilich: i wrote that, not sure if it will help but you might take a look ^^ [17:36] chrissilich: wow, very in-depth, thanks brain [17:36] demano_ has joined the channel [17:36] tdegrunt has joined the channel [17:36] brainproxy: yw [17:37] brainproxy: it's s a setup tutorial specifically aimed at node.js devs [17:37] brainproxy: though I really don't do much w/ node.js, gut get it prepped in a bare-bones setup [17:37] brainproxy: *just [17:37] brainproxy: I mean in the tutorial I don't actually do much [17:37] brainproxy: w/ node.js [17:38] rpflo has joined the channel [17:38] chrissilich: right, i can see what this tutorial is useful for [17:38] demano__ has joined the channel [17:38] chrissilich: getting to a barebones, working, relatively secure starting point [17:39] `3rdEden has joined the channel [17:39] chrissilich: anyone here using NowJS? [17:39] srid has joined the channel [17:39] ropes has joined the channel [17:39] srid has joined the channel [17:39] brettgoulder has joined the channel [17:40] unlink has joined the channel [17:40] unlink has joined the channel [17:40] temp01 has joined the channel [17:41] kevwil has joined the channel [17:42] ngs has joined the channel [17:42] thriple: brainproxy: can you post that link again? just missed it [17:42] felixge: Just published a new #nodejs module for @airbrakeapp (formerly @hoptoadapp). If you need error tracking, check it out: https://github.com/felixge/node-airbrake :) [17:43] brainproxy: thriple: sure, https://github.com/michaelsbradleyjr/vps-setup [17:43] wavded has joined the channel [17:43] ecin has joined the channel [17:44] dgathright has joined the channel [17:45] taf2: is it bad if i'm not a coffescript user but would drink coffee all day missing lunch in favor of coffee... maybe i'm just confused [17:45] sweetd has joined the channel [17:45] bene has joined the channel [17:45] thriple: ty [17:45] taf2: is there a rsa component to crypto lib? [17:46] stalled has joined the channel [17:46] bnoordhuis: taf2: you mean for generating keys? not right now, no [17:46] wavded has left the channel [17:46] wavded has joined the channel [17:46] taf2: i have a pure js version to generate keys... but it's sloow [17:46] vikstrous has joined the channel [17:46] japj: taf2: as long as you dont like java beans, drinking coffee is ok ;) [17:47] taf2: i've tried java beans once before... i ended up throwing up by mid morning [17:47] taf2: i'll do expresso though... keeps me feeling strong [17:48] mikeal has joined the channel [17:49] dguttman has joined the channel [17:49] creationix has joined the channel [17:49] creationix has left the channel [17:50] halfhalo-work has joined the channel [17:50] thriple: Can anyone explain the signifigance of 'binding' to process? [17:50] Cleer has joined the channel [17:50] hydrozen has joined the channel [17:50] tjholowaychuk: thriple it exposes the really low level bindings to node [17:50] carmony has joined the channel [17:50] tjholowaychuk: for internal use [17:51] jetienne: taf2: SubStack did bignumber lib from memory [17:51] CIA-107: libuv: 03Ryan Dahl 07master * readfb14 10/ src/uv-unix.c : unix: uv_write shouldn't assert fd >= 0 - https://github.com/joyent/libuv/commit/eadfb1488470197d9073b5763986246a54d92703 [17:51] jetienne: https://github.com/substack/node-bigint [17:51] langworthy has joined the channel [17:51] taf2: ah, i wish i had seen that earlier today [17:52] thriple: tjholowaychuk thanks, so it allows you to interact with the non JS part of node? [17:52] mikedeboer has joined the channel [17:52] tjholowaychuk: thriple i dont think it's public api [17:52] namelessjon: What do people recommend for testing node libraries/apps? [17:52] bene has left the channel [17:52] tjholowaychuk: but for example fs.close() is basically just process.binding('fs').close [17:52] taf2: ACTION likes assert [17:53] tjholowaychuk: ACTION also likes assert [17:53] tjholowaychuk: ACTION begins to hate all test frameworks [17:53] thriple: tjholowaychuk thank you [17:53] ekryski: what about expresso ;-) [17:53] aron_ has joined the channel [17:53] tjholowaychuk: meh [17:53] tjholowaychuk: lol [17:53] tjholowaychuk: it's far from great [17:53] ekryski: you only have so much time [17:53] taf2: ACTION moves crazy fast... expresso OD [17:54] tjholowaychuk: the best test frameworl is a simple one tailored exactly to your ad hoc needs [17:54] tjholowaychuk: framework* [17:54] boaz has joined the channel [17:54] scottlepich has joined the channel [17:54] matbee has left the channel [17:55] wavded has left the channel [17:55] namelessjon: Thanks for the recommendations. [17:56] guidocalvano: how do I run an application in node-waf [17:56] guidocalvano: I need to change the path where my app expects a dylib [17:56] Borgoluzzuo has joined the channel [17:56] guidocalvano: *my module expects a dylib [17:56] zilch_ has joined the channel [17:57] AvianFlu has joined the channel [17:57] ngs has joined the channel [17:58] Borgoluzzuo: Hi all, I have this code going: https://gist.github.com/86c8b9ebf7dc623c76bb -- but on line 11, it claims poll_id is undefined -- does anyone have any idea why this might be happening? [17:58] D3Vito has joined the channel [17:59] monokrome: Are there any open source tools for auto-deploying node applications? [17:59] Prometheus: define auto deploy [17:59] tjholowaychuk: shell scripts ftw [18:00] perlmonkey2 has joined the channel [18:01] broofa has joined the channel [18:01] monokrome: Prometheus: If I have 20 servers and I change the code in master, the code should be updated on the servers. [18:01] Prometheus: master? [18:01] Prometheus: on git? [18:01] monokrome: Git branch [18:01] corytheboyd has joined the channel [18:02] tjholowaychuk: shell script that issues commands to N servers [18:02] TheJH: Borgoluzzuo, it shouldn't be undefined. Could you insert a "console.log(JSON.stringify(json))" in line 10? [18:02] bradleymeck has joined the channel [18:02] monokrome: I'm using Python / Fabric for a related project, but doing this part in Node [18:02] marienz_ has joined the channel [18:02] jborst has joined the channel [18:02] Prometheus: monokrome: I believe there's a fabric fork/branch that lets you run commands parallel [18:02] vikstrous has joined the channel [18:02] Borgoluzzuo: TheJH: One Moment... [18:02] monokrome: (and dislike the fabric approach) [18:03] kawaz_air has joined the channel [18:03] Prometheus: so you could (in theory) issue the command parallel =) [18:03] Prometheus: with that said, there's a bunch of articles that actually cover how to mimic heroku-like deployment [18:03] tjholowaychuk: "Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH" [18:03] monokrome: The issue with fabric is that it has a "push" approach, while I want a "pull" [18:03] tjholowaychuk: why the hell woudl you need py [18:03] tjholowaychuk: hate these things [18:03] Prometheus: monokrome: there's project called cast [18:03] Prometheus: that's kind of like puppet for your application code [18:04] Prometheus: http://cast-project.org/ [18:04] Prometheus: I believe the idea behind cast is to enable pull deployment [18:04] pjacobs has joined the channel [18:04] Prometheus: (it's quite young though, so buyer beware) :) [18:04] monokrome: Hmm. Haven't seen that one, yet. [18:04] Prometheus: but it has good people behind it [18:05] Prometheus: it's worth watching I think :) [18:05] tjholowaychuk: http://readthedocs.org/ [18:05] tjholowaychuk: we need that [18:05] tjholowaychuk: for node [18:05] Prometheus: tjholowaychuk: that's python ;) [18:05] tjholowaychuk: yeah i know [18:05] Prometheus: the source is available though, just write your docs in reST =P [18:05] BillyBreen has joined the channel [18:05] tjholowaychuk: reST? [18:06] CIA-107: libuv: 03Ryan Dahl 07master * r1fda135 10/ src/uv-unix.c : understand EBADF - https://github.com/joyent/libuv/commit/1fda135ff21869fe24e95a154747722edd546aee [18:06] Prometheus: reStructured Text [18:06] tjholowaychuk: looks markdown-ish enough to make me happy [18:06] Prometheus: it's the markup Sphinx uses [18:06] tjholowaychuk: i [18:06] tjholowaychuk: i [18:06] tjholowaychuk: FUCK [18:06] tjholowaychuk: haha [18:06] Prometheus: (which is what RTD uses to create those docs) [18:06] tjholowaychuk: worth investigating we need something solid like that [18:06] Prometheus: :) [18:07] Prometheus: the RTD guys kindly put their sources on github [18:07] Borgoluzzuo: TheJH: It just outputs the same but with slashes [18:07] tjholowaychuk: awesome [18:07] Prometheus: tjholowaychuk: if you feel like setting one up and need help setting it up, feel free to hit me up :) [18:07] Borgoluzzuo: TheJH: So {\"poll_id\":2423,\"vote_count\":1} [18:07] tjholowaychuk: Prometheus will do [18:08] tjholowaychuk: Prometheus ah i see, you write them in a docs dir instead of inline [18:08] Prometheus: yup [18:08] tjholowaychuk: duplication sucks, but i love inline docs [18:09] Prometheus: docco to the rescue? [18:09] CIA-107: node: 03Ryan Dahl 07master * r0599cb7 10/ src/node.js : process.stdout/process.stderr should use net_legacy for now - https://github.com/joyent/node/commit/0599cb7afa7bd0b78741142b92b588a8f59609d5 [18:09] tjholowaychuk: meh [18:09] TheJH: Borgoluzzuo, try to replace callback(JSON.parse(message)); with callback(message); [18:09] tjholowaychuk: easy enough to construct the dir from inline [18:09] ekryski has left the channel [18:09] ekryski has joined the channel [18:10] Borgoluzzuo: TheJH: Well, the message is actually coming in as a string, not pure JSON -- so we need that JSON.parse [18:10] TheJH: Borgoluzzuo, which framework are you using? [18:10] Borgoluzzuo: TheJH: We have a C process using hiredis to publish to a channel over redis which node is subcribed to waiting for data [18:11] Prometheus: tjholowaychuk: yeah, I imagine you could just have something scrape the files and generate the files from that [18:11] technoweenie has joined the channel [18:11] tjholowaychuk: Prometheus yeah i could use what i have for dox i just dont have time to finish the new dox [18:11] TheJH: Borgoluzzuo, what libraries (if any) are you using inside node for that connection? [18:11] tjholowaychuk: and this thing looks slick [18:11] Prometheus: it's pretty neat :) [18:12] Borgoluzzuo: TheJH: I just did a npm install redis for our redis client [18:12] Prometheus: on the plus side, you get all(?) the ready-made sphinx themes for free, too [18:13] skohorn has joined the channel [18:13] BillyBreen has joined the channel [18:14] chrisdickinson: Prometheus: tjholowaychuk: it'd be cool to add the ability to include docco docs to rtd. [18:14] Prometheus: chrisdickinson: or pycco =P [18:14] tjholowaychuk: i dont really like how the docco ones read [18:14] chrisdickinson: also, I've hosted some node.js documentation on rtd, and it seems to work pretty well [18:14] Prometheus: chrisdickinson: yeah, but you'd probably want this to be node focused :) [18:15] chrisdickinson: Prometheus: I don't think there's anything specific to python about rtd -- it just so happens that most of the projects hosted on there are python [18:15] Prometheus: chrisdickinson: right, there isn't [18:15] carmony has joined the channel [18:15] Prometheus: but most of the existing projects are python or django projects :) [18:15] chrisdickinson: maybe more worthwhile to fork it and add "language detection" support -- searching by language + keywords, etc [18:15] tjholowaychuk: chrisdickinson good point [18:15] temp01 has joined the channel [18:15] tjholowaychuk: save even more time [18:16] chrisdickinson: a couple of co-workers of mine actually wrote it, so I might see if they're interested in that sort of thing [18:16] wavded has joined the channel [18:16] chrisdickinson: (though I don't see why they wouldn't be) [18:16] Prometheus: chrisdickinson: yeah the language selection would be cool [18:16] Prometheus: I think RTD would benefit from that, too :) [18:17] aliem has joined the channel [18:17] maushu has joined the channel [18:17] chrisdickinson: totally. are there any other things that would be... I don't know, nice to have for node.js project documentation that RTD doesn't have at the moment? [18:17] ericholscher has joined the channel [18:18] zilch_ has joined the channel [18:18] cnu_ has joined the channel [18:19] elijah has joined the channel [18:19] TheJH: Borgoluzzuo, I can't find the error [18:19] Prometheus: chrisdickinson: I personally think docco support would be huge [18:20] chrisdickinson: tjholowaychuk: Prometheus: fyi, ericholscher works on rtd [18:20] Borgoluzzuo: TheJH: We're at a loss as well [18:20] Prometheus: chrisdickinson: I know :) [18:20] Prometheus: oh, eric is here [18:20] ericholscher: :) [18:20] Prometheus: ericholscher++ [18:20] catb0t: ericholscher now has 1 beer [18:20] tjholowaychuk: cool [18:20] ericholscher: thanks! :) [18:20] wavded has left the channel [18:20] tjholowaychuk: looks like a great project [18:20] tjholowaychuk: retarded that each language reinvents this stuff [18:20] wavded has joined the channel [18:20] ericholscher: ACTION will have to cash that out at next nodeconf if it's in portland again :) [18:20] TheJH: Borgoluzzuo, did you try just omitting that JSON.parse? maybe the redis client already gives you parsed data (although the docs say that it's not the case) [18:21] Prometheus: tjholowaychuk: agreed [18:21] Prometheus: ericholscher: I'll definitely buy you one if I can make it there, didn't see you in the bars @ euro djangocon 2009 :P [18:21] fille has joined the channel [18:22] boaz has joined the channel [18:22] ericholscher: oh man [18:22] ericholscher: ACTION has epic flashbacks [18:22] chrisdickinson: it might be cool to do a little design work and add "language / framework" tags to documentation lists -- also, providing list pages specific to a language/framework [18:23] chrisdickinson: maybe a gh-pages import would be cool, too? [18:23] fille: hello hello [18:23] ericholscher: Yea, if people want to specify, I haven't even thought about that [18:23] hippich has joined the channel [18:23] hippich has joined the channel [18:23] chrisdickinson: ...and final pony request, some way to parse the package.json for "scripts":{"docs":"build docs"} [18:23] ericholscher: I've been more thinking about different types of documentation backends, having a project-level language etc. would be pretty simple [18:24] wavded has left the channel [18:24] ericholscher: a docco backend would indeed be cool [18:24] wavded has joined the channel [18:25] chrisdickinson: ericholscher: it might be cool to see if you can grab the javascript rich text editor from github's gollum and apply it to inline editing of docs for owners of the page [18:25] Prometheus: ericholscher: esp. since there's so many language-specific permutations of docco :) [18:25] wavded has left the channel [18:25] colinclark has joined the channel [18:26] bosky101 has joined the channel [18:26] guidocalvano: pfffff this is such a head ache... about 10 to 15 deps [18:26] guidocalvano: have to manually change them all [18:26] guidocalvano: grrrr... [18:27] tjholowaychuk: with reST can you use # foo / ## foo etc for headings? [18:27] tjholowaychuk: not a fan of the underline thing [18:28] xerox: the what? [18:28] xerox: o I see : ) [18:29] Ramosa has joined the channel [18:29] tjholowaychuk: grr doesn't look like it [18:30] ericholscher: yea, it takes some getting used to [18:30] ericholscher: but is generally pretty powerful [18:30] zmbmartin: not really node related but I have a client that needs a WYSIWYG of sorts. What are some easy lightweight options? [18:30] zmbmartin: I am afraid markdown will not be simple enough for my clients [18:31] tjholowaychuk: seems like a poor choice unless it has implications of some sort [18:31] caiges has joined the channel [18:31] rex_fernando has joined the channel [18:31] zmbmartin: tjholowaychuk: was your last remark directed at me? [18:32] tjholowaychuk: nope [18:34] EyePulp: zmbmartin: We use markitup and output to markdown for our internal storage. http://markitup.jaysalvat.com/home/ [18:34] EyePulp: the end user doesn't need to know the markup language - they just use the wysiwyg editor [18:37] benmonty has joined the channel [18:37] zmbmartin: EyePulp: Cool, I will take a look. Thanks [18:37] EyePulp: np [18:37] vikstrous has joined the channel [18:38] steffan_ has joined the channel [18:38] xeodox has joined the channel [18:39] jacobolus has joined the channel [18:39] AvianFlu has joined the channel [18:39] PPilate has joined the channel [18:40] benmonty: Does anyone know of a good module for initializing new node projects? (i.e. one that creates folders lib, test, etc... creates a readme skeleton.. creates package.json) [18:41] yozgrahame has joined the channel [18:41] robhawkes has joined the channel [18:41] benmonty: I know express has a decent one, but it is for express specific web apps [18:41] tjholowaychuk: benmonty: https://github.com/visionmedia/ngen [18:42] tjholowaychuk: it's pretty specific to my needs [18:42] tjholowaychuk: but [18:42] tjholowaychuk: it supports templates [18:42] Prometheus: tjholowaychuk: yeah, I'm not fan of the rest headings either [18:42] mraleph has joined the channel [18:42] Prometheus: much prefer markdown syntax [18:42] Prometheus: but sphinx makes reST that much better =) [18:43] jetienne: uploading 0.4.10 .deb for ubuntu [18:44] Renegade001 has joined the channel [18:44] CIA-107: libuv: 03Ryan Dahl 07master * rabf8545 10/ test/runner.c : [18:44] CIA-107: libuv: Don't output progress in 'make bench' [18:44] CIA-107: libuv: Fixes #115. - https://github.com/joyent/libuv/commit/abf854597b5a226743486c3c60a1c18c0db7df79 [18:44] benmonty: tjholowaychuck: thanks [18:45] necrodearia has joined the channel [18:45] EyePulp: benmonty: here's one I used a while ago: https://github.com/robrighter/node-boilerplate [18:45] daveluke has joined the channel [18:46] EyePulp: benmonty: I find now though that you add un-needed bloat if I cut & paste projects. I mainly rely on npm and some generic sub directories (lib, media) to carve out the workspace [18:46] tjholowaychuk: RTD could fill in a lot of this for you [18:46] tjholowaychuk: when you enter a .git url [18:47] BillyBreen has joined the channel [18:48] AaronMT has joined the channel [18:49] patcito has joined the channel [18:49] jscheel has joined the channel [18:49] jscheel has joined the channel [18:50] hij1nx has joined the channel [18:51] codedefinition has joined the channel [18:52] benmonty: I guess I need to investigate a bit [18:52] benmonty: RTD = Read The Docs ? [18:53] chrisdickinson: benmonty: yep [18:53] CIA-107: libuv: 03Ryan Dahl 07master * rb38ba04 10/ (test/benchmark-ares.c test/benchmark-getaddrinfo.c): Fix benchmark output for ares and getaddrinfo - https://github.com/joyent/libuv/commit/b38ba046980dd0904907282f5b1b72517b48f05d [18:53] tjholowaychuk: yeah just trying it out [18:53] pifantastic has joined the channel [18:54] chrisdickinson: tjholowaychuk: if it's any sort of a ringing endorsement, django's documentation is mirrored at rtd: http://readthedocs.org/docs/django/en/latest/ [18:54] muhqu has joined the channel [18:54] tjholowaychuk: cool [18:55] chrisdickinson: (which is sort of my go-to example of "gigantic documentation project" -- I really like jacobkm's assertion that "good documentation is fractal") [18:55] tjholowaychuk: i might do similar for express [18:55] mraleph has joined the channel [18:55] tjholowaychuk: i dont know what htmlDir is though [18:55] tjholowaychuk: haha [18:55] Corren: can anyone point me to a node.js/express project on github that has elegantly factored modules and views? [18:55] isaacs has joined the channel [18:55] matyr has joined the channel [18:56] danmactough has joined the channel [18:57] muhqu_ has joined the channel [18:57] mikedeboer has joined the channel [18:57] tilgovi has joined the channel [18:57] tilgovi has joined the channel [18:59] malkomalko has joined the channel [18:59] icebox has joined the channel [18:59] raidfive has joined the channel [19:00] jonaslund has joined the channel [19:01] icebox: isaacs: Hello... I was wondering if you intend to add the following patch for cygwin env: https://github.com/isaacs/npm/issues/959#issuecomment-1587107 [19:01] CIA-107: libuv: 03Ben Noordhuis 07master * r6c8acb0 10/ test/task.h : task: flush stderr after printing - https://github.com/joyent/libuv/commit/6c8acb0ed1b7592bb830d952d225c31e42e279d3 [19:02] pgte has joined the channel [19:03] kofno has joined the channel [19:04] namelessjon: When is null, not null? (Or libxmljs is driving me crazy) [19:04] malkomalko: is there anyway to require a file, and know when it's loaded? I'm opening up a db connection and I only want to proceed after the connection has been openex [19:06] FireFly|n900 has joined the channel [19:06] joshontheweb has joined the channel [19:08] matyr_ has joined the channel [19:08] jelveh has joined the channel [19:08] TheJH: malkomalko, require() is synchronous [19:09] http402 has joined the channel [19:10] dguttman has joined the channel [19:10] ngs has joined the channel [19:11] g4 has joined the channel [19:11] akshatj has joined the channel [19:11] smtlaissezfaire has joined the channel [19:13] CIA-107: libuv: 03Ben Noordhuis 07master * reb5e00f 10/ test/runner.c : [19:13] CIA-107: libuv: runner: give helpers a chance to clean up after the test. [19:13] CIA-107: libuv: Fixes #50. - https://github.com/joyent/libuv/commit/eb5e00fd1be5e5efafcb03f080205a827e95ba26 [19:14] zeade has joined the channel [19:14] CIA-107: libuv: 03Ryan Dahl 07master * rb13a446 10/ test/test-ping-pong.c : Test for sync tcp and pipe connections - https://github.com/joyent/libuv/commit/b13a446d6c7fc5a7b40e75f76a7dfc2c9a175f3c [19:16] pt_tr has joined the channel [19:18] systemfault has joined the channel [19:18] systemfault has joined the channel [19:18] CIA-107: libuv: 03Ryan Dahl 07master * r685c083 10/ test/runner.c : Only sleep on 'make bench' not on 'make test' - https://github.com/joyent/libuv/commit/685c083c792c651b92629e60e90ddde672c3f287 [19:18] heavysixer has joined the channel [19:19] havenn has joined the channel [19:20] teemow has joined the channel [19:21] marcinkuzminski_ has joined the channel [19:22] rhdoenges has joined the channel [19:23] japj: bnoordhuis: can you close https://github.com/joyent/node/issues/854 ? [19:24] bnoordhuis: japj: done [19:24] rhdoenges: bnoordhuis: I sent a list of issues that are closeable to nodejs-dev but google groups says it needs to go through moderation [19:24] rhdoenges: should I have emailed it? [19:25] bnoordhuis: rhdoenges: isaacs moderates the queue [19:25] bnoordhuis: isaacs: ^ [19:25] isaacs: bnoordhuis: there's a few other people on that, too, but i'll take a look [19:25] arnee has joined the channel [19:25] rhdoenges: isaacs: thanks [19:25] isaacs: ok, you're approved :D [19:26] rhdoenges: :D [19:27] japj: rhdoenges: gz! ;) [19:27] xeodox has joined the channel [19:28] bayousoft has joined the channel [19:28] geetarista has joined the channel [19:28] voodootikigod has joined the channel [19:29] rhdoenges: japj: gz? [19:30] beriberikix: I know this is a huge topic, but are there any good articles on flow control? [19:30] iammerrick: isaacs: is "cannot call method filter of undefined a known issue? [19:30] isaacs: iammerrick: yes, update npm, fixed in the latest [19:30] iammerrick: isaacs: thanks [19:30] slickplaid: great site on flow control: http://www.tampax.com [19:31] rhdoenges: look_of_disapproval [19:31] montylounge has joined the channel [19:31] jelveh has joined the channel [19:31] beriberikix: slickplaid: I'd call that flow blockage [19:31] japj: rhdoenges: as in gz: A leetspeak word meaning "congratulations" (from leetspeak "gratz")... sorry, a bit of WoW influence hit me there [19:32] rhdoenges: japj: thanks :) [19:34] beriberikix: for ex., if I have nested async functions. Like a readfile inside a route middleware in express [19:34] slickplaid: i thought gz meant gzip to be honest [19:34] jonaslund: ryah: should http://www.jlim.se/tick.js work? (Run for one second then abort) [19:34] jonaslund: ryah: It works in node 4.4 but not 5.1 [19:35] frodenius has joined the channel [19:35] frodenius has joined the channel [19:36] matyr has joined the channel [19:36] rhdoenges: nothing is as it seems in 0.5.x [19:36] rhdoenges: it is a dangerous place [19:37] japj: it is in heavy state of flux [19:37] __directory: cast of "Twilight" lurks within [19:37] tjholowaychuk: the unstable branch(es) should output some kind of warning [19:37] jonaslund: there's new features being tried out and some things being redone but we need to test for regressions :) [19:37] tjholowaychuk: to say such, so people ask less [19:39] hydrozen has joined the channel [19:39] projectmoon has joined the channel [19:39] rhdoenges: it says somewhere in the wiki odds are unstable and evens stable like linux [19:40] rhdoenges: but it's preeetty buried [19:40] jonaslund: I'm not expecting rock solid, but if it's a bug then it's a good thing it gets spotted [19:40] projectmoon: does nodejs have issues encrypting/decrypting binary data? i'm trying to implement a simple encrypt/decrypt tool and the md5sums for binary files are coming out different... but text is no problem [19:40] tjholowaychuk: no one looks [19:40] jonaslund: and i wrote a specific test-case for the bug once i found it [19:40] jonaslund: the "real" code is far bigger :) [19:41] jonaslund: hence tick.js [19:41] catshirt has joined the channel [19:43] rhdoenges: could you gist the test-case? [19:43] markwubben: kriszyp: did you pull stuff from NPM? patr, promised-io, they're failing to install [19:43] kriszyp: how are they failing? [19:44] isaacs: markwubben: might be my fault, lemme check [19:44] markwubben: $ npm install patr [19:44] markwubben: npm ERR! Error: unknown_error badarg: patr [19:44] markwubben: npm ERR! at IncomingMessage. (/usr/local/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:183:16) [19:44] isaacs: yep, badarg. probably my bad. looking into it [19:44] markwubben: isaacs: it's breaking our deploys ;) [19:45] digitalnoiz has joined the channel [19:46] isaacs: should be working now [19:46] isaacs: sorry for that. [19:46] jtrudeau has joined the channel [19:47] christophsturm has joined the channel [19:47] markwubben: seems good, thanks. what happened? [19:47] unlink has joined the channel [19:47] unlink has joined the channel [19:48] jonaslund: https://gist.github.com/1095754 [19:49] krishnan has joined the channel [19:49] krishnan: Hi [19:49] __directory: hi [19:49] krishnan: I have successfully installed node.js on win 7 [19:49] robi42 has joined the channel [19:49] mnaser: this is really silly, but it seems like the preferred way of including things is by making them modules. however, what if I want a module to access something in the "main" node.js application [19:49] isaacs: markwubben: i simplified some of the view code to remove a giant if/else block that was confusing me [19:49] jonaslund: (someone on non-win32 who could test the above gist ? ) [19:49] jonaslund: on 0.5.1 [19:49] isaacs: markwubben: the thing is, it was doing a toJSON at the very end, and i missed that [19:49] jonaslund: or newer [19:50] isaacs: markwubben: this is why big if blocks are hazardous [19:50] krishnan: but want to know how to run a small node.js example [19:50] krishnan: can someone help me with that? [19:50] markwubben: isaacs gotcha [19:50] mnaser: example: var http = http server, i want to include a second module called "blah.js", can I access http from it? [19:50] markwubben: isaacs good reminder we should remove dependencies on NPM and github for our deploys [19:51] isaacs: for deployment, yeah, probably [19:53] japj: bnoordhuis: is timers_uv supposed to work yet? (and then setTimeout specifically) [19:53] bnoordhuis: japj: yes-ish, i think [19:53] mange has joined the channel [19:53] jonaslund: bnoordhuis: mingw uses libuv for timers ? [19:53] jonaslund: on 0.5.1 [19:53] ezmobius has joined the channel [19:53] japj: bnoordhuis: then jonaslund found a bug https://gist.github.com/1095754 [19:56] Bwen has joined the channel [19:56] bnoordhuis: japj jonaslund: wfm on linux with uv [19:56] Bwen has left the channel [19:56] bnoordhuis: i don't have a windows machine nearby right now [19:56] guidocalvano: bnoordhuis: lucky you [19:57] guidocalvano: (: [19:57] EyePulp: heh [19:57] japj: bnoordhuis: I think it has to do with arguments.length handling in timers_uv.js [19:57] bnoordhuis: japj: can you or jonaslund open an issue? [19:58] altamic has joined the channel [19:59] kulor-uk has joined the channel [20:01] dpritchett` has joined the channel [20:02] vipaca has joined the channel [20:03] nodokodo has joined the channel [20:04] tjholowaychuk has joined the channel [20:04] xeodox has joined the channel [20:04] mc_greeny has joined the channel [20:04] brianc: man [20:04] brianc: node v0.4.10 broke node-postgres extremely [20:05] __directory: :P [20:05] vipaca: Anyone using express? [20:05] vipaca: What is the proper way to obtain the body of a post request? [20:06] japj: jonaslund: I filed https://github.com/joyent/node/issues/1371 [20:06] japj: and also trying to figure what exactly is going wrong [20:06] dpritchett`: app.post('/', function(req, res){ [20:06] dpritchett`: console.log(req.body.user); [20:06] __directory: req.body [20:07] __directory: it's in the express guide under the express.bodyParser() middlejuare. [20:09] jarek_ has joined the channel [20:09] kepakiano1 has joined the channel [20:09] jasonh has joined the channel [20:10] jonaslund: japj: I was experimenting with a "process.thisTick" thing [20:10] jonaslund: japj: to do heavy work without "tail-calling" [20:10] akiva: npm can be a real bugger. If I try to run an update, it fails and returns and error, if I try a few times, eventually it works. :S [20:11] CrisO has joined the channel [20:11] jonasen has joined the channel [20:11] isaacs: akiva: "an error" is the vaguest possible error report. [20:11] jonaslund: japj: On node 0.4.4 doing 100k process.nextTick takes 1.3 seconds, on 0.5.1 it takes 0.23 seconds [20:11] __directory: i've had hardly any trouble with npm that wasn't me being a jackass [20:11] akiva: akiva: I was mostly complaining out loud. I have the report to post @ Github [20:11] jonaslund: japj: so either a tick is much faster nowadays or there's alot of code that doesn't get run for some reason [20:11] isaacs: oh, ok, great :) [20:11] akiva: __directory: Ha! [20:11] isaacs: otherwise it's just a tease. [20:11] isaacs: ;) [20:12] jonaslund: japj: ("thisTick" takes 0.03 seconds so there is "some" code being run) [20:12] jonaslund: for each tick [20:12] brianc: I think this somehow broke node postgres: #394 Fix Buffer drops last null character in UTF-8 [20:12] brianc: anyone else having problems writing to buffers correctly with node v0.4.10? [20:12] wink_: thank god im still on 0.4.9 :p [20:12] frodenius: jonaslund㇀ care to paste the code you used? [20:13] __directory: im on 0.4.9 [20:13] context: hmm [20:13] jonaslund: frodenius: https://github.com/joyent/node/issues/1371 [20:13] matyr has joined the channel [20:13] context: npm update -g npm (or without npm at end) gives me: [20:13] context: npm ERR! TypeError: Cannot call method 'filter' of undefined [20:13] jhurliman has joined the channel [20:13] projectmoon: anyone have issues decrypting binary data in node? i'm not sure if i'm doing it right... text works fine. gist is at https://gist.github.com/1095807 [20:13] jonaslund: frodenius: i boiled down the example that fails to that [20:13] jellosea: whats the difference in exports.funcname = funcname and module.exports = something? [20:14] nerdfiles has joined the channel [20:14] sandstrom has joined the channel [20:14] sandstrom has joined the channel [20:14] nerdfiles has left the channel [20:14] xeodox has joined the channel [20:14] jellosea: if i want the constructor of an object to be exported.. how should i do it [20:14] projectmoon: jellosea: same way you export everything else [20:15] igl: exports.myconstr = func.. ? [20:15] japj: jonaslund: I'm comparing timers_uv.js and timers_legacy.js but unfortunately someone also changes some of the inner workings and not just ported it, so it is a bit difficult to see what of the changes is causing the problem [20:15] kepakiano has joined the channel [20:15] kepakiano has joined the channel [20:15] tjholowaychuk: jellosea module.exports == exports, so you'r either adding to it, or replacing it [20:15] wavded has joined the channel [20:15] jonaslund: japj: I think the problem is at some other level though [20:15] tjholowaychuk: require('stream') vs require('stream').Stream etc [20:15] kepakiano2 has joined the channel [20:16] kepakiano2 has left the channel [20:16] dreamdust has joined the channel [20:16] wavded has left the channel [20:16] wavded has joined the channel [20:17] akiva: The latter just looks silly imo and is usually pointless [20:18] tjholowaychuk: agreed [20:18] tjholowaychuk: it's awkward [20:18] tjholowaychuk: when the module represents a single constructor [20:18] AvianFlu has joined the channel [20:18] tjholowaychuk: i definitely prefer the first [20:19] akiva: Exactly. Which seems to be the trend for how most ppl use the modules [20:19] tjholowaychuk: yup. that's why I do "exports = module.exports = Stream" or similar. so conceptually you can still have additional exports [20:19] tjholowaychuk: but if you ever change your mind [20:19] MarkMenard has joined the channel [20:19] tjholowaychuk: you dont have to go change Stream.foo Stream.bar etc [20:20] akiva: ACTION nods [20:20] akiva: tjholowaychuk: Do you have any recommended Node hosts (for quick tests, like nodester... I use a VPS otherwise) [20:21] tjholowaychuk: haven't really tried any to be honest [20:21] tjholowaychuk: deployed a quick thing to no.de once but that was it [20:21] akiva: Nodester is causing me all kinds of grief [20:21] wavded: brianc: any luck? i'm not sure how much help I'll be but am willing to help, i reverted back to v0.4.9 for now [20:21] Aikar: dedicated ftw! lol [20:21] akiva: Yeah, waiting for coupons is killing me. lol [20:21] rfay has joined the channel [20:21] joshthecoder has joined the channel [20:22] dve has joined the channel [20:22] ank has joined the channel [20:22] losing has joined the channel [20:23] skm has joined the channel [20:24] joshthecoder has joined the channel [20:24] wavded has left the channel [20:25] CIA-107: node: 03Ben Noordhuis 07master * r6f0740e 10/ src/node_crypto.cc : [20:25] CIA-107: node: crypto: check for SSL_COMP_get_compression_methods() [20:25] CIA-107: node: Function was named SSL_COMP_get_compression_method() (singular) [20:25] CIA-107: node: in OpenSSL 0.9.7 and older. [20:25] CIA-107: node: Fixes #1242. - https://github.com/joyent/node/commit/6f0740e67b785599cfd1112647249b5c678c7214 [20:26] matyr_ has joined the channel [20:26] cesutherland has joined the channel [20:27] jonaslund: japj: i found something that might be related in node.cc [20:27] zackattack has joined the channel [20:28] jbpros has joined the channel [20:28] kmox83 has joined the channel [20:29] jonaslund: hard to tell if it's really related though [20:31] bbigras has joined the channel [20:31] brianc: ah, found the issue. [20:32] mikeal has joined the channel [20:32] Velmont has left the channel [20:33] mnaser: hey guys, i can't install a module using npm? [20:33] isaacs: on it [20:33] mnaser: thank you so much isaacs -- if you need a hand.. [20:34] brianc: isaacs: would the issue be related to also not being able to publish a module (bad_utf8_character_code)? [20:34] isaacs: yes [20:34] brianc: awesome. you're a bamf [20:34] chicmome has joined the channel [20:35] mnaser: yeah, same error message i was getting trying to install async [20:35] isaacs: k, that was weird [20:35] isaacs: i think i confused it. restarting fixed the problem. [20:35] isaacs: there was not actually any problem with any of the code. [20:35] brianc: hot. works now. <3 [20:36] jonaslund: japj: i'm pretty sure i've traced the problem [20:36] markwubben has joined the channel [20:36] nerdfiles has joined the channel [20:36] nerdfiles has left the channel [20:36] blup has joined the channel [20:37] mnaser: isaacs: installation works smoothly now. thank you very much! [20:37] japj: jonaslund: cool, cause I hit a dead end [20:38] jedahan has joined the channel [20:38] japj: jonaslund: add a comment to the issue with your findings ;) [20:38] jedahan: anyone have an alternate registry mirror I can use? [20:38] jedahan: for npm, that is [20:38] bbigras__: Thanks for fixing npm so fast. [20:39] random123: I'm trying to install "minifyjs" from the NPM, I get this: http://pastebin.com/24zzBmKX ? [20:40] isaacs: random123: package.json error. bin should be a file, not a module id. [20:40] isaacs: random123: please bug the pacakge author [20:40] random123: ok ty [20:41] rhdoenges has joined the channel [20:42] boaz has joined the channel [20:42] aliem has joined the channel [20:43] eee_c has joined the channel [20:45] sridatta has joined the channel [20:45] random123: isaacs: Just fyi I'm on Arch Linux and I see a � and ��� characters in the man pages and when I install things in the npm Examples: http://pastebin.com/dhgvdAGR [20:46] jokil has joined the channel [20:47] matyr has joined the channel [20:47] hij1nx has joined the channel [20:47] jokil: is npm down for you guys? I get connection timeouts and errors like "Error: EAFNOSUPPORT, Address family not supported by protocol family" [20:47] isaacs: jokil: that seems really weird. i'm not sure what eafnosupport would mean. [20:47] japj: btw, does github have an issue trend diagram? we're very very VERY slowly creeping towards 300 issues on github [20:48] bnoordhuis: isaacs: address family not supported [20:48] japj: rofl [20:48] bnoordhuis: oh wait [20:48] isaacs: right, but i mean... registry.npmjs.org should resolve to a ipv4 address [20:48] bnoordhuis: hah, i only read the errno name [20:48] isaacs: if your system doesn't support that family, you're in trouble. [20:49] bnoordhuis: isaacs: does npm have an AAA record? [20:49] isaacs: i think the moral of todays npm story is: isaacs should not tweak new features during the middle of the day in California. [20:49] isaacs: all npm registry work must happen in the middle of the night. [20:49] japj: jokil: are you running a ipv6 only machine? [20:49] tuhoojabotti: isaacs: Everyone programs at night. [20:50] AvianFlu: and saves their npm publishing for california noon the next day! [20:50] japj: isaacs: you should have an 'experimental' server [20:50] isaacs: japj: i do [20:50] jonaslund: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRRRRRRRRRRRRRGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHH [20:50] japj: you found it? [20:50] japj: or was that just frustration ;) [20:50] jonaslund: japj: i found it.. i was just veryfing it and found a 100 line magic #define [20:51] galaxywatcher has joined the channel [20:51] japj: isaacs: why not experiment on the EXPERIMENTAL server? [20:51] jonaslund: deps\uv\src\uv-win.c line 2052 and forward [20:51] jonaslund: not pretty :) [20:51] jonaslund: ACTION had trouble finding the function definitions [20:52] jonaslund: Not that i haven't done similiar stuff myself but never 100 lines of code like that.. :D [20:52] jokil: isaacs: also, I got a curious error when trying to install "node-static". It was "Error: ucs {bad_utf8_character_code}: node-static" [20:52] jokil: but then I never again got that [20:52] akiva: Can anyone recommend a useful validation module that they have experience with? [20:52] isaacs: jokil: because i fixed it :) [20:52] akiva: There are a few and looking for some suggestions [20:52] isaacs: jokil: see above re: experimenting on the npm server during the daytime [20:52] admc has joined the channel [20:53] jokil: oh haha. live updates to production. you truly are living on the edge [20:53] jonaslund: damn [20:53] japj: jonaslund: I dont have deps\uv\src\uv-win.c [20:53] jonaslund: i need to make a github account [20:53] mange has joined the channel [20:54] jonaslund: japj: under your node 0.5.1 source tree ? [20:54] isaacs: jokil: yeah. i was playing around with a view that could show an rss daily digest, but i guess it was just too much back and forth for the view server or somethign [20:54] bbigras__: Are you guys aware of the 'npm ERR! error installing npm@1.0.18 Error: EACCES, Permission denied '/usr/loca l/lib/node_modules'' problem when installing npm as non-root? [20:54] japj: jonaslund: I'm looking at the master tree, but I just found it in the 0.5.1 tag [20:54] isaacs: bbigras__: either install as root, or change the permissions, or change the install target. [20:54] eventual| has joined the channel [20:55] bnoordhuis: japj jonaslund: uv-win.c has been split up in several files [20:55] bbigras__: isaacs: thanks! [20:55] japj: bnoordhuis: yeah, I can imagine why ;) [20:55] jonaslund: bnoordhuis: good riddance.. if you're working on something at line 2388 then something is not right :D [20:56] jonaslund: bnoordhuis: i traced the bug i found earlier btw [20:56] bnoordhuis: japj jonaslund: well... uv-unix.c is at ~2,500 lines too now [20:56] japj: jonaslund: where was the bug btw? [20:56] japj: bnoordhuis: also... very nice comment: /* Terrible: please fix me! */ [20:56] bnoordhuis: :) [20:56] jonaslund: bnoordhuis: you work on the windows code ? [20:57] bnoordhuis: jonaslund: no, that's the work of the MS guys and piscisaureus [20:57] japj: jonaslund: no the other dutch guy is ;) [20:57] zeropx has joined the channel [20:57] jonaslund: japj: well the "terrible please fix me" loop is a big part of the bug :) [20:58] nodokodo has joined the channel [20:58] hellp has joined the channel [20:58] softdrink: is anyone familiar with juggernaut? [20:58] zeropx has joined the channel [20:59] uchuff has joined the channel [20:59] wavded has joined the channel [20:59] wavded has left the channel [20:59] icebox: isaacs: Hello... I was wondering if you intend to add the following patch for cygwin env: https://github.com/isaacs/npm/issues/959#issuecomment-1587107 [21:00] japj: jonaslund: ok, that one is still present in https://github.com/joyent/node/blob/master/deps/uv/src/win/core.c#L125 [21:00] jonaslund: yeah i took a peek at master [21:01] jonaslund: creating a github account now so i can comment on the bug [21:01] japj: jonaslund: but if you can isolate this to a libuv issue it might be nice to make a test for it [21:01] towski has joined the channel [21:01] jonaslund: it's both "node" and libuv and i don't really know the reasoning about all of that code [21:01] kriz has joined the channel [21:01] bnoordhuis: japj jonaslund: tests - yes please [21:01] MarkMenard has joined the channel [21:01] japj: jonaslund: if we make a nice test, bnoordhuis will fix the bug ;) [21:02] jonaslund: bnoordhuis: i made a condensed example for the bug-report [21:02] aliemmo has joined the channel [21:02] jonaslund: bnoordhuis: https://github.com/joyent/node/issues/1371 [21:02] bnoordhuis: jonaslund: right, thanks [21:02] jonaslund: I think i figured out what is going on aswell so i'm gonna write a comment on the problem [21:02] Nuck has joined the channel [21:03] jonaslund: not sure "why" because the logic behind all the bindings evade me but i do see the particular issue [21:04] cccaldas has joined the channel [21:05] altamic_ has joined the channel [21:05] altamic_ has joined the channel [21:06] jonaslund: bnoordhuis: I added a comment on the workings of the bug [21:06] jonaslund: bnoordhuis: you could take a peek if it applies to non-windows code [21:07] chrislorenz has joined the channel [21:08] jonaslund: ev wrapper so i guess it's ok [21:08] jerrysv has joined the channel [21:08] __directory has joined the channel [21:09] jonaslund: japj: the "argh" code btw is in https://github.com/joyent/node/blob/master/deps/uv/src/win/loop-watcher.c [21:09] jonaslund: most of that file is one big define :) [21:09] japj: jonaslund: yeah ;) [21:10] jbpros has joined the channel [21:11] Corren: I've hit a wall [21:11] japj: why would you do that? [21:11] japj: it hurts [21:12] japj: jonaslund: I couldn't find NeedNextTickCallback should that be NeedTickCallback? [21:12] dreamdust has joined the channel [21:13] jonaslund: Yeah NeedTickCallback [21:13] kofno has left the channel [21:14] mnaser: is there something in node.js similar to python for this: "%d: printf like %s" % digit, string [21:14] context: japj: no duplication, easier on compiler [21:14] jonaslund: japj: I got confused since it's called from processNextTick inside node.js [21:14] context: faster. [21:14] bbigras__: Damn avg anti-virus thinks that http://registry.npmjs.org/mysql/-/mysql-0.9.1.tgz is a virus. [21:15] rhdoenges: lol antivirus [21:15] tuhoojabotti: lol [21:15] tuhoojabotti: virus [21:15] jonaslund: context: you're talking about the big defines ? [21:16] japj: context: ah the loop-watcher macro? [21:16] wadey has joined the channel [21:17] japj: context: I doubt it's easier on the compiler, since the preprocessor will handle that. it's more of an easier to maintain piece of repeatable needed code in a macro that way [21:17] jonaslund: assuming the structs are identical, what should be done is to make the big chunks of code into a normal function and just define a couple of small wrapper functions [21:18] jonaslund: however if the structs differ then the defines are "necessary" [21:18] matyr_ has joined the channel [21:18] japj: jonaslund: the structs are different [21:18] jonaslund: I made similar code for some automatic code generation for a small experimental JIT i made [21:18] japj: jonaslund: LOOP->next_##name##_handle = LOOP->name##_handles; [21:18] jonaslund: however by the time i finished that i wondered why i didn't write a code generator :D [21:19] japj: hehe [21:20] jonaslund: japj: named differently yes, contentwise they actually have the same stuff [21:21] jonaslund: https://github.com/joyent/node/blob/master/deps/uv/include/uv-win.h line 124 and forwards [21:21] Fandekasp has joined the channel [21:21] jelveh has joined the channel [21:22] japj: anyway, I'm off for tonight.. goodnight [21:22] matyr has joined the channel [21:23] context: japj: 'faster' in that we arent 'reusing code' causing more context switches. [21:23] edude03 has joined the channel [21:24] Bwen has joined the channel [21:24] mikeal has joined the channel [21:25] kersny has joined the channel [21:25] boaz has joined the channel [21:29] Tobbe has joined the channel [21:31] Tobbe: I'm trying to create my first npm module, a google reader oauth lib. I think I'm done with the package.json file. Is there any way to ask npm to parse it to make sure it's sane? [21:31] isaacs: Tobbe: npm ls will yell at you if it's not :) [21:31] isaacs: Tobbe: you could also run through `npm init` which is a pretty ok sanity check. [21:31] __directory: npm just shook me down for lunch money (and stole my cigarettes) [21:32] isaacs: __directory: that's because cigarettes areno good for you [21:32] rhdoenges: npm loves you [21:32] rhdoenges: npm just wants the best for you [21:32] mnaser: giving my question another shot -- is there something in node.js similar to python for this: "%d: printf like %s" % digit, string [21:32] jesusabdullah: npm hasn't taken MY cigarettes yet [21:32] __directory: oh great, now npm is hitting on my wife... [21:32] jesusabdullah: though it's been nagging me [21:33] jesusabdullah: "c'mon duude" [21:33] jesusabdullah: "cancer sticks, maan" [21:33] jesusabdullah: "and why are you writing malformed json fo'srs" [21:33] isaacs: mnaser: console.log("%s: printf like %s", digit, string) [21:33] isaacs: mnaser: there's also a `sprintf` module in npm which is more fancy-pants [21:33] Tobbe: isaacs: I ran "npm init" to get most of what I have in my package.json now. But "npm ls" says, among other things, "npm WARN Invalid range in engines.node. Please see `npm help json` ~v0.4.9" That is one of the things npm init generated for me. [21:33] jerrysv: Tobbe: remove the v [21:34] mnaser: well that was a lot simpler than i thought it would be, thank you isaacs, ill also check out the npm sprintf module [21:34] isaacs: Tobbe: hm... that should be allowed. what version of npm? [21:34] Tobbe: 1.0.15 [21:35] isaacs: hm. maybe that didnt' get in until 16 or 17 [21:35] othiym23 has joined the channel [21:35] isaacs: oh, nope, apparently it's not fixed, i just thought about fixing it [21:35] isaacs: hehe [21:36] Tobbe: silly init to generate unsuported version strings :p [21:36] isaacs: heh [21:37] jerrysv: isaacs: didn't think so, i didn't get notification :) [21:37] dgathright has joined the channel [21:37] benmonty has joined the channel [21:37] Tobbe: so, my new lib is dependant on other libs. I've added them to my package.json file. Should I also install them in my module directory? [21:37] jtsnow has joined the channel [21:38] isaacs: Tobbe: ok, next version of npm will handle that properly [21:38] Tobbe: nice [21:39] jtsnow has joined the channel [21:39] isaacs: Tobbe: yes. npm will not publish them with your module unless they're on the "bundleDependency" list. [21:39] isaacs: Tobbe: `npm install` (no args) will install them for you. [21:39] isaacs: `npm install --save blah` will install 'blah' and also create a dependency entry for it [21:39] __directory: oh that's nice [21:40] Tobbe: and I should probably add node_modules to my .gitignore then, shouldn't I? [21:40] isaacs: Tobbe: if you want [21:40] AvianFlu has joined the channel [21:40] isaacs: Tobbe: npm will treat it specially no matter what [21:42] Tobbe: what is npm trying to print in front of the dependencies of a package when doing "npm ls"? [21:43] isaacs: Tobbe: lines. [21:43] isaacs: Tobbe: post an issue if it's not working. it'd be good to have a flag to fall back to the old-style +-- and `-- or something [21:43] isaacs: Tobbe: or use iTerm2 with CentSchBook Mono, and enjoy unicode loveliness :) [21:43] tantek has joined the channel [21:44] Tobbe: isaacs: I'm using putty to ssh in to a virtual machine running debian. I have no idea where in that chain it breaks :p [21:45] rhdoenges: it's putty probably [21:45] cha0s has joined the channel [21:45] cha0s has joined the channel [21:45] cryptix has joined the channel [21:46] rhdoenges: check in the options for anything about charsets or "line-drawing characters" [21:46] Tobbe: rhdoenges: you were right :) [21:46] rhdoenges: Tobbe: fixed? [21:47] guidocalvano: hey people [21:47] Tobbe: yes. Changed "Translation -> recieved data" from latin1 to utf-8 [21:47] Tobbe: now I get fancy lines :) [21:47] guidocalvano: anyone know how I can get npm to reinstall my dylib, but not all my other files? [21:48] mnaser: http://pastie.org/2245199 -- what's the proper control flow to make the function return results.pools ? i'm still a beginner and i can't find much on the net [21:48] aliemmo has joined the channel [21:48] cryptix has joined the channel [21:49] CrisO has joined the channel [21:49] rick_ has joined the channel [21:50] robhawkes has joined the channel [21:52] xeodox has joined the channel [21:52] mnaser: wow i guess it was a shocking question [21:52] mnaser: h [21:52] vikstrous has joined the channel [21:52] mnaser: lol [21:54] techwraith has joined the channel [21:54] guidocalvano: (: [21:54] noderfs has joined the channel [21:54] techwraith: tjholowaychuk: Having some issues installing kue, I'm getting Error: ENOENT, No such file or directory '/Users/derickson/node_modules/kue/node_modules/cluster/package.json' [21:55] Tobbe: isaacs: got "npm ERR! Failed saving /usr/etc/npmrc Error: ENOENT, No such file or directory '/usr/etc/npmrc'" when trying to add a user. Should that file be created when npm is installed? Or should I really have to go and touch it myself? [21:55] TheJH: mnaser, you'll have to make exports.list async, too [21:55] tjholowaychuk: techwraith: hm.. that's strange [21:56] tjholowaychuk: maybe npm messed up a publish [21:56] matyr has joined the channel [21:56] tjholowaychuk: try rm -fr node_modules [21:56] tjholowaychuk: and install again [21:56] isaacs: Tobbe: why is it trying to save configs globally? have you done `npm config set global true` or something? [21:56] Tobbe: nope [21:56] Tobbe: so no idea [21:56] TheJH: mnaser, "exports.list = function(cb){" as first line and "cb(results.pools)" instead of the return [21:56] malkomalko: say you have a file you are requiring, and in that file you are opening up some connection, something async when it gets required... is there a way to ensure when requiring the file to wait for that async operation to be finished? [21:56] mnaser: TheJH: makes 100% sense! [21:56] isaacs: Tobbe: gist `npm config ls`, please [21:56] mnaser: thank you! [21:57] TheJH: mnaser, no problem [21:57] noderfs: any thoughts anyone? [21:57] techwraith: no dice, any other ideas tj? [21:58] zackattack has joined the channel [21:58] gde33 has joined the channel [21:58] Tobbe: isaacs: https://gist.github.com/5df34fa8c0a9ac1811ea [21:58] Tobbe: did that work? never created a gist before... [21:58] tjholowaychuk: techwraith not sure, either npm is messed up, or the publish is/was messed up [21:59] Nuck: Oooh yay smart people are on [21:59] Nuck: Any of you smart folks suggest me a bug tracker for a corporate project? [21:59] isaacs: Tobbe: oh, right, nvm, that's a bug, it's fixed in HEAD, but you have 1.0.15. yeah, `mkdir /usr/etc` and it should work [21:59] techwraith: Alright, I'll keep looking into it, could have something to do with me using nvm [21:59] techwraith: I don't really have a need for it [21:59] techwraith: I guess I'll just clean all that out and install node fresh [21:59] Nuck: I'm using a self-hosted git repo running goitosis or gitolite, I can't recall which [22:00] Nuck: And I plan to set up gitorious (sexy UI = win) [22:00] Nuck: But I still lack a bug tracker [22:00] xeodox has joined the channel [22:00] Nuck: And I really don't wanna resort to something like Mantis, because it makes me vomit. [22:00] mnaser: TheJH: got it to work, had to make the other call async now, starting to make sense [22:00] dguttman has joined the channel [22:01] mnaser: Nuck: why not use github? [22:01] jesusabdullah: isaacs: Is npm having promblems right now? [22:02] isaacs: jesusabdullah: should be working now [22:02] isaacs: jesusabdullah: it was this morning a little [22:02] jesusabdullah: Okay, I was getting some weird bugs trying to install something [22:02] jesusabdullah: wait, I got those locally too when I tried to npm link [22:02] jesusabdullah: very strange [22:02] Tobbe: isaacs: ouch http://paste2.org/p/1531685 [22:03] Nuck: mnaser: It's corporate code. [22:03] Nuck: I wouldn't entrust my secret sauce to somebody else [22:03] Nuck: I LOVE their bug tracker [22:03] Transformer has joined the channel [22:03] Nuck: But I would not feel safe hosting my code with them [22:04] mnaser: i see [22:04] mnaser: hosted version? [22:04] Nuck: Plus I'm really, really cheap. [22:04] mnaser: they have an appliance [22:04] konobi: it's expensive [22:04] Nuck: mnaser: My budget is $0 of Open Source. [22:04] techwraith: Nuck: Wow, you're the first person I've hear express that concern. It's been great so far :) [22:04] dpritchett_ has joined the channel [22:04] Bonuspunk has joined the channel [22:05] thdbased has joined the channel [22:05] techwraith: Nuck: makes sense if you don't want to pay $12/month though I guess [22:05] te-brian2 has joined the channel [22:05] Nuck: techwraith: I also don't wanna pay all the money to get a pro github though [22:05] voodootikigod_ has joined the channel [22:05] Nuck: I don't have that kinda money [22:05] mnaser: yet it's "corporate secret sauce"? [22:05] Nuck: My account would be empty pretty fast [22:05] Nuck: mnaser: Startup [22:05] Nican__ has joined the channel [22:05] Xeon06__ has joined the channel [22:05] mnaser: we've been in business for 6 years, operate an entire cloud hosting platform and all the code is placed on github private company account where devs commit [22:05] cha0s has joined the channel [22:05] cognominal has joined the channel [22:06] tsenga has joined the channel [22:06] jomoho2 has joined the channel [22:06] mnaser: granted we have our backups, but it's not a lot, and they're probably a lot more reliable to store your code than you [22:06] jesusabdullah: isaacs: https://gist.github.com/1096041 Any ideas? [22:06] mnaser: (and it's not like we're lacking the internal infrastructure for it either, private datacenter space, own network, etc) [22:06] Nuck: mnaser: I just don't feel safe entrusting it to somebody else :P [22:06] kawaz_ has joined the channel [22:06] Nuck: (plus we can do cool auto-public stuff) [22:06] dshaw_ has joined the channel [22:06] mnaser: it's up to you [22:06] dilvie has joined the channel [22:06] brainproxy: hmm, just tried to install v0.4.10 with npm; node d/l and compile works fine, but when it gets to npm install it's throwing: [22:07] brainproxy: gzip: stdin: unexpected end of file [22:07] brainproxy: tar: This does not look like a tar archive [22:07] Nuck: Like, we can keep a stable branch which will be used to power our site [22:07] Nuck: And when you push, it rolls out [22:07] spcshpopr8r has joined the channel [22:07] sstephenson_ has joined the channel [22:07] jesusabdullah: isaacs: Same issue with latest npm [22:07] tobmastr has joined the channel [22:07] davidbanham has joined the channel [22:08] fly-away has joined the channel [22:08] techwraith: Nuck: Github does that too ;) [22:08] brainproxy: oh noze, it's an npm emergency! [22:08] markeeto has joined the channel [22:08] jonaslund_ has joined the channel [22:08] Nuck: techwraith: I can roll out new code through github? [22:08] Nuck: Wow [22:08] cesutherland_ has joined the channel [22:08] samyak__ has joined the channel [22:08] CrisO1 has joined the channel [22:08] igl1 has joined the channel [22:08] Wa has joined the channel [22:08] techwraith: http://help.github.com/post-receive-hooks/ [22:09] Nuck: Either way, I'm too cheap for that :P [22:09] markdaws_ has joined the channel [22:09] [[zzz]] has joined the channel [22:09] unmatrix has joined the channel [22:09] damienbrz has joined the channel [22:09] zivester_ has joined the channel [22:09] chrischr1s has joined the channel [22:09] vinc_ has joined the channel [22:10] terite_ has joined the channel [22:10] metadaddy_ has joined the channel [22:10] elijah has joined the channel [22:10] Nuck: Eventually I want to build a bug tracker on node [22:10] ocs has joined the channel [22:10] jameshome_ has joined the channel [22:10] felixge has joined the channel [22:10] felixge has joined the channel [22:10] brainproxy: Nuck: heard of anyone trying to port redmine to something node based? [22:11] brainproxy: that seems like it would be a bear of a project [22:11] felixge: isaacs: Error: ucs {bad_utf8_character_code}: airbrake/0.1.0 <--- getting this from npm [22:11] felixge: is that some couch stuff? [22:11] Nuck: that it does [22:11] skm has joined the channel [22:11] spcshpopr8r: npn down? [22:11] Nuck: but no, I would be building a bug tracker from scratch. [22:11] spcshpopr8r: s/npn/npm [22:11] azend_ has joined the channel [22:11] Hosh__ has joined the channel [22:11] brainproxy: spcshpopr8r: something seems wrong, yes [22:12] julienXX__ has joined the channel [22:12] spcshpopr8r: brainproxy: thanks [22:12] felixge: isaacs: looks like a npm restart helped a year ago: https://groups.google.com/d/msg/nodejs/W15p0cDdTQg/j09XVHXse_IJ :) [22:12] Nomon_ has joined the channel [22:12] felixge: * couch restart [22:12] niftylettuce__ has joined the channel [22:12] brainproxy: maybe the radioactive hexagons that power isaacs servers have run out of juice [22:12] matyr_ has joined the channel [22:12] teax64_ has joined the channel [22:12] eirikurn_ has joined the channel [22:13] spcshpopr8r: seems a couple months ago something similar ended up relative to a bad package that was uploaded [22:13] Vertice_ has joined the channel [22:13] Vertice_ has joined the channel [22:13] spcshpopr8r: s/months/weeks [22:13] Nuck: Radioactive hexagons? [22:13] spcshpopr8r: ACTION losing track of time [22:13] skm has joined the channel [22:13] Astro: epic npm outage due to unicode brokeness? [22:13] themiddleman has joined the channel [22:13] malkomalko has joined the channel [22:13] deoxxa has joined the channel [22:13] kriz has left the channel [22:13] taf2 has joined the channel [22:13] figital has joined the channel [22:14] ncb000gt has joined the channel [22:14] Nuck: the fuck [22:14] mikeycgto has joined the channel [22:14] brainproxy: netsplit [22:14] brainproxy: freenode network blip [22:14] felixge: npm outage, yeah :( [22:14] Nuck: usually that shows *.net *.split though :P [22:14] jhurliman: npm broken :-\ [22:14] sirdancealot has joined the channel [22:15] colinclark has joined the channel [22:15] yhager has joined the channel [22:15] malkomalko: yah, npm aint working for me either [22:15] riven has joined the channel [22:15] riven has joined the channel [22:15] Slashbunny has joined the channel [22:15] slajax has joined the channel [22:15] felixge: bah [22:16] felixge: I was just about to deploy something [22:16] pgte has joined the channel [22:16] TheEmpath has joined the channel [22:16] yhager: Is this the place to discuss https://github.com/ry/http-parser ? [22:17] aron_ has joined the channel [22:17] jhurliman: today is a holiday for everyone developing with node.js :-) [22:18] bnoordhuis: yhager: give it a shot [22:18] yhager: It's about the latest callbacks removal, https://github.com/ry/http-parser/pull/54\ [22:18] gazumps has joined the channel [22:18] bnoordhuis: yhager: go on [22:19] teax64_ has left the channel [22:19] mkrecny has joined the channel [22:19] yhager: I am using this in C, and I do need the separation of url and query string. I understand the need for the change, but it would be nice if simple url parsing was provided as part of the library [22:19] felixge: looks like npm is working aagin [22:19] felixge: crazy couch stuff [22:19] felixge: :) [22:20] brownies has joined the channel [22:20] yhager: bnoordhuis: so it would be a feature request, or an upvote for clifffrey's suggestion here https://github.com/ry/http-parser/pull/54#issuecomment-1591625 [22:20] brownies has left the channel [22:21] mikl has joined the channel [22:21] mikl has joined the channel [22:21] bnoordhuis: yhager: not unreasonable [22:21] yhager: :) [22:22] bnoordhuis: yhager: you get an upvote from me but it's mostly pgriess who maintains http-parser now [22:22] yhager: bnoordhuis: so what's the best way to send him this message? [22:22] bnoordhuis: yhager: open a feature request [22:22] yhager: bnoordhuis: ok, thx [22:22] bnoordhuis: yhager: pgriess has a point in that you're probably better off using a third-party lib [22:23] te-brian has joined the channel [22:23] sfoster has joined the channel [22:23] yhager: bnoordhuis: yeah, he's probably right, but it's a bit odd to use two libraries for simple HTTP parsing.. it was nice if one library did it all, like it was 4 hours ago ;) [22:24] TheEmpath: gah [22:24] TheEmpath: npm install socket.io failed: npm ERR! Error: ENOENT, No such file or directory [22:25] TheEmpath: oh noes! [22:25] bnoordhuis: yhager: agreed [22:25] yhager: does github have a "feature request", or just issues? [22:25] rhdoenges: open an issue but just put FEATURE REQUEST in the title of the issue [22:26] rhdoenges: gh issues are kinda clinky [22:26] rhdoenges: *clunky [22:26] brianseeders has joined the channel [22:26] addisonj: ugh, reading the ars review of lion, so apologetic towards the dumbification of OSX [22:27] sjbreen has joined the channel [22:28] kriszyp has joined the channel [22:29] mange has joined the channel [22:30] Tobbe: isaacs: I ran "curl http://npmjs.org/install.sh | sh" again, so now I'm at 1.0.18 and adduser ran without errors this time :) [22:30] isaacs: sweet [22:30] isaacs: i guess it was fixed in the last release, not just HEAD [22:31] vipaca has joined the channel [22:32] jhurliman: suggestions for an ec2 node library? basic start/stop server tasks [22:32] rudids has joined the channel [22:32] rudids: hi all [22:33] jbpros has joined the channel [22:34] techwraith: tjholowaychuk: reinstalled node and npm and it works now. Damn nvm messing shit up [22:34] rudids: any1 else having issues with npm tonight? Both performance and availability? [22:35] isaacs: rudids: yes. [22:35] tjholowaychuk: techwraith weiird [22:35] AvianFlu has joined the channel [22:35] rudids: isaacs: cool, just checking it's not just me. My mac has had issues in the past. [22:36] Aria has joined the channel [22:36] Sorella has joined the channel [22:36] mkrecny: AvianFlu: thoughts on github.com/mkrecny/http-dynamic based off of ur http-server [22:37] dandean has joined the channel [22:38] Tobbe: isaacs: these are the errors I didn't get http://paste2.org/p/1531685 [22:38] AvianFlu: It looks pretty cool, although I'm in no rush to run PHP or Ruby :-P [22:38] Tobbe: (posted that link earlier, but not sure if you saw that) [22:39] sonnym has joined the channel [22:40] catb0t has joined the channel [22:41] boaz has joined the channel [22:41] boaz has joined the channel [22:42] mkrecny: AvianFlu: heh me neither [22:42] mnaser: is there any "style reference" for node.js -- with all the callbacks, code is starting to look a bit messy.. [22:44] jroesslein has joined the channel [22:45] Xeon06 has joined the channel [22:45] Xeon06: Can anyone explain the rationale behind using single quotes in everything node related? [22:46] tjholowaychuk: easier to look at [22:46] joshontheweb: would node be an appropriate tool to proxy a video stream from one source to multiple clients? [22:46] tjholowaychuk: it's irrelevant otherwise [22:46] Xeon06: tjholowaychuk: Thanks [22:46] jetienne_ has joined the channel [22:46] jerrysv: '"' looks better than "\"" [22:47] corytheboyd has joined the channel [22:47] slpsys_ has joined the channel [22:47] yokoaway_ has joined the channel [22:47] joshontheweb: Xeon06 I think its also useful to use single quotes since you can put double quotes inside without escaping [22:47] Xeon06: joshontheweb: True that [22:47] joshontheweb: commonly done on client side with html strings and probably just bled over [22:48] taf2_ has joined the channel [22:48] zivester has joined the channel [22:48] morgabra_ has joined the channel [22:49] kersny has joined the channel [22:49] CIA-107: libuv: 03Ben Noordhuis 07master * r332bbec 10/ src/uv-unix.c : uv-unix: defer uv_pipe_connect callback to next tick - https://github.com/joyent/libuv/commit/332bbecd19725ca4aeb66a9ab0efc4b1d9863d70 [22:49] hybsch1 has joined the channel [22:50] davidcoa1lier has joined the channel [22:50] Bwen1 has joined the channel [22:50] mcluskydodallas has joined the channel [22:50] kersny has left the channel [22:50] kersny has joined the channel [22:51] jesusabdullah: ' is easier to type for me XD [22:52] CIA-107: node: 03Ben Noordhuis 07master * r1b0e054 10/ (lib/url.js test/simple/test-url.js): [22:52] CIA-107: node: url: throw descriptive error if url argument to parse() is not a string [22:52] CIA-107: node: Fixes #568. - https://github.com/joyent/node/commit/1b0e054737b207977981e0fc818b013ba8bb0caa [22:52] bnoordhuis: oh, he's on a roll! [22:54] phiggins_ has joined the channel [22:55] jimmy has joined the channel [22:55] hybsch1 has left the channel [22:56] jimmy: Does V8 crash on nginx and affect Node.Js. .. the creator of nginx has said v8 doesnt handle errors well on a server. [22:56] sfoster has joined the channel [22:56] addisonj: hrm? struggling to parse that [22:56] Aria has joined the channel [22:57] tcurdt has joined the channel [22:57] dreamdust: @jimmy: V8 is bundled with node.js and doesn't have any relationship with nginx. [22:59] Sorella has joined the channel [22:59] Poetro has joined the channel [23:00] jerrysv has joined the channel [23:00] figital has joined the channel [23:01] Guest31401 has joined the channel [23:01] Cleer has joined the channel [23:02] themiddleman has joined the channel [23:03] tcurdt: I have a file and I would like to read is synchronously ... I know - readFileSync ... but then I just have a Buffer ... and I would like to go through the Buffer with functions like skip() and readByte() ... is there something like that already somewhere? [23:04] deoxxa has joined the channel [23:07] zackattack has joined the channel [23:07] bnoordhuis: tcurdt: you can pass an encoding to readFileSync [23:07] SubStack: tcurdt: why do you want to read it synchronously? [23:07] tcurdt: bnoordhuis: I am confused ... how is that related? [23:07] [[zz]] has joined the channel [23:07] Xeon06: Any way to ask to press a key before closing terminal window? [23:07] SubStack: in any case: http://github.com/substack/node-binary [23:07] bnoordhuis: tcurdt: yeah, maybe i'm misunderstanding you [23:08] bnoordhuis: what exactly do you want to do? [23:08] Corren: jimmy: that article is quite old by now (09/06/2010) [23:08] rhdoenges: tcurdt: is buffer.binarySlice() what you're looking for? you don't skip() around a Buffer [23:08] Corren: I'm not sure it still has relevancy [23:08] tcurdt: SubStack: it's reading a file on startup ... once ... no need to do that async ... makes going through the file easier [23:08] rhdoenges: actually, just regular .slice works [23:09] cjm has joined the channel [23:09] rhdoenges: the only files you should read synchronously are files you cannot continue without for the remainder of the program -- configs, ~/.*rc, etc [23:10] tcurdt: rhdoenges: think ByteArrayInputStream in java [23:10] pelechati has joined the channel [23:11] rhdoenges: anything you can do with that you can do with fewer calls to buffer.slice [23:11] tcurdt: SubStack: uh ... that looks interesting [23:11] pelechati: First time here. What up everyone? [23:11] raymorgan has joined the channel [23:11] rhdoenges: slice will skip and read all together [23:11] raymorgan has left the channel [23:11] mehtryx has joined the channel [23:12] rhdoenges: pelechati: hi! [23:12] tcurdt: bnoordhuis: yeah .. maybe I should start from the beginning I want to load a PNG file ... decode the format and get access to the pixels [23:12] rhdoenges: tcurdt: are you writing a png library? [23:13] tcurdt: rhdoenges: at least for reading [23:13] rhdoenges: okay [23:13] tjholowaychuk: why not use something that exists? [23:13] tjholowaychuk: or just for fun? [23:13] tcurdt: tjholowaychuk: pointers? [23:13] bnoordhuis: tcurdt: a buffer is byte-indexable [23:13] tjholowaychuk: node-png should do the trick i think [23:13] tcurdt: it's fun too, though ;) [23:13] bnoordhuis: tcurdt: simply say -> c = buf[1024] [23:13] tjholowaychuk: if not node-canvas PixelArray [23:15] hassox has joined the channel [23:15] spcshpopr8r: hello all...I'm trying to get https://github.com/henryoswald/nowpad working on my box (would like to build an app around it), having trouble with running either of the examples: the basic one gives me http://pastie.org/2245614 ... [23:15] rhdoenges: tcurdt: and if you want, say, 8 bytes starting at byte 16 of the PNG, you would do bytes = buf.slice(16, 24) [23:15] briznad has joined the channel [23:15] dgathright has joined the channel [23:16] spcshpopr8r: ... and the ace demo starts up fine but doesn't appear to sync/update the documents, I get this message in the console: http://pastie.org/2245624 ...advice please? [23:16] kriz has joined the channel [23:16] pjacobs has joined the channel [23:17] tcurdt: tjholowaychuk: got a pointer to node-png? Google cannot seem to find it [23:17] tjholowaychuk: tcurdt node's module page [23:17] _sorensen_: https://github.com/pkrumins/node-png [23:17] _sorensen_: that? [23:18] tjholowaychuk: yup [23:18] igl1: tcurdt: always check here https://github.com/joyent/node/wiki/modules [23:18] _sorensen_: does anyone else just tab search github? [23:18] uchuff has joined the channel [23:19] tjholowaychuk: yeah i do [23:19] rhdoenges: it's pretty handy [23:19] _sorensen_: makes clearing out your history a pain thoug [23:19] _sorensen_: lol [23:19] tcurdt: igl1: feeling a little stupid ... I just found that for the first time [23:20] igl: :) [23:20] benw_ has joined the channel [23:20] _sorensen_: its a good'n [23:20] tjholowaychuk: makes me rage that "local" without a port is a search though [23:20] tjholowaychuk: chrome never seems to whitelist it for me properly [23:21] _sorensen_: yeah i've raged a few times on that [23:21] mikey_p: after hitting it once, chrome seems to remember for me [23:21] mikey_p: even my random foo.crap.dev domains [23:21] tjholowaychuk: i should start using hostnames anyway i keep getting caught with cached js n shit thinking my app is broken [23:21] tjholowaychuk: but it's just js from a different app [23:22] igl: id wish the search.npmjs would get a proper search [23:22] jasong_at_apache has joined the channel [23:23] GMP has joined the channel [23:23] Nuck: Mantis or Redmine? [23:23] bnoordhuis: rt! [23:23] Nuck: bnoordhuiswhat? [23:24] Cleer has joined the channel [23:25] bnoordhuis: Nuck: http://bestpractical.com/rt/ [23:26] Lorentz: I personally have redmine installed on my priv server [23:26] Lorentz: trac at work, although they're moving to jist [23:27] davidbanham has joined the channel [23:27] Lorentz: Otherwise, github's issue tracker [23:27] mikey_p: redmine++ [23:27] Nuck: I'm just trying to find a good issue tracker I can self-ost for now [23:27] Nuck: I fully intend to build a lightweight one on Node eventually [23:27] nodokodo has joined the channel [23:27] ceej has joined the channel [23:28] mikey_p: Nuck: try redmine on heroku? [23:28] Nuck: I'm looking at redmine on local [23:28] mikey_p: and don't actually use redmine, use chilliproject [23:28] _sorensen_: i just want a node app to sync my local and remote directories together [23:28] mikey_p: Nuck: https://www.chiliproject.org/ [23:28] dilvie has joined the channel [23:29] chapel: what is there to use in nodeland to take a screenshot of a webpage and save as an image? [23:29] bnoordhuis: chapel: the user [23:30] Nuck: Browserling? [23:30] chapel: snark need not apply, I know someone has done it already [23:31] Nuck: chapel: No, it's not exactly possible [23:31] Nuck: Not without a virtualized broser [23:31] Nuck: HEnce browserlin [23:31] Nuck: +g [23:32] jesusabdullah: Yeah, you're probably either going to have to build up a bunch of crap yourself to do it---ie, open a web page, make sure it's full screened, and run a screenshot app [23:32] jesusabdullah: or, use an api for something like browserling [23:33] jesusabdullah: or, god forbid, saucelabs ;) [23:35] rudids: any suggestions on best way to handle google authentication using openid or oauth any1? [23:36] Nuck: rudids: *ne1 [23:36] Nuck: You need to abbrev more [23:36] guest_642 has joined the channel [23:36] mnaser: this is really silly but, is there a php equiv to this? list($var1, $var2) = split("\t", $somearray) [23:36] rudids: Nuck: :) [23:37] systemfault: mnaser: No [23:37] Nuck: mnaser: You mean a Node equicalent to that php? [23:37] mnaser: i have tab delimited key/value data, so i'd much rather have key, value = key.split("\t") [23:37] TheJH: mnaser, in coffeescript (language that compiles to javascript), there is [23:37] mnaser: ah ok ok, so i'll just do a split, 0 is the key, 1 is the value [23:37] tcurdt: SubStack: how would you skip n bytes with https://github.com/substack/node-binary ? buffer(...) ? [23:37] mnaser: thanks again systemfault / TheJH! [23:38] Nuck: mnaser: Loops 4 life [23:38] mnaser: lol no need for a loop here, i have two items only [23:38] Nuck: oh well that's easy as hell [23:38] mnaser: thanks for the async suggestion btw, writes awesome control flow! [23:38] mnaser: using async.forEach and so on [23:39] Nuck: mikey_p: What's the difference between ChiliProject and Redmine? [23:39] Nuck: Personally, I think Redmine looks better :/ [23:39] secoif has joined the channel [23:39] mikey_p: Nuck: chiliproject is just a community fork, thats better maintained [23:39] mikey_p: Nuck: they look 100% identical once their installed [23:40] rook2pawn has joined the channel [23:40] Nuck: mikey_p: And can it handle redmine themes? [23:40] rook2pawn has joined the channel [23:40] CrisO1 has left the channel [23:40] dilvie has joined the channel [23:41] mikey_p: i'm not 100% on that , but generally it should [23:41] mikey_p: they didn't fork that long ago [23:41] benw_: tjholowaychuk: Thanks for your feedback on https://github.com/joyent/node/wiki/Async-Exception-Handling - Could you clarify what you mean when you say Connect already defers to a unified handler? I don't think it handles the case I'm describing, but I could be wrong. [23:41] mikey_p: most plugins still work across both [23:42] Nuck: OMG [23:42] Nuck: ACTION drools over the gantt [23:43] jesusabdullah: gantt >_< [23:44] Nuck: ACTION goes to relearn the basics of rails :P [23:44] Nuck: I haven't used Rails except once. [23:45] __directory: what is a rails? [23:45] Nuck: And that was to start a nice Mongo-Web-Admin server [23:45] Nuck: (which, BTW, needs porting to Node) [23:46] Nuck: (Seriously, it's the best Admin UI for Mongo ever. I love the extended-console style) [23:46] willwhite has joined the channel [23:49] _sorensen_: Nuck: better than rock mongo!?!? [23:49] _sorensen_: :D [23:51] Nuck: _sorensen_: linky and I'll judge ;) [23:51] _sorensen_: http://code.google.com/p/rock-php/wiki/rock_mongo [23:53] mikeal1 has joined the channel [23:54] rchavik has joined the channel [23:54] rchavik has joined the channel [23:54] xerox: do you recommend using 0.4.10 or .11 from github [23:55] _sorensen_: for what [23:55] telemachus: Is anyone running v0.4.10 on Lion? It builds fine, but the tests fail. Wondering if I should try another version or is it just Lion. [23:55] xerox: for random developing of things [23:55] xerox: for oneself, mostly [23:56] xerox: telemachus: I'm about to, one of those [23:56] ryah: telemachus: what's failing? [23:56] _sorensen_: im on v0.4.9 now that i realized your talking about node... [23:56] telemachus: ryah: I'll gist - one sec [23:56] guest_292 has joined the channel [23:57] rook2pawn has joined the channel [23:57] guest_583 has joined the channel [23:57] __directory: I've had the Lion setup screen up for 3 hours. Not sure I want to do it yet [23:58] xerox: I'm compiling .11 on lion [23:58] telemachus: __directory: One recommendation - make a bootable USB drive (both for a clean install and for other machines) [23:58] toxico has joined the channel [23:59] telemachus: Most things are going pretty well - Homebrew mostly good, few tweaks, rvm good, perlbrew - utterly no good (can't build Perls) [23:59] guest_601 has joined the channel [23:59] __directory: hmmmm [23:59] telemachus: ryah: test-http-full-response is the failure https://gist.github.com/1096212 [23:59] xeodox has joined the channel