[00:00] telemachus: Perl's config scripts seem to think that libc is complete borken on Lion [00:00] telemachus: ACTION shrugs [00:01] __directory: read about libc issues [00:01] skm has joined the channel [00:01] Nuck: _sorensen_: ooooooh that looks niiiiiiiiice [00:01] ryah: telemachus: thanks [00:01] Nuck: AND it doesn't involve using Ruby! [00:01] guest_127 has joined the channel [00:01] Nuck: ACTION would rather use PHP than Ruby [00:02] telemachus: ryah: Thank *you*, I think :) [00:02] igl: ACTION rubs his eyes [00:02] telemachus: __directory: https://gist.github.com/1096217 (libc barfing all up) [00:02] clifton has joined the channel [00:02] context: nuck: ew. [00:02] context: nuck: you just dont know ruby [00:02] telemachus: or php, maybe [00:02] telemachus: :) [00:02] Nuck: Can't wait for Node to replace Ruby on Rails as the primary modern web shit framework. [00:02] igl: ^^ [00:03] Nuck: I know PHP, I like that I jsut drop the file in and it's done [00:03] context: nuck: considering they are both designed for different things, it will never happen [00:03] context: nuck: stop trolling. pls k thnx bbq [00:03] telemachus: saw an ad today for PHP dev - they specified it was *not* OO style. Couldn't tell if they were bragging or ashamed. [00:03] context: nuck: pretty sure mod_ruby works extremely similar to mod_php in that aspect [00:03] context: nuck: stop comparing php to rails. [00:03] Nuck: I like Node because if there's a dependency, I can figure it out (and NPM is becoming pretty standard) [00:03] context: nuck: it does not help your image. [00:03] xerox: oh haha somebody could have told me that the only difference between the .11 and .10 is the version number, at this moment xD [00:04] Nuck: context: I can't compare PHP and Rails, sure [00:04] Nexxy: how can you even compare a language to a framework ;o [00:04] corytheboyd has left the channel [00:04] Nuck: But I can say I prefer using PHP + Apache as a stack. [00:04] nerdfiles has joined the channel [00:04] context: lot of trolls pop up in here sadly. :( [00:04] telemachus: xerox: Is that true? I thought .10 was stable and .11 not [00:04] xerox: telemachus: it's the other number that means that [00:04] xerox: .4. and .5. [00:04] guest_156 has joined the channel [00:04] __directory: why do people compare node to web frameworks? confusion? [00:04] telemachus: oh, right, thought you meant 4.10 and 4.11 [00:04] telemachus: sorry [00:04] Nexxy: I was referring to rails, actually ;P [00:05] context: well id rather drive a ferrari in italy than a hummer in pakistan. [00:05] Nuck: Node can fill a similar niche to Ruby on Rails. [00:05] igl: "x is better than y" [00:05] igl: will always be around ;) [00:05] __directory: but I prefer y [00:05] context: nuck: stop comparing shit that has nothing to do with eachotjer. [00:05] dreamdust: Yes, please. [00:05] igl: __directory: you know jack shit about X! [00:05] igl: 11 [00:05] Nexxy: sure is srs in here [00:05] context: __directory: nuck is just showing everyone how much he really does not know. [00:05] Nuck: context: How do Node and RoR not fill similar niches? [00:05] Nuck: Seriously? [00:06] Nexxy: context, I'm wondering why that bothers you so much [00:06] context: nuck: node and ror has NOTHING to do with eachother. [00:06] Nuck: The LANGUAGES differ. [00:06] Nexxy: there are a lot of people on the internet that don't know things [00:06] Nexxy: get over it ;3 [00:06] __directory: igl: need leet benchmarks on X [00:06] context: nuck: your comparing a car to a gravel road [00:06] context: NOTHING IN COMMON ! [00:06] context: AT ALL ! [00:06] Nexxy: oi vey [00:06] dreamdust: Yeah, Express fills the same exact purpose that RoR fills, except much faster :) [00:06] Nuck: Ruby on Rails is for what? [00:06] Nexxy: context, mind your blood pressure dear [00:06] skm has joined the channel [00:06] context: nexxy: oh im calm :p [00:06] systemfault: Nuck: You wouldn't look that bad if you'd at least... compare RoR to Express [00:06] mikey_p: the only close comparison is sinatra vs. express [00:07] systemfault: But RoR to node... bad bad bad comparison [00:07] context: nuck: just stop comparing stuff you dont know about. [00:07] Nuck: Sorry, I guess I was thinking sinatra is the express [00:07] context: [00:07] context: good thing that button is there [00:07] Nuck: So I marked those two off my list of correlations. [00:07] Nexxy: compare this: a programmer, and someone who sits on IRC arguing over different tools [00:07] dreamdust: LoL [00:07] Nexxy: go program stuff [00:07] Nexxy: stop bitching [00:08] guest_053 has joined the channel [00:08] Nuck: I just prefer a web application built in Node with whatever framework or lack thereof over a similar web application built using Sinatra or Ruby on Rails. [00:08] forte has joined the channel [00:08] context: nexxy: my ignore list gets big sometimes. i hate watching them waste everyones time :/ [00:08] Nexxy: oh [00:08] Nexxy: my god [00:08] clifton: i dont understand why anyone would prefer apache + php to nginx + (insert any ruby framework here) [00:08] Nexxy: ACTION puts a round into the chamber [00:08] systemfault: clifton: Because that's all they know. [00:08] __directory: Bash on Balls beats 'em all [00:08] systemfault: clifton: And fairly easy to setup.. even on windows. [00:08] Nuck: Can Rails apps actually be put under a server? [00:08] frodenius: Nexxy㇀ to shoot youself? [00:09] Nexxy: frodenius, you got it ;3 [00:09] bwinton` has joined the channel [00:09] context: clifton: cause they are a: 12, or 2: know 1 programming language (php), or c: program 2 hours on sundays and think they know everything [00:09] telemachus: __directory: The name is nice. That's for sure. [00:09] frodenius: i guess nobody would miss you :P [00:09] Nexxy: wow that's harsh [00:09] Nuck: My understanding was that it was similar to Node in that the server was handled by RoR/Sinatra [00:09] rhdoenges: Nexxy: let's play russian roulette! [00:09] frodenius: cruel IRC... [00:09] Nuck: If I can install under nginx, please tell me, I would love to use that [00:10] Nexxy: jah [00:10] devaholic: My understanding is that anyone doing anything on the web not written solely in Node.js is a clueless moron [00:10] devaholic: xD [00:10] context: alrighty. thats my cue to get off irc. [00:10] rhdoenges: yeah! stupid dns servers, written in fortran! yeah! [00:10] devaholic: (stop arguing) [00:10] frodenius: wat [00:10] frodenius: dns in fortran? [00:10] igl: context: OR php and apache have been around longer than you :) [00:11] context: igl: nice ! [00:11] context: please to the intelligent ones: dont let to many of them kill too many of your brain cells. [00:11] Nuck: It just annoys me that my issue tracker and my mongo Admin UI are built on RoR and not Node + Express [00:11] telemachus: Nuck: If you're genuinely interested - http://www.modrails.com/ [00:11] rhdoenges: okay I have a serious question now -- [00:11] igl: i know alot of php folks. nobody throws their codebase out of the window for some young flavor of the month framework [00:11] Nuck: telemachus: I'm gonna hafta take a look, because that could make my life easier :P [00:11] rhdoenges: what is the standard way to build node.js on windows for development? [00:11] devaholic: igl -- [00:11] Nuck: rhdoenges: I just don't. [00:11] devaholic: igl-- [00:11] catb0t: igl now has -1 beer [00:11] Nuck: I use SSH to a Linux box. [00:12] tjholowaychuk: Nuck: more than 5 months old but at the time ruby was pretty comparable to node [00:12] rhdoenges: Nuck: for development of node [00:12] tjholowaychuk: with the little benchmarks i did at least [00:12] systemfault: rhdoenges: Before today... the easiest way was praying. [00:12] rhdoenges: I run linux [00:12] Nexxy: omfg tjholowaychuk [00:12] systemfault: rhdoenges: Then it's easy. [00:12] rhdoenges: I merely wish to see how libuv is coming along. [00:12] tjholowaychuk: Nexxy just being honest haha i hate it too [00:12] Nexxy: I am in need of your personal library support [00:12] igl: devaholic: #fanboy [00:12] tjholowaychuk: Nexxy oh lol what's up [00:12] devaholic: igl: #php [00:12] SubStack: tcurdt: .skip(n) [00:12] igl: devaholic: #whine [00:12] danielrmz has joined the channel [00:12] telemachus: ryah: It looks like 0.4.9 fails the same test. Since both passed on Snow Leopard, I'm guessing this is a Lion thing. [00:12] Nexxy: how I can maek helper functions for your EJS implementation? [00:13] devaholic: igl-- [00:13] catb0t: igl now has -2 beers [00:13] tjholowaychuk: Nexxy the pipe filter things? [00:13] thriple: thriple ++ [00:13] jesusabdullah: igl sounds like a crappy dsl [00:13] jesusabdullah: don't you think? [00:13] forte has joined the channel [00:13] tjholowaychuk: Nexxy: otherwise just a regular local, but a function [00:13] thriple: I can't beer myself? [00:13] jesusabdullah: "Oh man I had to write this thing in igl today" "I'm so sorry" [00:13] tjholowaychuk: Nexxy: I think the filters are ejs.filters.name = function(){} [00:13] Nexxy: llike I want to do stuff like <%-prompt({some: 'stuff', here: 'lol'})%> instead of <%-partial('helpers/_prompt', {some: 'stuff', here: 'lol'})%> [00:13] jesusabdullah: j/k igl [00:13] Nuck: Nuck++ [00:13] frodenius: thriple㇀ no you cannot [00:13] jesusabdullah: ;) [00:13] catb0t: Nuck now has 2 beers [00:13] Nuck: lol [00:13] telemachus: seems fair in a way, thriple [00:13] rhdoenges: thriple: don't put a space after your name [00:13] Nuck: Yes, yes you can ;) [00:13] frodenius: oh [00:14] rhdoenges: I saw someone do it earlier [00:14] frodenius: different bot, different rules [00:14] rhdoenges: rhdoenges++ [00:14] catb0t: rhdoenges now has 2 beers [00:14] rhdoenges: SEE [00:14] rhdoenges: rhdoenges-- [00:14] catb0t: rhdoenges now has 1 beer [00:14] frodenius: ya well [00:14] rhdoenges: there. [00:14] frodenius: bots change in here weekly it seems [00:14] rhdoenges: a bot whose parse rules are rather strict [00:14] Nexxy: tjholowaychuk, you said the filters were slow~!! [00:14] Nuck: v8bot USED to be around [00:14] Nuck: What happened to him? [00:14] Cleer has left the channel [00:14] rhdoenges: v8bot has gone to the great irc channel in the sky [00:14] SubStack: .. [1,2,3].reduce(function (sum,x) { return sum + x }, 0) [00:14] catb0t: 136 [00:14] Nexxy: how do you know it's a him? [00:14] frodenius: catb0t: help\ [00:14] tuhoojabotti: I got around [00:15] tjholowaychuk: Nexxy: app.helpers() or app.dynamicHelpers() [00:15] frodenius: ah .. [00:15] mcluskydodallas has joined the channel [00:15] SubStack: see there is another bot that can do evals so that's nifty [00:15] SubStack: .. require [00:15] catb0t: ReferenceError: require is not defined [00:15] SubStack: drat [00:15] SubStack: .. process [00:15] catb0t: ReferenceError: process is not defined [00:15] rhdoenges: .. require('disappoint') [00:15] catb0t: ReferenceError: require is not defined [00:15] rhdoenges: :/ [00:15] SubStack: .. this [00:15] Nuck: SubStack: Pretty sure it's a modded v8bot [00:15] catb0t: TypeError: Cannot call method 'toString' of undefined [00:15] rhdoenges: it'll do [00:15] guest_845 has joined the channel [00:15] Nuck: Considering v8bot WAS open-source [00:15] frodenius: .. print [00:15] catb0t: [Function] [00:16] SubStack: v8bot evaporated? [00:16] CIA-107: libuv: 03Ben Noordhuis 07master * r66f936b 10/ src/uv-unix.c : [00:16] CIA-107: libuv: uv-unix: call uv__accept() instead of accept() [00:16] CIA-107: libuv: uv__accept() puts the socket in non-blocking close-on-exec mode, [00:16] CIA-107: libuv: accept() by itself does not. [00:16] CIA-107: libuv: Solves the case of the mysteriously hanging HTTP benchmarks. - https://github.com/joyent/libuv/commit/66f936bfd766b349e374c02a3b7ce5d798edab0f [00:16] tmzt: v8bot didn't hvae require either though [00:16] SubStack: maybe v8bot got some VC money and turned closed source [00:16] Nuck: SubStack: v8bot has gone to the great irc channel in the sky :'( [00:16] Nuck: Got rest his metal soul. [00:16] tuhoojabotti: bit coins [00:16] Nexxy: LOL [00:16] Nuck: *Science [00:16] SubStack: I want to write a bot that can do require() [00:16] jerrysv: v8bot++ [00:16] Nexxy: VC funding for IRC [00:16] SubStack: safely [00:16] rhdoenges: he evals in peace now [00:16] Nexxy: that'd be great [00:16] bradleymeck has joined the channel [00:16] SubStack: the IRC market is heating up [00:16] jerrysv: and pouring some on the curb in its honor [00:17] benw_: tjholowaychuk: Got a minute to talk async exception stuff? [00:17] rhdoenges: SubStack: do this and name the module node-condom [00:17] AvianFlu: man, now I really gotta finish the kohai refactor, if v8bot is gone! [00:17] tjholowaychuk: benw_ not right now sorry [00:17] Nuck: SubStack: Take v8bot's sourcecode, and give access to a filtered version of require? [00:17] benw_: tj: No worries [00:17] Nexxy: SubStack, from a deep freeze? [00:17] FesterCluck has joined the channel [00:17] rudids has joined the channel [00:17] Nuck: rhdoenges: lol node-condom? [00:17] jerrysv: require from npm would be nice [00:17] jerrysv: on a bot [00:18] Nuck: jerrysv: Agreed. [00:18] jesusabdullah: IN A WORLD where REQUIRING is a DANGEROUS PREPOSITION [00:18] Nexxy: ONE IRC BOT [00:18] SubStack: *proposition [00:18] jesusabdullah: PROOOOOOPOSIGNGHASJG [00:18] SubStack: prepositions ARE A DIFFERENT thing ENTIRELY [00:18] jesusabdullah: YOUR MOM IS A DIFFERENT THING ENTIRELY [00:18] Nexxy: ACTION propositions jesusabdullah  [00:18] Nexxy: ACTION prepositions jesusabdullah  [00:18] tmzt: catb0t: beers.toJson() [00:18] jesusabdullah: ALSO I TOTALLY PROPOSITIONED YOUR MOM [00:18] jesusabdullah: ER [00:18] FesterCluck: Hola folks, just noticing 0.5.1. Anyone feel like discussing what great newness (or not) came with it? [00:18] jesusabdullah: PREPOSITIONED? IHNFI [00:18] jerrysv: catb0t++ [00:18] catb0t: catb0t now has 7 beers [00:18] jesusabdullah: wordfail :( [00:18] jerrysv: jerrysv++ [00:18] catb0t: jerrysv now has 4 beers [00:18] Nuck: v8bot++ [00:19] isaacs: Your mom is nothing like a preposition. I end my sentences on her all the time. [00:19] jesusabdullah: ACTION breaks out his websters [00:19] tmzt: catb0t+=-1 [00:19] Nuck: D: [00:19] isaacs: (if you know what i mean!) [00:19] Nuck: Why does it block v8bot!? [00:19] Nexxy: ACTION tweets that [00:19] rhdoenges: isaacs++ [00:19] catb0t: isaacs now has 3 beers [00:19] Nuck: RAAAAAEEEEEEGGGGG [00:19] jerrysv: doesn't, v8bot isn't in the channel [00:19] jerrysv: foo++ [00:19] SubStack: ACTION attempts to infer isaacs's meaning but can't because meaning doesn't exist [00:19] bnoordhuis: FesterCluck: windows support is the main thing [00:19] jerrysv: same thing [00:19] Nuck: isaacs++ [00:19] jesusabdullah: isaacs: OOOH snap [00:19] catb0t: isaacs now has 4 beers [00:19] Nuck: That was epic. [00:19] clifton: isaacs++ [00:19] catb0t: isaacs now has 5 beers [00:19] SubStack: IF YOU CAN INFER THE INTENTS OF MY LANGUAGE [00:19] rhdoenges: SubStack: pretend to be about 14 and it should make sense [00:20] guest_887 has joined the channel [00:20] FesterCluck: Bah [00:20] Nexxy: LOL @ "pretend" [00:20] versicolor has joined the channel [00:20] Nexxy: he's 16 in 3 weeks [00:20] tuhoojabotti: IS IT CAPSLOCK DAY AGAIN? [00:20] Stephen: SubStack old friend: I've been out of the loop. Catch me up on the new versions? [00:20] Nexxy: EVERYDAY IS CAPSLOCK DAY [00:20] tuhoojabotti: o/ [00:20] guest_944 has joined the channel [00:21] tmzt: loops? node has no loops :) [00:21] isaacs: New social oddness experiment: When greeting people, state the time of day. [00:21] isaacs: "Hello. It is morning" [00:21] jesusabdullah: uuuugh I'm too hungry to thiiiiink [00:21] rhdoenges: Nexxy: whose birthday is in 3 weeks and is there a party? [00:21] jesusabdullah: but I think there might be food soon? [00:21] jesusabdullah: Or do I go out? [00:21] devaholic: isaacs: Good morning Commander Data [00:21] hassox has joined the channel [00:21] bnoguchi has joined the channel [00:21] isaacs: people notice something is off, but they don't usually notice exactly what. [00:21] Nexxy: lol rhdoenges [00:21] guest_932 has joined the channel [00:21] Nexxy: MINE! [00:21] jesusabdullah: I live a hard life. [00:21] Nuck: CAPSLOCK IN MEMORY OF BILLY MAYS. GOD REST HIS CRAZY SOUL. [00:22] squeese has joined the channel [00:22] jacobolus has joined the channel [00:22] rhdoenges: Nexxy: let the pre-pre-partying commence [00:22] Nexxy: I've been doing that for liek a month [00:22] rhdoenges: MY CAPSLOCK KEY DOESN'T WORK, I REMAPPED IT TO CONTROL [00:22] rhdoenges: MY PINKY NOW HURTS FROM HOLDING SHIFT SO MUCH [00:23] rook2pawn has joined the channel [00:23] isaacs: rhdoenges: You need to get a brick, and place it on the shift key [00:23] isaacs: A LARGE BRICK. [00:23] rhdoenges: Stephen: welp 0.5.x is unstable, but the commit messages on github should give you a good idea of the changes [00:23] Nexxy: also tjholowaychuk ty [00:23] isaacs: the harder you press it, the capser it'll be. [00:23] devaholic: bill mayes wasnt crazy, his balls were just three times the size of a normal man [00:23] Nexxy: wow [00:23] Nexxy: inappropriate [00:23] __directory: hello, it is evening [00:24] jesusabdullah: Such is Billy Mays [00:24] jesusabdullah: Deliciously inappropriate [00:24] guest_503 has joined the channel [00:24] rhdoenges: isaacs: BRICK ACQUIRED [00:24] Nuck: I hear that oxyclean will take the warts off your sister's nuts. [00:24] isaacs: devaholic: When he was a little kid, two testicles dropped, and then they were like BUT WAIT....! THERES MORE!!!! [00:24] Nuck: 'tis true because 4chan told it to me. [00:24] jesusabdullah: oh my God [00:24] Nexxy: THAT explains it [00:25] Nexxy: he's from 4chan [00:25] jesusabdullah: Okay, this might actually be going too far >_< [00:25] Fuu` has joined the channel [00:25] Nexxy: jesusabdullah, I thought it did about 15 lines ago [00:25] Nuck: lel [00:25] Nexxy: IMHO [00:25] devaholic: Nexxy-- [00:25] catb0t: Nexxy now has -1 beer [00:25] rhdoenges: okay so I'm on a TTY so you are all going to have to imagine this in your heads: [00:25] devaholic: :] [00:25] __directory: jesusabdullah: gimme your cigarettes [00:25] jesusabdullah: Nexxy++ //keeping it real [00:25] isaacs: Nexxy++ [00:25] catb0t: Nexxy now has 0 beers [00:25] jesusabdullah: __directory: Hail naw [00:25] rhdoenges: ACTION look_of_disapproval [00:25] Nuck: ouch [00:25] Nexxy: ACTION qq [00:25] jesusabdullah: __directory: COME FIND ME OUTSIDE YOU CAN BUM ONE OFF ME [00:25] Nuck: rhdoenges: My mind hasn't switched from creepy mode yet. Still read TTY is TITTY [00:25] jesusabdullah: but ONLY one [00:26] jesusabdullah: tsk tsk [00:26] CIA-107: libuv: 03Igor Zinkovsky 07pipes * r2765509 10/ src/win/pipe.c : Windows: Use PeekNamedPipe instead of non-blocking reads to peek at the pipe buffer - https://github.com/joyent/libuv/commit/2765509430d3378740b8864161d6c5df67d095b9 [00:26] CIA-107: libuv: 03Igor Zinkovsky 07pipes * rafc9987 10/ (8 files in 2 dirs): Add uv_pipe_bind tests - https://github.com/joyent/libuv/commit/afc998759f332db4aaadd2775e17e39b7315df60 [00:26] jesusabdullah: ACTION judges Nuck  [00:26] CIA-107: libuv: 03Igor Zinkovsky 07pipes * r5630e86 10/ (src/win/error.c src/win/internal.h src/win/pipe.c): Windows: make uv_pipe_bind fail for the pipe name already in-use - https://github.com/joyent/libuv/commit/5630e86870f245452a997874f6e8db2a95a8a090 [00:26] CIA-107: libuv: 03Igor Zinkovsky 07pipes * rea155d7 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/ea155d719d970f649befca0dbcbd53f6acdcd5de [00:26] __directory: jesusabdullah: need bus fare too... [00:26] rhdoenges: Nuck: close enough... [00:26] Nexxy: le sigh [00:26] rhdoenges: ACTION judges #Node.js [00:26] jesusabdullah: __directory: I'm onto your schemes [00:26] Nexxy: I bbl when the kids have gone to bed ;P [00:26] CIA-107: libuv: 03Igor Zinkovsky 07master * r2765509 10/ src/win/pipe.c : Windows: Use PeekNamedPipe instead of non-blocking reads to peek at the pipe buffer - https://github.com/joyent/libuv/commit/2765509430d3378740b8864161d6c5df67d095b9 [00:26] CIA-107: libuv: 03Igor Zinkovsky 07master * rafc9987 10/ (8 files in 2 dirs): Add uv_pipe_bind tests - https://github.com/joyent/libuv/commit/afc998759f332db4aaadd2775e17e39b7315df60 [00:26] jesusabdullah: Lemme guess, you have a dying baby too? [00:26] jesusabdullah: and no insurance? [00:26] Nexxy has left the channel [00:26] __directory: jesusabdullah: yah... [00:26] rhdoenges: go windows support, go! [00:27] mikeal has joined the channel [00:27] rhdoenges: I actually like IOCP a lot [00:28] rhdoenges: it works so much more sanely than anything on linux. [00:28] rhdoenges: not necessarily faster, but it makes more sense. [00:28] Stephen: Just saw that [00:28] ryah: rhdoenges: that's debatable [00:28] Stephen: How interesting [00:29] rhdoenges: ryah: what, the speed? [00:29] Stephen: What's the general consensus about the Windows Build? [00:29] ryah: the sanity [00:29] rhdoenges: oh :P [00:29] Stephen: ++, or stick with Linux? [00:29] ryah: Stephen: it's very alpha right now [00:29] rhdoenges: ryah: stay sane :D [00:30] ryah: doesn't support a lot of APIs like child_process [00:30] ryah: it'll get better over the next few weeks [00:30] isaacs: Stephen: if you wnat to help the project, use 0.5 on windows and get ready to find bugs and make patches. if you wanna get stuff done, use 0.4 on not-windows. [00:30] Stephen: Cool, I'm gonna lurk here while I drive my butt home [00:30] ryah: we're releasing v0.5.2 tomorrow with named pipe support [00:30] rhdoenges: ryah: also, for building win from source, I need to install cygwin/mingw, yeah? [00:30] Stephen: Actually, I need to stick with a stable version [00:30] ryah: and child process support in v0.5.3 hopefully [00:30] tonymilne has joined the channel [00:30] ryah: rhdoenges: to build you need mingw/msys [00:30] Stephen: I've been converting a PHP app to NodeJS for about 4 months now, and I just got word we may get funding soon [00:30] ryah: rhdoenges: and python [00:31] Stephen: So no more edge builds for me :-( [00:31] Stephen: However, I must say, ryah, THANK YOU [00:31] ezmobius has joined the channel [00:31] neorab has joined the channel [00:31] Stephen: Developing Client, Server, and DB in one language was a pipe dream before [00:32] mcluskydodallas has joined the channel [00:32] rhdoenges: ryah: ok, thanks. I'm going to try to be helpful [00:32] Stephen: Firefox, NodeJS, and MongoDB is just... simple [00:32] Stephen: Even got jquery 0.6.1 running in NodeJS [00:32] rhdoenges: and, barring that, I'll just report bugs :p [00:32] Stephen: Serverside deferreds are awsm [00:32] SubStack: deferreds :( [00:33] Stephen: Y U HATE DEFERREDS? [00:33] rhdoenges: oh here we go again [00:33] Stephen: lol [00:33] Stephen: Nah [00:33] rhdoenges: load your capslocks [00:33] Stephen: didn't realize it was a thing [00:33] Stephen: I'll leave it be [00:33] Nuck: As much as I love jQuery's handling of DOM events [00:33] rhdoenges: no, no, it was the capslock :) [00:33] Nuck: I think EventEmitters are teh best event implementation ever [00:34] Stephen: Didn't they just remove that? [00:34] Stephen: Er, the old implementation I suppose [00:34] rhdoenges: eh is a pretty cool guy and doesnt afraid of anything [00:34] Nuck: Remove EventEmitters? [00:34] SubStack: hey jquery I'm really happy for you [00:34] Nuck: If they did, I'm gonna kill somebody! [00:34] bayousoft has joined the channel [00:34] rhdoenges: and imma let you finish [00:34] Nuck: Because damnit EventEmitters were AMAZING [00:34] Nuck: God installing gems takes foooooreeeeeevvveeeeeeer [00:34] tjholowaychuk: pretty sure jquery doesn't call anything an EventEmitter [00:35] Nuck: tjholowaychuk: That they don't [00:35] Stephen: Just needed 1 language to communicate across Firefox Extension, Server, and DB [00:35] Stephen: jQuery made for a nice smoothing tool [00:35] Stephen: I'm sure there's a little overhead, but it couldn't be much [00:35] Nuck: Mongo + Node + jQuery [00:35] Stephen: Yup [00:35] jerrysv: speaking of event emitters, is EM2 ready for prime time? [00:35] Nuck: That's my DB, server, and view [00:35] dingomanatee has joined the channel [00:35] rhdoenges: how's mongo performance? I haven't used it much. [00:36] Nuck: rhdoenges: Glorious, I hear. [00:36] jerrysv: should i rely on it for a platform-level project? [00:36] Stephen: Nuck: Seconded [00:36] Stephen: alright, I'm out [00:36] rhdoenges: Nuck: sick [00:36] Nuck: I haven't used it on a large scale yet, but I know it's supposed to bewebscale [00:36] Nuck: Why does isntalling a gem mean also installing ri and rdoc documentation? [00:36] Nuck: Fuck the Manuals. [00:36] rhdoenges: the important question is this: [00:37] rhdoenges: why is most of `gem install` output telling me it installed some docs? [00:37] Nuck: Well, fuck any manuals that take longer to install than the package itself [00:37] __directory: Nuck you can tell it not to install ri/rdoc [00:37] Nuck: __directory: Please, tell me. [00:37] Nuck: It's getting rather annoying [00:37] Nuck: Especially since it installs BOTH docs. [00:38] telemachus: Nuck: This in $HOME/.gemrc gem: --no-ri --no-rdoc [00:38] Nuck: Which is extremely silly. [00:38] __directory: its --no-ri and --no-rdoc [00:38] rhdoenges: alright I'm going to go attempt to wrangle some windows bugs [00:38] rhdoenges: pray for me [00:38] __directory: ACTION prays [00:39] Nuck: fuggin Rdoc and ri [00:39] Nuck: ACTION waits for the next 7 Rdocs to finish [00:40] Nuck: Wait, no, just 3 now [00:40] CIA-107: node: 03isaacs 07master * r588d885 10/ (lib/module.js test/simple/test-module-loading.js): [00:40] CIA-107: node: Close #1357 Load json files with require() [00:40] CIA-107: node: Signed off by everybody. - https://github.com/joyent/node/commit/588d885e81dec667920383ac7246daceeb7f99fd [00:42] SubStack: isaacs: oh wow we can require('./turtles.json') now? [00:42] corytheboyd has joined the channel [00:43] SubStack: that's pretty nifty [00:43] apanda has joined the channel [00:43] isaacs: SubStack: yeah [00:43] xerox: what does that do? [00:43] isaacs: *everybody* seems to have agreed on this one. really surprising, actually. [00:43] __directory: man...where can I grab turtles.json? [00:43] isaacs: i don't think i've ever seen a feature suggestion that everyone wanted so badly, especially one so trivial to do in your own code. [00:43] zmbmartin: Coming from ruby I use strftime to format the display of dates what do I use in js? [00:44] devaholic: isaacs: is that 0.5.x? [00:44] isaacs: zmbmartin: i remember there being something like that in javascript somewhere, but i don't see it in npm's registry [00:44] isaacs: devaholic: yeah [00:44] devaholic: damn.. [00:45] gozala has joined the channel [00:45] devaholic: can we get that in 0.4.x? [00:45] isaacs: devaholic: it's new api. but it's also literally 3 lines of code. you can put it in your own program really easily. [00:45] devaholic: yeah, already have [00:45] skoom has joined the channel [00:45] tjholowaychuk: isaacs: I think small stuff like that is fine, it cant really be done any other way so at least there's no argument about how it's implemented [00:45] amerine has joined the channel [00:45] hij1nx has joined the channel [00:45] sorensen: wheres mah turtles at [00:45] SubStack: c/,,\ [00:46] SubStack: http://substack.net/images/dnode.png [00:46] devaholic: c(,,) [00:46] sonnym has joined the channel [00:46] __directory: smang it [00:46] Xano has joined the channel [00:46] __directory: http://code.google.com/p/jmaki-store/source/browse/trunk/shared/web/data-turtles.json?spec=svn35&r=35 [00:47] sorensen: if only the node.js logo was a turtle [00:47] sorensen: :D [00:47] telemachus: zmbmartin: I think you write it - or use an external library - no built-in that I'm aware of [00:48] random123: Here is a different question, I suppose that one is way to indepth for here anyway --- is it advisable to use Socket.io for loading Dynamic content or would you be better off using jQuery.ajax? Any real difference? [00:49] random123: Pasted from Socket.io channel - not many people are there. [00:49] isaacs: zmbmartin: http://hacks.bluesmoon.info/strftime/ [00:49] xandrews has joined the channel [00:50] isaacs: zmbmartin: it's bsd-licensed. i bet philip would be happy to see you port it to node and put it in the npm registry [00:50] isaacs: :) [00:50] devaholic: random123: read about socket.io a bit... its far more than just ajax [00:50] jerrysv: zmbmartin: date-utils ? [00:51] rwaldron has joined the channel [00:51] random123: devaholic: Yes, I am using socket.io for the realtime communication (chat mostly) but I am wondering if I should serve static content with it as well, since it is capable, or is that worse perfomance than jQuery.ajax for instance? [00:52] _sorensen_ has joined the channel [00:52] sorensen: i wonder where _sorensen_ came from... [00:52] tonymilne: random123 I'm doing what you've described. Not sure yet whether it's better just yet. ;) [00:53] tonymilne: random123 but stuff is written such that i could probably switch between ajax / socket without much pain. [00:53] CIA-107: libuv: 03Bert Belder 07master * rf0c20aa 10/ (msvs/libuv-test.vcxproj test/test-list.h test/test-idle.c): Test: active idle watcher should not block other events - https://github.com/joyent/libuv/commit/f0c20aa9132fb7c2eb699661d21d2e6bc7265c5a [00:55] random123: tonymilne, I wonder if it does offer a performance boost or penalty, I can go either way right now, I can see it even being faster since it uses WebSockets in newer browsers, and I don't know if jQuery does that, or if its better performance [00:55] bnoguchi: random123: It depends on the transport. I think jQuery.ajax might be more performant than socket.io when they both are using http, not websocket [00:56] bnoguchi: random123: Because socket.io has the additional overhead of framing [00:57] random123: bnoguchi if socket.io has WebSockets avaliable in the browser then it would def. be quicker than jQuery.ajax? [00:57] bnoguchi: random123: If the transport is websocket, I believe it depends on the data payload size. [00:57] bnoguchi: random123: I don't believe that websocket has gzip support in browsers [00:57] bnoguchi: random123: So you don't get the benefit of gzip. But you do get the benefit of not having to send headers on every request as you do with http. [00:58] bnoguchi: random123: I would also look into spdy, if you are thinking about serving up static content. It's also supported in chrome. [00:58] jacobolus has joined the channel [00:58] mcluskydodallas has joined the channel [00:59] pandeiro_ has joined the channel [00:59] random123: ok, ty [00:59] bnoguchi: random123: you can always bench it yourself [00:59] bnoguchi: random123: for your particular data payloads [01:00] clifton has joined the channel [01:01] vikstrous has joined the channel [01:04] CIA-107: libuv: 03Ryan Dahl 07master * rb931c93 10/ (8 files in 4 dirs): uv_close returns void - https://github.com/joyent/libuv/commit/b931c9313f9d80025aea422d43beee9bffc4f346 [01:05] Xeon06_ has joined the channel [01:06] pifantastic has joined the channel [01:06] dgathright has joined the channel [01:06] neoesque has joined the channel [01:06] cccaldas has joined the channel [01:07] ditesh|cassini has joined the channel [01:07] gregpascale has joined the channel [01:08] JoshC1 has joined the channel [01:08] gozala has left the channel [01:10] Alien__ has joined the channel [01:10] hassox has joined the channel [01:11] mraleph has joined the channel [01:11] Alien__: Any reccomendations for some sort of database to store javascript objects with node? [01:11] jacobolus has joined the channel [01:12] tonymilne: mongodb [01:12] Alien__: Thanks! Ill look at MongoDB. [01:12] markdaws_: Alien__: riak is a good document store, see: http://riakjs.org/ [01:12] Alien__: Ill look at Riak too! [01:12] tonymilne: or node-dirty might work for you too. [01:13] zemanel has joined the channel [01:16] yokoaway has joined the channel [01:18] geetarista has left the channel [01:20] hippich has joined the channel [01:20] wookiehang0ver has joined the channel [01:20] kawaz has joined the channel [01:21] pen has joined the channel [01:21] asobrasil has joined the channel [01:23] ckknight has joined the channel [01:23] Alien__: Just wanted to say thanks for the recomendations. It looks like I am going to use node-dirty https://github.com/felixge/node-dirty [01:26] tonymilne: hooooray! [01:27] abraxas has joined the channel [01:29] CIA-107: libuv: 03Bert Belder 07master * rd9612fe 10/ (src/win/handle.c test/test-async.c): More changes related to uv_close returning void - https://github.com/joyent/libuv/commit/d9612fe0e75884451264ee1a507516588db4e153 [01:29] CIA-107: libuv: 03Bert Belder 07master * r5f12c30 10/ test/test-idle.c : Correct idle_starvation test - https://github.com/joyent/libuv/commit/5f12c30f734f166b443603202e3e439df2dc9d10 [01:29] ryantm has joined the channel [01:33] matyr has joined the channel [01:35] CIA-107: libuv: 03Ben Noordhuis 07master * rc4611a4 10/ src/uv-unix.c : [01:35] CIA-107: libuv: uv-unix: move stream->fd >= 0 asserts out of connection error path [01:35] CIA-107: libuv: on_connect callback must be invoked even if the connect() syscall [01:35] CIA-107: libuv: fails. stream->fd == -1 in that case. - https://github.com/joyent/libuv/commit/c4611a4148558840732677fae01e8319c35c688c [01:38] nerdfiles has joined the channel [01:38] Alien__ has joined the channel [01:39] hippich has joined the channel [01:39] hippich has joined the channel [01:40] jakehow has joined the channel [01:40] Nuck: Ugh rails is so sloooooooow [01:40] jerrysv has joined the channel [01:40] captain_morgan has joined the channel [01:40] Nuck: Why can't it be more like Node.js :( [01:41] Nuck: Nice and fast [01:41] Nuck: npm > bundler [01:41] halfhalo: yup [01:41] Nuck: npm can get your dependencies in like 3 seconds [01:41] Nuck: bundler seems to take hours [01:41] isaacs: Nuck: yep. cuz it gets them all at the same time [01:42] halfhalo: ACTION was pointed at nopt today. tis shiny [01:42] dreamdust: What happened to cramp? I bet rails wouldn't be so slow if it was evented and async [01:43] Nuck: Ruby is a slow language too [01:43] Nuck: Ruby's VM is one of the slowest out there [01:43] Nuck: Not like V8 [01:44] xandrews has joined the channel [01:44] Nuck: god [01:44] Nuck: It's a pain in the ass to install chiliproject [01:44] _sorensen_ has joined the channel [01:44] Nuck: At least for somebody like myself, who lacks and knowledge of Ruby or Rails [01:44] bosky101 has joined the channel [01:44] Nuck: Y U NO BUILD MYSQL /me rages [01:44] __tosh has joined the channel [01:45] halfhalo: heh [01:45] Nuck: ugh [01:45] halfhalo: I don't count redmine/chiliproject as a typical rails app [01:45] Nuck: Worst of all, that's the database I'm gonna use [01:45] bradleymeck: anyone here good w/ the debugger protocol [01:45] halfhalo: it doesn't place nice with anythin [01:45] Nuck: Remember the phrase "rails scales"? [01:46] Nuck: Remember when people realized that was total bullshit? [01:46] halfhalo: rails scales <------> thataway [01:46] Nuck: halfhalo: Not all too well lol [01:46] bnoordhuis: you know what scales? [01:46] Nuck: Look at Twitter [01:46] bnoordhuis: php [01:46] bnoordhuis: there, i said it [01:46] Nuck: bnoordhuis: Scales horribly [01:46] maqr has joined the channel [01:46] Nuck: At a certain point the inefficiencies become awful [01:46] dreamdust: Scalability is incredibly context dependent. [01:46] Nuck: And the memoery leaks can kill you [01:46] dreamdust: It's almost pointless talking about it without context. [01:46] igl: bnoordhuis: run [01:47] Nuck: Fair enough ,dreamdust [01:47] bnoordhuis: i'm only half-kidding btw [01:47] Nuck: Either way, I need to make mySQL build for rails [01:47] bnoordhuis: apache + mod_php > * [01:48] bnoordhuis: just add servers and you're good to go [01:48] Nuck: lol [01:48] Nuck: Add a LOT of servers [01:48] halfhalo: Nuck: mysql is always a tricky one. its always something arcane that makes it break [01:48] brianc has joined the channel [01:48] bnoordhuis: Nuck: yes, but servers are cheap [01:48] Nuck: halfhalo: The MySQL in Node isn't so hard to build :( [01:48] Nuck: bnoordhuis: lol fair enough [01:48] bradleymeck: but ppl cand deal w/ lack of transactions sometimes [01:49] Nuck: My skill is cheaper though, so I'm sticking to node :P [01:49] Nuck: My skill is free for me [01:49] Nuck: So I can make a VERY scalable setup without much work [01:50] Nuck: Either way, I need chiliproject or redmine [01:50] __directory: shit... [01:50] Nuck: And I know some of you in here are recovered ruby folks [01:50] __directory: come back and ruby/scaling/etc still going on [01:51] Nuck: Can somebody tell me how to get the MySQL shit to build for chiliproject? [01:51] halfhalo: Nuck: whats the error [01:52] CIA-107: node: 03Ben Noordhuis 07master * r37cbc35 10/ (deps/uv/src/uv-unix.c lib/net_uv.js src/pipe_wrap.cc): net: add bindings to libuv pipe API - https://github.com/joyent/node/commit/37cbc355d53077c3406ab4f1d7679f3504dcbe51 [01:52] CIA-107: node: 03Ben Noordhuis 07master * r0c396c0 10/ (Makefile test/simple/test-http-unix-socket.js): test: beef up checks in test-http-unix-socket.js, add to `make test-uv` - https://github.com/joyent/node/commit/0c396c05fddca68f2d2378538ad7960f11f97141 [01:52] CIA-107: node: 03Ben Noordhuis 07master * r53aac9d 10/ (14 files in 4 dirs): uv: upgrade to afc9987 - https://github.com/joyent/node/commit/53aac9dde614bb5426c681ab9ba631bd5c33b1a3 [01:52] CIA-107: node: 03Ben Noordhuis 07master * r1b89323 10/ deps/uv/src/uv-unix.c : uv: back-port c4611a4 from libuv - https://github.com/joyent/node/commit/1b89323e92001481f7b0e1f14736d288b58b160e [01:52] Nuck: Not sure, it logged like 3 screens of shit [01:52] Nuck: Most of it appears to be config options [01:52] Nuck: Could not create Makefile due to some reasonn, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. [01:53] gtramont1na has joined the channel [01:54] Nuck: ACTION gists his error [01:54] Nuck: https://gist.github.com/84326d16ade75e8882ea [01:54] Nuck: That's the error [01:54] brianseeders has joined the channel [01:55] Nuck: that is probably the longest stack trace I've ever seen [01:55] __directory: probably can't find your mysql library files [01:55] __directory: oops im sorry, filez [01:55] Nuck: __directory: What files :S [01:56] jerrysv: nuck: mysqlclient [01:56] jtsnow has joined the channel [01:56] bnoordhuis: Nuck: i can tell you've never done enterprise java [01:56] Nuck: Never borhtered with Jaba [01:56] Nuck: Ewww I typoed so much [01:57] bnoordhuis: in enterprise java, a 50 line stack trace is only warm-up [01:58] blakmatrix has joined the channel [01:58] Nuck: Ewwwww [02:00] jimt_ has joined the channel [02:01] piscisaureus has joined the channel [02:02] tmzt: bnoordhuis: it be nice if node could only show stack frames from user code optionally [02:02] dreamdust: That would be awesome. [02:02] tmzt: or trace through callbacks better (when they are unrelated to what went wrong) [02:03] tmzt: like treat a set of callbacks a scope, when you have something happening related to an event or mongo lookup but it's directly related it can be confusing having them in the stack trace [02:03] tmzt: but I imagine that's hard to do [02:04] tjholowaychuk: tmzt wouldnt be too bad actually [02:04] Nuck: damn "uninitialized constant Rake::DSL" [02:04] Nuck: ACTION shakes his fist at Ruby again [02:04] tjholowaychuk: you can get references to the call site objects, and the functions etc [02:05] tmzt: function.name ? [02:05] Nuck: How Ruby grew popular, I cannot tell [02:05] tjholowaychuk: but then i guess you have to figure out which functions are within the lexical scope [02:05] agnat_ has joined the channel [02:05] tjholowaychuk: tmzt the actual functions [02:05] tjholowaychuk: i think on the call sites they are 'fun' props or something i cant remember [02:05] __directory: because people like ruby's syntax and the what nots [02:05] Nuck: meh [02:06] jacobolus has joined the channel [02:06] tmzt: even better, function.name referred to discussion I believe in mozilla bug that anonymous functions are (?) because there's no way to find a good name for them [02:06] tmzt: __directory: which syntax? [02:06] dreamdust: The lack thereof really. [02:06] jimt has joined the channel [02:06] dreamdust: But that's what coffeescript is for :) [02:06] __directory: i dont do ruby [02:06] tmzt: I'd like to have a real ORM in node, and a dry autoloading controller/template thing [02:06] __directory: but people tell me they like it [02:07] balupton has joined the channel [02:07] tmzt: but no code generation [02:07] davidbanham has joined the channel [02:07] tmzt: dreamdust: what about jquery with selectors as first class objects, or something like that [02:07] tmzt: would be pretty cool [02:07] _sorensen_ has joined the channel [02:07] CIA-107: libuv: 03Igor Zinkovsky 07master * ree5236c 10/ (src/win/error.c src/win/internal.h src/win/pipe.c): Windows: make uv_pipe_bind fail for the pipe name already in-use - https://github.com/joyent/libuv/commit/ee5236cf56ffcd5f132ce5292a9d38bf311d4964 [02:07] CIA-107: libuv: 03Igor Zinkovsky 07master * rf8bdddc 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/f8bdddcda9c778299b2830ad46e5943e4874048b [02:07] blakmatrix has joined the channel [02:07] dreamdust: Project idea: RubyJS - Javascript shorthand like coffeescript but emulating Ruby syntax. [02:07] balupton has left the channel [02:08] tmzt: seriously, a framework built on node could have all the benefits or rails without the drawbacks [02:08] mike5w3c has joined the channel [02:08] tmzt: dreamdust: a little reduntant? [02:08] jacobolus has joined the channel [02:08] Nuck: CoffeeScript *is* a lot like Ruby's syntax. [02:09] Nuck: (that's why I can't stand it) [02:09] tjholowaychuk: dreamdust lol that's been done [02:09] tjholowaychuk: and failed as it should [02:09] dreamdust: ACTION shrugs [02:09] Nuck: tjholowaychuk: Too bad CS hasn't failed yet :( [02:09] tjholowaychuk: because all the ruby ppl are coming over to js [02:09] dreamdust: I don't even use coffeescript, not that up on it's syntax [02:09] tjholowaychuk: finally [02:10] tjholowaychuk: not that js is great [02:10] tjholowaychuk: it's just less shitty [02:10] dreamdust: right [02:10] Nuck: JS is FAR less shitty than Ruby [02:10] igl: nothing is great ^^ [02:10] Nuck: I've actually grown to like it [02:10] Nuck: I think it's one of the best languages out there right now. [02:10] Nuck: That's just not saying much [02:11] tjholowaychuk: i like ... prototypes .. closures [02:11] tjholowaychuk: thats about it [02:11] tjholowaychuk: haha [02:11] mraleph has joined the channel [02:11] tjholowaychuk: i dont like how js does protos [02:11] tjholowaychuk: but meh [02:11] Nuck: I like the syntax and basically all functionality [02:11] Nuck: So I like it overall [02:11] Nuck: I don't use prototypes much, since they confuse the shit out of my code [02:11] bnoordhuis: i like ice cream [02:12] tmzt: protos? [02:12] bnoordhuis: no, ice cream [02:12] AvianFlu has joined the channel [02:12] tjholowaychuk: i like ice cream too [02:12] captain_morgan: I can get behind ice cream most days of the week aswell [02:12] Nuck: I use self-executing anonymous functions to encapsulate my code usually [02:12] __directory: ice cream doesn't scale [02:12] igl: i like big pie and i can not lie [02:13] Nuck: __directory: Never heard of Breyer's? Ben & Jerry's? [02:13] Nuck: Both scaled Ice Cream production effectively. [02:13] igl: ben & jerrys definitly scales better than häagen dazs [02:13] fayce has joined the channel [02:14] chrisdickinson: woot, pure js code coverage using bunker! http://dl.dropbox.com/u/15509266/coverage.png [02:14] tjholowaychuk: chrisdickinson woot! [02:14] tjholowaychuk: why is that -- red [02:14] tjholowaychuk: and yet the conditional after it is not [02:14] chjj has joined the channel [02:14] __directory: ormnomnom [02:14] Nuck: I'm scared to ask ##ruby or #rubyonrails to help me [02:14] chrisdickinson: tjholowaychuk: I'm not taking into account a few ... pertinent things about "missed nodes") [02:14] Cybrix has joined the channel [02:14] Nuck: I hear they eat people like me. [02:15] tjholowaychuk: ah :D [02:15] tjholowaychuk: cool though [02:15] chrisdickinson: that is to say, I add "red" before the node that got missed [02:15] tjholowaychuk: nice to get that stuff into js finally [02:15] burump has joined the channel [02:15] chrisdickinson: all lines displayed are lines that my tests failed to execute [02:15] tjholowaychuk: oh i see [02:15] tjholowaychuk: that's confusing in the case of that -- [02:16] chrisdickinson: yeah, it's a little misleading :) [02:16] tjholowaychuk: cool though if it does branch cov, (foo ? 'bar' : 'baz') with baz red etc [02:16] tjholowaychuk: really amazed this was not js earlier [02:16] tjholowaychuk: i didnt want to do it [02:16] tjholowaychuk: haha [02:16] tjholowaychuk: but even before jscov [02:16] tjholowaychuk: i was like wtf [02:16] chrisdickinson: tjholowaychuk: yeah -- there's actually an issue with burrito where it'll unwrap ternaries from their parens and not insert them back correctly :\ [02:17] chrisdickinson: (i've got a pull request outstanding for it though) [02:17] tjholowaychuk: ah i see [02:17] cjm has joined the channel [02:17] Nuck: Is it really that hard a task for Rails to just create a goddamn database structure? [02:17] rednul has joined the channel [02:17] tjholowaychuk: i imagine reconstructing the look of the input as-is [02:17] tjholowaychuk: wont work with that [02:17] Nuck: I mean, that's a 1-liner in most languages. [02:17] tjholowaychuk: like it does with jscov [02:17] chrisdickinson: so I've still gotta track a few more corner cases down - it's running my code somewhat differently that without the coverage on [02:17] Nuck: Somebody port redmine to Node for me D: [02:18] chrisdickinson: tjholowaychuk: it works as-is with uglify, but burrito does a parse-deparse-parse-deparse dance that removes some important context about what nodes need parens. [02:19] jimt has joined the channel [02:19] Kami_ has joined the channel [02:19] jesusabdullah: What's redmine, again? [02:19] tmzt: Nuck: what do you mean? rails creates databases just fine, it something it's quite good at [02:19] chrisdickinson: (which makes sense when you think about the fact that it needs to be able to dynamically change syntax) [02:19] seawise_ has joined the channel [02:19] chrisdickinson: tjholowaychuk: if you're interested, this is how i'm using bunker/burrito for coverage: https://gist.github.com/5901dbd9d4d29fae0253 [02:20] tjholowaychuk: cool cool [02:21] sammmy has joined the channel [02:21] sammmy: There is no rest (sleep) for the wicked (node). [02:22] gtramont1na has joined the channel [02:22] dreamdust: haha [02:22] damienbrz has joined the channel [02:22] tjholowaychuk: coroutines feel amazing after all this callback madness [02:23] sammmy: what are coroutines? [02:23] dreamdust: http://en.wikipedia.org/wiki/Coroutine [02:24] jimt has joined the channel [02:24] Nuck: tmzt: It's not being nice for me. [02:24] chjj: callback madness...? this is node! [02:24] burump has left the channel [02:25] Nuck: ChiliProject install is failing on the step which sets up the db. [02:25] Nuck: Something about a missing constant [02:25] Nuck: So many glitches. [02:25] Nuck: Dear god. [02:25] CIA-107: libuv: 03Bert Belder 07master * r6e50576 10/ (src/win/core.c src/win/handle.c): Windows: follow libev loop semantics more closely - https://github.com/joyent/libuv/commit/6e505766be1dc32a56f93a323acefe53595c1ba2 [02:25] Nuck: How did anyone use Ruby? [02:25] tmzt: Nuck: what are you trying to do? [02:25] Nuck: tmzt: Set up ChiliProject [02:25] tmzt: I"m not an expert though [02:25] tmzt: not hardly [02:25] jonaslund: tjholowaychuk: what are you using for coroutines ? [02:25] tjholowaychuk: jonaslund secret [02:26] tmzt: look in the migrate file [02:26] Nuck: And I got to setp 7 on their install page, and now it's giving me this shit: https://gist.github.com/bdf984261387816c8993 [02:26] tjholowaychuk: just started it last night [02:26] chrisdickinson: tjholowaychuk: have you tried out gevent + python? [02:26] jonaslund: tjholowaychuk: :P [02:26] tjholowaychuk: nope, i've barely used py [02:26] jonaslund: tjholowaychuk: I made a weird "tailcall" lib.. it wasn't much of an improvement in practice when writing stuff though [02:26] chrisdickinson: tjholowaychuk: it's pretty cool, it uses green threads to completely hide any async action -- so your code doesn't have to change to make it async. [02:27] chrisdickinson: ...slash, you know, non-blocking. [02:27] tmzt: Nuck: it really sounds like a missing library of some kind [02:27] tjholowaychuk: chrisdickinson: yeah that's what I'm enjoying right now [02:27] sammmy: So a subroutine is just another term for a function, correct? [02:27] tjholowaychuk: sammmy kinda the other way around [02:27] Nuck: tmzt: I used bundler, so I imagine that wouldn't be the case :S Found a chat for chiliproject on here (god I love freenode) [02:27] kmiyashiro has joined the channel [02:27] Nuck: So I'm gonna see if they can direct me towards some explanation :/ [02:27] tjholowaychuk: sammmy: oh sorry subroutine [02:27] tjholowaychuk: yes [02:28] sourcode has joined the channel [02:28] tmzt: what is chiliproject? [02:28] softdrink has joined the channel [02:28] point9repeating has joined the channel [02:28] sammmy: tjholowaychuk: Ah okay. So, somehow a coroutine is like a function but not exactly a function...? [02:28] Nuck: tmzt: Fork of Redmine [02:28] kmiyashiro has joined the channel [02:29] Nuck: Supposed to be better maintained [02:29] tjholowaychuk: sammmy: multiple stacks [02:29] tjholowaychuk: sammmy: that cooperate by yielding [02:29] jimt_ has joined the channel [02:29] chrisdickinson: ACTION wonders out loud if that's anywhere near possible in vanilla js [02:29] sammmy: tjholowaychuk: functions in JS can have multiple stacks though. [02:30] piscisaureus: soccer [02:30] sammmy: does that mean that JS functinons are coroutines? [02:30] chrisdickinson: sammmy: js only runs one stack at a time. [02:30] tjholowaychuk: vanilla js only has one stack [02:31] d0k has joined the channel [02:31] sammmy: Hmm. But in order to have multiple stacks in JS you would need to run multiple instances of a script? [02:31] tjholowaychuk: sammmy: the reason apps using coros *look* sync is because you can yield on a blocking action and jump into another stack to do some work [02:31] jonaslund: sammmy: basically what you have is user managed stacks [02:32] kartmetal: isn't spidernode able to do exactly that? [02:32] rauchg has joined the channel [02:32] jonaslund: windows/*nix has C level co-routine libs (but different apis) and there's a fair number of personal hacks aswell [02:33] sammmy: tjholowaychuk: so what apps use coroutines; is there a Node library that follows this pattern? [02:33] isaacs: so, you know how the find(1) unix utility can take a list of expressions, and even stuff like -name foo.* -or -path baz*boo? [02:33] isaacs: and parens and stuff? [02:33] jonaslund: the simplest way would prolly to do a JS-JS translator [02:33] isaacs: if you had a require("find"), what would be the best way to have that work? [02:33] rhdoenges has joined the channel [02:33] bnoordhuis: kartmetal: maybe, spidermonkey has support for generators at least [02:34] isaacs: i'm tempted to just do find = require("find"); find(folder, { name: "foo.*", path: "baz*foo" }, cb), and forget about "or" and parens altogether. [02:34] tjholowaychuk: isaacs: hmmMm.. mayble a variable number of strings and/or { name: foo } type args [02:34] isaacs: what do you guys thing? [02:34] tjholowaychuk: not sure [02:34] zeade has joined the channel [02:34] tjholowaychuk: mayble? [02:34] tjholowaychuk: haha [02:34] tjholowaychuk: wtf [02:34] isaacs: hehe [02:35] isaacs: so find(dir, {name:"*.js"}, {name:"foo.*"}, cb) [02:35] kartmetal: bnoordhuis, what else would you need to get "real" co-routines? you'd have a yield operator.. you'd just need a main function that keeps circling through the relevant coroutines, right? [02:35] isaacs: woudl that *only* find foo.js files? [02:35] isaacs: or are they or-ed together? [02:35] bnoordhuis: kartmetal: the idea is that coroutines can pass values to each other [02:35] isaacs: and how would you do: -name *foo.* -name *blah* [02:35] tjholowaychuk: I'd probably expect that to | [02:35] kartmetal: ooh. [02:35] __directory: seems or'd [02:35] bnoordhuis: kartmetal: python generators can, with .send() [02:36] tmpvar has joined the channel [02:36] isaacs: another (painful, kinda fun) option would be: [ ["name", "foo*"], "or", ["path", "bar.*"], "and", "not", .... [02:36] bnoordhuis: kartmetal: some quick googling suggests that spidermonkey has a .send() method as well [02:37] Murugaratham has joined the channel [02:37] matyr_ has joined the channel [02:37] pylon__ has joined the channel [02:37] bnoordhuis: kartmetal: in case you're interested: https://developer.mozilla.org/en/JavaScript/Guide/Iterators_and_Generators [02:37] xeodox has joined the channel [02:38] bnoordhuis: kartmetal: more specifically: https://developer.mozilla.org/en/JavaScript/Guide/Iterators_and_Generators#Advanced_generators [02:38] kartmetal: yup, I found it too.. reading it.. [02:38] jameson has joined the channel [02:38] kartmetal: isaacs, how about going chain-crazy? find(folder).name("foo").or().path("baz/foo") or somesuch? [02:39] yozgrahame has joined the channel [02:39] rauchg has joined the channel [02:39] kartmetal: not a very nodish style, arguably. [02:39] chjj: crossing into jquery territory [02:40] jesusabdullah: I don't think there's such thing as "nodish style" really [02:40] chjj: "chain everything, put everything on the prototype of one constructor" [02:40] chjj: etc [02:40] jesusabdullah: function chaining isn't a bad approach at all [02:40] kartmetal: bnoordhuis, reading that stuff makes me want to see it in node.js proper.. can we bribe the v8 team to add more crazy goodness like that? [02:41] bnoordhuis: kartmetal: i know what you mean :) [02:41] isaacs: kartmetal: no. :) [02:41] isaacs: kartmetal: i have a find util that i use in npm quite a bit. it just takes a regexp. it's great. [02:42] isaacs: i mean, it's not great, butit's ok. it sorta works. [02:42] kartmetal: jesusabdullah, kinda. If there's an underlying implementation that can leverage that chaning rather than just cheat and pile it on a big stack until it ends with a .run(callback) method, i'd be an easier sell. [02:42] tjholowaychuk: isaacs haha actually yeah regexp sounds a lot better, simple. [02:43] kartmetal: isaacs, it is simpler, but it doesn't capture the whole richness of the unix find tool. [02:43] isaacs: yeah [02:43] kartmetal: then again, it'd usually be enough for my puny uses of the tool. [02:43] tjholowaychuk: meh [02:43] isaacs: the thing is, with the unix tool, you can actually stream filenames through, switch between stat and lstat, etc. [02:44] jesusabdullah: kartmetal: Oh yeah, definitely [02:44] isaacs: i think what i'll do is just take an arbitrary list of either globs, regexps, or functions. the functions can be async, or can return true or false immediately. [02:44] tjholowaychuk: i'll take simple and restrictive over powerful and complicated any day [02:44] isaacs: and then the final cb gets a list of what matched. [02:44] tmzt: jquery for the filesystem [02:44] tmzt: :) [02:45] isaacs: so you could do find(folder, "foo.*", function (er, foos) { ... }) [02:45] isaacs: no combinatorix [02:45] kartmetal: at that point, is the implementation doing more than a findEverything(folder).filter(function(){...}) ? [02:45] isaacs: i would like a bin that has feature parity with the unix util, though [02:45] isaacs: kartmetal: yes. [02:46] isaacs: there may be many many millions on files in there, and you just want the foos. [02:46] kartmetal: well yes you get the regexp filter at least. [02:46] kartmetal: ok [02:46] isaacs: kartmetal: or you may want to do something like: find(dir, "foo.*", function (file, cb) { rm(file, cb) }, cb) to remove all the foos [02:47] tmzt: like dir('.').children([/.*express.*/,/\*.js/).requireAll() [02:47] tmzt: or something [02:47] isaacs: ACTION isn't all that thrilled by function chaining [02:48] tjholowaychuk: tmzt a dom-like approach would be kinda neat [02:48] tjholowaychuk: progressive apis ftw [02:48] isaacs: passing along state in an opaque object is tricky to get right. jquery does an ok job, but even then, I usually just do $(selector).doSomethign() [02:48] kartmetal: fs.getFileByName("..")? :'( [02:48] isaacs: you can build that on top of the find(..., cb) api anyhow [02:49] isaacs: my eventual goal here is to replace node-glob with something that's 100% js, and split out everything generic from npm's util folder. [02:53] Xeon06_ has joined the channel [02:55] ngs has joined the channel [02:56] jonaslund: V8 should have continuation support :) [02:56] bnoguchi: jonaslund: There's a patch for v8 that gives it continuation support [02:56] boehm has joined the channel [02:57] hippich has joined the channel [02:57] hippich has joined the channel [02:57] bnoguchi: jonaslund: http://code.google.com/p/v8cgi/ [02:57] CIA-107: node: 03Ryan Dahl 07master * r133036f 10/ (16 files in 6 dirs): upgrade libuv to 6e50576 - https://github.com/joyent/node/commit/133036fdadbca1099cf1cf589987eea01236722e [02:57] jonaslund: hmm [02:58] jonaslund: node-fibers (fibers is the win api name for coroutines) [02:58] jonaslund: https://github.com/laverdet/node-fibers [02:59] vikstrous has joined the channel [03:00] kriszyp has joined the channel [03:01] carmony has joined the channel [03:01] kartmetal: hmm. I was expecting something that'd process the source JS into something else, a la narrative JS, but this actually mixes threads into v8, it seems [03:01] necrodearia has joined the channel [03:01] rhdoenges_ has joined the channel [03:02] jonaslund: I think there was support for this in early versions of node but it was deemed unstable or smth [03:03] socketio\test\87 has joined the channel [03:03] jonaslund: (I wasn't in here back then but i think it was in the changelog?) [03:04] McLeopold has joined the channel [03:05] Fandekasp has joined the channel [03:06] sourcode has joined the channel [03:07] McLeopold: I'm having trouble building nodejs on OSX Tiger. Can anyone here help? [03:07] jonaslund: http://groups.google.com/group/nodejs/msg/df199d233ff17efa [03:07] jonaslund: (Old message when the API changed) [03:07] McLeopold: I get a python error [03:08] McLeopold: the error is in wscript line 635: print "DEST_CPU: " + bld.env['DEST_CPU'] TypeError: cannot concatenate 'str' and 'list' objects [03:09] rhdoenges`: what's your python version? [03:09] McLeopold: 2.7 [03:09] McLeopold: I just upgraded from 2.3 [03:10] tmzt: wscript?? [03:10] McLeopold: I'm on a PPC G4 [03:12] pifantastic has joined the channel [03:12] jakob has joined the channel [03:13] xeodox has joined the channel [03:14] McLeopold: tmzt: yes, wscript, it's in the main node foldr [03:16] McLeopold: I'm on the v0.4 branch, if that makes a difference [03:16] jasong_at_apache has joined the channel [03:17] rhdoenges`: hmmmm [03:17] ecin has left the channel [03:17] rhdoenges`: bld.env[ [03:17] rhdoenges`: 'DEST_CPU'\ [03:17] rhdoenges`: *] [03:17] rhdoenges`: geez I need to stay away from my enter key [03:18] McLeopold: uh, is that a code change? [03:18] rhdoenges`: that is an absurd error. [03:18] rhdoenges`: does it print anything else at all? [03:18] mattstevens has joined the channel [03:18] captain_morgan has joined the channel [03:18] McLeopold: bld.end['DEST_CPU'] is a list [03:18] McLeopold: I guess I could wrap in in str(), just to see what it is [03:19] McLeopold: I was hoping someone has run into this before [03:19] McLeopold: DEST_OS: Darwin [03:19] rhdoenges`: hmm [03:20] wookiehangover has joined the channel [03:20] rhdoenges`: could you just toss `print bld.env['DEST_CPU'] ` in right before the line with the error? [03:20] rhdoenges`: just for investigative purposes [03:20] McLeopold: DEST_CPU is a blank list :( [03:21] caiges has joined the channel [03:21] hydrozen has joined the channel [03:22] rhdoenges`: whyyy is it a blank list? [03:23] rhdoenges`: this is so strange [03:23] rhdoenges`: well first of all using + is just a bad idea [03:23] rhdoenges`: but anyway. [03:24] McLeopold: true, but I fixed that, so, what should my DEST_CPU be? [03:25] rhdoenges`: lemme check on my build [03:26] nail_ has joined the channel [03:26] ditesh|cassini has joined the channel [03:27] optixx has joined the channel [03:27] McLeopold: Now that I think about it, I can't install chrome because of my OS and CPU, so, maybe I'm out of luck running V8 [03:28] rhdoenges`: well, mine's ia32 [03:28] rhdoenges`: wait [03:28] kartmetal: good point.. v8 relies on being able to generate asm opcodes for its target CPU.. I don't know if the G4 is supported. [03:28] rhdoenges`: are you running on powerpc? [03:29] rhdoenges`: yeah, you are -- it's a g4 [03:29] ckknight: anyone know of a javascript parser (in javascript) that produces an AST? [03:30] rhdoenges`: ckknight: UglifyJS [03:30] McLeopold: rhdoenges: thx for the help [03:30] rhdoenges`: McLeopold: "V8 does not currently support PowerPC [03:30] rhdoenges`: " [03:30] ckknight: rhdoenges`: ah, yes [03:30] rhdoenges`: that is what their website said [03:30] rhdoenges`: :'( [03:30] gregpascale has joined the channel [03:31] vipaca has joined the channel [03:31] vipaca has joined the channel [03:31] Nuck: Ugh [03:31] Nuck: Every time I solve one problem another pops up [03:33] vipaca: If I register two listeners for the 'data' event of ServerRequest what is the expected behavior? [03:34] Prometheus: Nuck: then would it not make sense to stop solving problems? =P [03:35] random123: What is a good way to go multi-server with Node? [03:35] vipaca: Rather what is the expected bahvior when this event fires? Will both register callbacks be inoked? [03:35] Nuck: Prometheus: But I need to :( [03:35] random123: Like if you have a server overloaded [03:35] Nuck: I'd just rather be doing it in a language I know. [03:35] Nuck: random123: load balancers [03:36] vipaca: Or will there be some kinda non-deterministic behavior where at least one listener is triggered? [03:36] hij1nx has joined the channel [03:36] wavded has joined the channel [03:37] vipaca: ACTION yawns [03:37] sub_pop has joined the channel [03:37] wavded has left the channel [03:38] random123: Nuck: What if you are using something like Socket.io and you are associating specific information with specific clients in memory on that machine, like running a chat server and users are across multiple servers, would you have to then use load balancer, but if it goes to the wrong machine and that users socket is on another machine proxy the request or? [03:39] random123: Forget socket.io, not important, but real time communication in general, where you don't want to put that information in a database, you just want to keep it in memory so you can push it to X client faster [03:39] Nuck: memcaching? [03:39] Prometheus: random123: 1. use load balancer, 2. use redis for state [03:39] Prometheus: for example [03:39] Spion_ has joined the channel [03:40] Prometheus: redis = global shared memory =P [03:40] AvianFlu has joined the channel [03:40] random123: Ahh.. the answer to my prayers, ty [03:41] rhdoenges`: redis is the bestest [03:43] benjaminRRR has joined the channel [03:43] Prometheus: clients are a bit annoying [03:46] necrodearia has joined the channel [03:48] mscdex: any windows dev gurus around? [03:49] mykul has joined the channel [03:53] Kami_ has joined the channel [03:54] dgathright has joined the channel [03:54] forzan has joined the channel [04:00] piscisaureus has joined the channel [04:03] mraleph has joined the channel [04:04] ngs has joined the channel [04:05] cnu_ has joined the channel [04:05] gregpascale has joined the channel [04:05] AvianFlu has joined the channel [04:09] randal has joined the channel [04:12] wookiehangover has joined the channel [04:17] yhahn has joined the channel [04:17] Remoun has joined the channel [04:19] Remoun_ has joined the channel [04:20] skm has joined the channel [04:21] Stephen has joined the channel [04:21] Stephen: And he's back [04:22] AvianFlu has joined the channel [04:23] Xeon06_ has joined the channel [04:23] cjm has joined the channel [04:24] raj has joined the channel [04:24] skm has joined the channel [04:25] wookiehangover has joined the channel [04:25] benjaminRRR has joined the channel [04:26] wookiehangover has joined the channel [04:26] Xano has joined the channel [04:32] skm has joined the channel [04:33] Nexxy has joined the channel [04:35] tayy_ has joined the channel [04:36] jakehow has joined the channel [04:37] rwaldron has joined the channel [04:38] sebbel has joined the channel [04:39] sebbel: hey [04:39] hippich has joined the channel [04:39] hippich has joined the channel [04:42] Corren has joined the channel [04:44] beriberikix: grrr, does anyone know how to decrypt a npm-debug.log? [04:45] skm has joined the channel [04:46] AvianFlu: decrypt? you mean 'understand'? [04:47] beriberikix: exactly [04:47] skm has joined the channel [04:48] rurufufuss has joined the channel [04:48] beriberikix: I'm trying to install a package on cygwin and npm is not happy [04:49] Peniar has joined the channel [04:49] blakmatrix has left the channel [04:49] blakmatrix has joined the channel [04:50] beriberikix: I'm getting Error: EACCES, Permission denied, though it should have access [04:50] devaholic: can you update npm? [04:50] devaholic: btw, npm has been having problems today so ive heard [04:50] beriberikix: npm config set unsafe-perm true lets it install, but then it install random packages with unmet dependencies [04:51] devaholic: it might not be you [04:51] beriberikix: devaholic: ah, thanks for the info [04:51] devaholic: if you need to get something done, suggest searching on npm and cloning repos [04:55] cjm has joined the channel [05:01] skm has joined the channel [05:10] Mallioch has joined the channel [05:11] Mallioch: sup? [05:11] ryanfitz has joined the channel [05:12] jacobolus has joined the channel [05:13] Mallioch: Has anybody gotten the 0.5.1 windows build and socket.io to run on win7? [05:15] kawaz_air has joined the channel [05:17] trentm has joined the channel [05:17] AvianFlu has joined the channel [05:18] devaholic: can anyone speak to the confidence of parsing with require('url')? are there tests somewhere for it? [05:20] Mallioch: does anyone know if there are plans for a windows build of npm to go along with the server builds? [05:22] Spion has joined the channel [05:22] AvianFlu: Mallioch: late in 0.5.x, I hear [05:23] AvianFlu: 0.6.x will be the 'stable' version that has windows support [05:23] AvianFlu: (UNIX versioning) [05:23] Mallioch: I see. Good to know. [05:28] ssam has joined the channel [05:32] creationix has joined the channel [05:32] creationix: any v8 people around? [05:33] secoif has joined the channel [05:33] anatoo has joined the channel [05:35] creationix: Trying to figure out a way to tell is an object coming from JS was created by a certain ObjectTemplate [05:37] AvianFlu_ has joined the channel [05:37] sivy has joined the channel [05:38] towski has joined the channel [05:39] joshfng has joined the channel [05:44] stephank has joined the channel [05:47] mendel_ has joined the channel [05:48] mendel_ has joined the channel [05:48] skm has joined the channel [05:48] secoif: hey i'm trying to create an npm module, clearly need to test it out before publishing, but when I say npm link, it's like "can't find xxx in npm repo" [05:50] mikeal has joined the channel [05:50] ngs has joined the channel [05:50] necrodearia has joined the channel [05:50] Nuck: Yay! Finally got ChiliProject up and running [05:51] ditesh|cassini has joined the channel [05:51] towski has joined the channel [05:54] devaholic: secoif: try tomorrow [05:55] vyvea has joined the channel [05:58] lmorchard has joined the channel [05:59] donald_cook has joined the channel [05:59] pen has joined the channel [06:02] Viehzeug has joined the channel [06:03] mikeal has joined the channel [06:04] SamuraiJack has joined the channel [06:05] mange has joined the channel [06:07] zilch_ has joined the channel [06:07] secoif: devaholic ??? [06:07] Nexxy has joined the channel [06:08] kawaz_air has joined the channel [06:08] SubStack: holy balls at least ~0.5% of san francisco has a github account [06:09] chicmome has left the channel [06:09] SubStack: https://github.com/search?type=Users&language=&q=location%3Asan%2Bfrancisco&repo=&langOverride=&x=0&y=0&start_value=1 [06:09] harthur has joined the channel [06:09] SubStack: .. 4002 / 805235 * 100 [06:09] catb0t: 130.49699777083708485 [06:10] mnaser has joined the channel [06:11] bnoguchi has joined the channel [06:12] guest_435 has joined the channel [06:12] ssam has left the channel [06:13] andree has joined the channel [06:14] bosky101 has joined the channel [06:15] threecreepio has joined the channel [06:16] chrisdickinson: SubStack: sorry for bugging you re: bunker/burrito so much lately, but I found another discrepancy [06:16] chrisdickinson: i'm trying to add them in as test cases for burrito as I find them [06:17] muhqu has joined the channel [06:17] templaedhel has joined the channel [06:18] secoif: how do I tell npm I have an executable I want it to install? [06:18] secoif: have a /bin folder or something? [06:18] templaedhel: Hello. I am tryng to parse a POST request with Content-type: application/json and formidable doesn't handle that. Any suggestions? [06:18] secoif: * ./bin [06:19] SubStack: secoif: npm help json [06:19] SubStack: the bin field is what you're looking for [06:19] secoif: SubStack ah, easy. thanks [06:20] vikstrous has joined the channel [06:20] unlink has joined the channel [06:20] unlink has joined the channel [06:21] Nexxy has joined the channel [06:21] Nexxy has joined the channel [06:22] hij1nx has joined the channel [06:25] mike5w3c_ has joined the channel [06:26] sub_pop has joined the channel [06:26] ack has joined the channel [06:26] mytrile has joined the channel [06:27] stalled has joined the channel [06:27] mykul has joined the channel [06:28] christophsturm has joined the channel [06:30] donald_cook has joined the channel [06:33] Youdaman has joined the channel [06:33] Youdaman: ACTION waves [06:33] mikl has joined the channel [06:33] mikl has joined the channel [06:34] ParadoxQuine has joined the channel [06:35] mikedeboer has joined the channel [06:40] slajax1 has joined the channel [06:41] fille has joined the channel [06:41] jborst has joined the channel [06:41] AAA_awright: Is there a quick guide to parsing urlencoded POST data? [06:43] jelveh has joined the channel [06:43] mikedeboer has joined the channel [06:44] groom has joined the channel [06:44] StepanKuzmin has joined the channel [06:44] templaedhel: AAA_awright use formidible [06:44] templaedhel: *01 formidable01 [06:45] mykul|Home has joined the channel [06:46] AAA_awright: templaedhel: I tried that once for multipart/form-data data but the API was just awful [06:46] templaedhel: AAA_awright What would you like for an API [06:47] templaedhel: You make a callback, and one of the arguemnts is an object of key value pairs of form fields, seems about right. [06:48] cnu_ has joined the channel [06:48] `3rdEden has joined the channel [06:49] AAA_awright: Actually the problem was I need access to an Array of the fields in the order they were posted, /allowing for repeated names/ [06:50] templaedhel: AAA_awright Are repeated names even valid html? [06:51] AAA_awright: names yes, id no [06:51] templaedhel: I didn't know that worked. [06:51] templaedhel: I'm trying to think of other languages, and allowing for repeated field names [06:51] AAA_awright: Actually that's how browsers urlencode it will POST or GET field=first&field=second [06:52] balaa has joined the channel [06:52] chjj: this v8 vegetable juice tastes nothing like javascript [06:52] chjj: nor does it taste like an engine [06:52] chjj: ... [06:53] ccare has joined the channel [06:53] AAA_awright: templaedhel: querystring.parse returns an Array of each of the values in that case, when I tried it formidable did not [06:54] AAA_awright: ACTION checks the source again [06:55] fille: greate the fire alarm @work [06:56] AAA_awright: Lock your desktop! [06:56] Nuck: Close your porn! [06:56] fille: :D [06:56] AAA_awright: Well, lock the screen, same thing [06:56] fille: im stuck here with vaadin and lifray [06:56] AAA_awright: Yes that too! [06:57] AAA_awright: Oh yeah that's right, formidable sends events for each field [06:57] fille: i whant to contribute to a open source project, but i guess i can only contribute with shit [06:57] corytheboyd has joined the channel [06:58] stalled has joined the channel [06:58] Nuck: fille: Everybody shits. [06:58] Nuck: Or so I hear. [06:58] fille: :D [06:58] Nuck: All I know is that when I push hard, a yacht pops out my ass [06:58] Nuck: Does that make me better? Who knows. [06:58] Nuck: I think it does. [06:59] fille: lol, i read the CNode.js [06:59] fille: got to be a joke [06:59] Nuck: cnode.js? [06:59] fille: rya Twitt [06:59] chjj: huh? [06:59] fille: http://cnodejs.org/blog/?page_id=849 [06:59] mikeal has joined the channel [07:00] mykul has joined the channel [07:00] chjj: ... [07:00] jbpros has joined the channel [07:00] chjj: what is that? [07:00] chjj: lol [07:01] fille: ryah latest twitt. man we need to do something about those chines people [07:01] fille: they are taking over the world [07:02] secoif has joined the channel [07:02] chjj: but i dont get it, whats with that shirt? [07:02] chjj: making a joke about the logo? [07:02] fille: well they put a fuckin C in fron of the node.js logo [07:03] chjj: i see that [07:03] fille: thats no bothering you? [07:03] chjj: i dont get it [07:03] mape: "force to be reckoned with" ? [07:03] chjj: i have no idea whats going on, i dont speak chinese [07:03] mape: china node.js ? [07:03] fille: i understand why we changed the node.js logo [07:03] mape: cnode.js [07:03] Nuck: chjj: I'm the same right now [07:04] fille: well i will take the coca-cola logo and put an F in front of it [07:04] Nuck: They're a chinese community about Node [07:05] fille: i love the creativity [07:05] Nuck: CNodeJS.ORG cool T-shirt [07:05] Nuck: CNodeJS.ORG cool special limited edition T-shirt, black, present some yardage: Men (XXL, XL, L), Women (L) [07:05] Nuck: lol [07:05] Nuck: "present some yardage" [07:06] Nuck: And they don't explain the shirt well, at least not in the machine translation of it D: [07:06] fille: :D [07:07] fille: nuck do u twitt? [07:08] guidocalvano has joined the channel [07:08] towski has joined the channel [07:08] dd has joined the channel [07:08] Nuck: fille: I twat. [07:08] Nuck: @NuckChorris [07:08] fille: thansk! [07:09] Nuck: your welocme. [07:09] fille: french? [07:09] Nuck: fille: eh? [07:10] royh: Nuck: lol... it is evented, async and non-blocking though. I found it hillarious! :P [07:11] fille: Modesto, CA ? [07:11] Nuck: Ayup [07:11] Nuck: royh: But... WHAT? [07:12] Nuck: Who said "I'm gonna make a Chinese Node.js community, take their logo, slap a C in front, then make a shirt for this community promintently featuring an illustration of a man and a woman having sex doggystyle" [07:13] temp01 has joined the channel [07:13] royh: Nuck: does it have to make sense? [07:14] jacobolus has joined the channel [07:14] fille: well they got the old logo anyway [07:15] djcoin has joined the channel [07:16] royh: so the issue here is they made a community around nodejs and didn't take the time to come up with a creative enough logo? [07:16] versicolor has joined the channel [07:16] fille: i dident put the TM on the logo [07:17] Nuck: Who's that on the front page? [07:17] Nuck: http://cnodejs.org/slider-images/banner2.gif [07:17] Nuck: lol [07:18] pigmej has joined the channel [07:18] gausby has joined the channel [07:18] mrtrosen has joined the channel [07:21] mscdex: windows development = fuuuuuuuuuuuuuu [07:21] corytheboyd has left the channel [07:22] fille: System.out.println................ [07:22] systemfault: mscdex: Coming from someone with mscdex as nickname :/ [07:23] systemfault: I would have expected a Microsoft tatoo on the chest [07:23] fille: dont se the M$ as a problem. [07:23] PhilK has joined the channel [07:23] systemfault: Neither I. [07:23] sgimeno has joined the channel [07:24] fostah has joined the channel [07:24] fille: apple is a shit company, they dosent contribute to global community at all [07:24] systemfault: What? [07:24] fille: :D [07:24] systemfault: ... [07:24] jonaslund: apperantly apple is more like "contribute eventually" [07:25] systemfault: What a load of bullshit. [07:25] systemfault: Webkit... clang... [07:25] jonaslund: although isn't the current webkit apple based ? [07:25] systemfault: llvm [07:25] fille: sorry, im just tierd of apple ... [07:25] rauchg has joined the channel [07:25] slajax has joined the channel [07:25] systemfault: Apple, love the hardware.. hate the company. [07:26] jonaslund: systemfault: although, apperantly much of apples contributions are big drops and not open commits [07:26] SubStack: I hate it when big corps do that [07:26] brainproxy: I'm thinking of moving may day to day laptop dev environment to ubuntu; I do all my node.js stuff in linux virtual machines anyway; but I'll keep the mb pro for creative suite and stuff like final cut [07:26] systemfault: jonaslund: That's false, I even know people who contribute. [07:26] systemfault: To clang at least... [07:27] fille: im using ubuntu at home. its okej, just sad about the optimus [07:27] systemfault: And the guys on OFTC are very nice [07:27] azeroth_ has joined the channel [07:27] systemfault: (The llvm official channel is on oftc) [07:27] brainproxy: #linode is there too, great place to ask questions related to linux hosting [07:29] [AD]Turbo has joined the channel [07:29] systemfault: There's a lot of FUD about Apple contributions because they don't like the GPL. [07:30] pdelgallego has joined the channel [07:31] Prometheus: systemfault: big companies tend to take a lot of flak unrightfully =) [07:31] kmox83 has joined the channel [07:31] SubStack: ok now getting this crazy testing shit off the ground [07:31] Prometheus: so nothing new there [07:31] Prometheus: s/take/receive [07:31] jensn has joined the channel [07:31] TheJH has joined the channel [07:32] bosky101 has joined the channel [07:32] sourcode has joined the channel [07:34] neoesque has joined the channel [07:34] mikl has joined the channel [07:34] mikl has joined the channel [07:35] kawaz_air has joined the channel [07:38] herbySk has joined the channel [07:40] KingJamool has joined the channel [07:42] tbassetto has joined the channel [07:43] thriple has joined the channel [07:43] seawise has joined the channel [07:44] seawise_ has joined the channel [07:44] kawaz_air has joined the channel [07:44] robhawkes has joined the channel [07:45] mraleph has joined the channel [07:45] mscdex: node.js rules! [07:45] seawise has joined the channel [07:48] Prometheus: yessir [07:48] seivan has joined the channel [07:48] seivan: Nodeko people? [07:49] tuhoojabotti: \o/ [07:49] Nuck: I wanted to do node KO, but I'm too busy :P [07:49] tuhoojabotti: nodecon [07:50] NetRoY has joined the channel [07:52] TomY has joined the channel [07:52] Youdaman has left the channel [07:52] bergie has joined the channel [07:53] seawise_ has joined the channel [07:53] Druide_ has joined the channel [07:55] [AD]Turbo: hi there [07:56] tuhoojabotti: Hello [AD]Turbo. [07:58] mikl has joined the channel [07:58] mikl has joined the channel [07:58] mikedeboer has joined the channel [07:59] seawise has joined the channel [07:59] markwubben has joined the channel [08:00] loveshine has joined the channel [08:00] loveshine: any familiar with apricot? [08:00] loveshine: i'm having trouble accessing the .innerText property [08:01] __tosh has joined the channel [08:03] tonymilne has left the channel [08:03] Nuck: Nothing beats coding at 1AM while listening to Gogol Bordello. [08:03] tuhoojabotti: Nuck: Stop advertizing that. [08:03] tuhoojabotti: :E [08:04] whitman has joined the channel [08:04] Nuck: tuhoojabotti: What kind of face is :E? [08:04] tuhoojabotti: E: [08:04] Nuck: :3 [08:05] Prometheus: :@ [08:05] tuhoojabotti: :O) [08:05] Prometheus: client work, I hates it :) [08:05] Nuck: tuhoojabotti: lol fat man blowjob [08:05] Nuck: oh hey it's thursday [08:05] Prometheus: Nuck: wild imagination you have =P [08:05] simfa has joined the channel [08:05] Prometheus: yes it is [08:05] simfa has left the channel [08:05] Prometheus: ~4 am [08:05] Nuck: Prometheus: It's what :O) looks like to me [08:05] tuhoojabotti: It's 11:05 [08:05] Nuck: Prometheus: Only 1 AM here [08:05] Prometheus: lies, it's 4 am [08:05] tuhoojabotti: AM [08:05] tuhoojabotti: :P [08:06] Nuck: Who gives a fuck about anywhere except California? [08:06] Nuck: We have Silicon Valley [08:06] Prometheus: $ python -c "import datetime; print datetime.datetime.utcnow()" = 2011-07-21 08:06:16.894593 [08:06] Nuck: You folks might as well not exsit :P [08:06] SubStack: except for silicon valley sucks :p [08:06] igl: california über alles [08:06] SubStack: everything south of millbrae can fuck off [08:07] Nuck: SubStack: Everything East of BART can fuck off too :V [08:07] Nuck: Fuck Modesto. [08:07] jesusabdullah: It's true! [08:07] Nuck: This city is a horrible red splotch on this state. [08:07] jesusabdullah: red? [08:07] jesusabdullah: Why are all the buildings red? [08:07] SubStack: bart will probably reach modesto in a few years at the rate it's going [08:07] Nuck: yeah, Republican [08:07] jesusabdullah: OHHHHHH [08:07] Nuck: SubStack: Nah, we're gonna be reached by the statewide light rail [08:07] jacobolus has joined the channel [08:08] ParadoxQuine has joined the channel [08:08] tuhoojabotti: Hmm [08:08] andree has joined the channel [08:08] Prometheus: did that bot die again? -_- [08:08] Nuck: Prometheus: v8bot? [08:08] Prometheus: yessir [08:08] Nuck: It's been down for days [08:08] tuhoojabotti: Is the socket.io.js same in the server and the web page? [08:08] Prometheus: or is it just having a nap? [08:08] emattias has joined the channel [08:08] Nuck: catb0t is filling in [08:08] Prometheus: oh [08:08] Prometheus: how does catb0t work? [08:09] Nuck: catb0t: return true; [08:09] SubStack: .. var sum = 0; for (var i = 0; i < 10; i++) sum += i; sum [08:09] catb0t: 1345 [08:09] tuhoojabotti: Badly. [08:09] Prometheus: ACTION pokes catb0t [08:09] Nuck: Oh right it's .. [08:09] tuhoojabotti: tuhoojabotti++ [08:09] catb0t: tuhoojabotti now has 2 beers [08:09] AAA_awright: Nuck: :E represents a sort of petrified horror to me [08:09] tuhoojabotti: See? [08:09] AAA_awright: Or ackwardness [08:09] Prometheus: .. new Date().toUTCString() [08:09] tuhoojabotti: :O) is clearly pig face. [08:09] catb0t: 03'Thu, 21 Jul 2011 08:09:31 GMT' [08:09] Prometheus: thar [08:09] Nuck: AAA_awright: Looks like a british man to me [08:09] tuhoojabotti: :DD [08:09] Nuck: With sonky teeth [08:10] Prometheus: :F [08:10] Prometheus: anywya. [08:10] AAA_awright: Or a sort of affectionite horrow [08:10] zackattack has joined the channel [08:10] Aiden has joined the channel [08:11] AAA_awright: Like maybe "My girlfriend asked me if I have a duct tape fetish :E" [08:11] sfoster has joined the channel [08:11] Nuck: AAA_awright: This from experience? [08:11] tuhoojabotti: :D [08:11] AAA_awright: Sadly no [08:11] Nuck: lol [08:11] tuhoojabotti: Then what about E:? [08:12] AAA_awright: templaedhel: Same thing but with a massive overbite [08:12] tuhoojabotti: lol. [08:12] tuhoojabotti: Fail-complete. [08:12] AAA_awright: >_< [08:12] AAA_awright: Wiw [08:13] AAA_awright: tuhoojabotti: ^ [08:13] AAA_awright: Bah I'm not typing well today [08:13] tuhoojabotti: Ye, I got that. [08:13] AAA_awright: Just for the record,. [08:13] tuhoojabotti: What happens on #Node.js, stays on #Node.js [08:13] thriple: stupid question but: what does it mean to require something? Can I just think of it like concatenating it to the top of whatever code I am writing? [08:14] igl: nope [08:14] tuhoojabotti: It's not include ":D" [08:15] Ezku\: thriple: when you require something, you get an object representing whatever the target script has exported [08:15] igl: thriple: you load a module, which itself exports the properties/functions you want it to export to outside [08:15] ckknight has joined the channel [08:15] thriple: Ezku: so its like a singleton of the required object? [08:16] thriple: igl: private object and some methods are made public by 'export'ing them" [08:16] adrianmg has joined the channel [08:16] thriple: : [08:18] akiva has joined the channel [08:18] `3rdEden has joined the channel [08:18] aliem has joined the channel [08:19] confoocious has joined the channel [08:19] confoocious has joined the channel [08:19] cjm has joined the channel [08:19] Aiden has joined the channel [08:19] Swizec has joined the channel [08:20] hellp has joined the channel [08:22] Nuck: How would I go about keeping a temporary folder :slow: [08:22] Nuck: I want to have user uploads and such [08:22] Nuck: But I'm not sure how often to clean it, etc. [08:23] Nuck: I assume doing a timer per upload would be bad [08:23] AAA_awright: Do you need to store it as a file? [08:23] AAA_awright: Nuck: Or just go the Flash route, create a tempfile, unlink it, but keep the file pointer around so it's still on disk [08:23] Nuck: huh? [08:24] Nuck: That's an interesting thing, how do I do that? [08:24] Nuck: AAA_awright: Any example for that? [08:24] AAA_awright: Alright there's two ways I know of, first of is mktmp [08:24] Nuck: It needs to be written to the proper location after a while [08:24] AAA_awright: or mktemp system call [08:24] Nuck: hmm [08:25] AAA_awright: Nuck: It's also possible to create a file, unlink it, but keep the file descriptor around and continue to write to it, that's actually valid to do [08:25] pgte has joined the channel [08:25] AAA_awright: Node.js does not appear to have http://linux.die.net/man/1/mktemp [08:25] Nuck: The thing is, I'm taking uploads as a raw bytestream lodged into an HTTP POST [08:26] Nuck: So I pipe to a file [08:26] Nuck: Can I still do that? [08:26] AAA_awright: Should work [08:26] hassox has joined the channel [08:26] AAA_awright: If you want a filename later you should be able to create a new hardlink [08:26] Nuck: I'm not a linux person, I'm afraid I don't know what you mean by hardlink [08:27] Nuck: AAA_awright: I'm sure there's an mktemp in npm :P [08:27] AAA_awright: Nuck: Probably [08:28] AAA_awright: Nuck: A file is really just a pointer to hard disk space, and if you have a hardlink to a file, they appear as two files with different permissions and filenames and everything, but the contents point to the same location on disk [08:28] AAA_awright: So if you hardlink to a file, it's creating a new filename reference [08:28] AAA_awright: I presume you can hardlink to a file on disk with zero references [08:28] AAA_awright: and create a normal file [08:28] AAA_awright: Nuck: This is as opposed to a symlink which is just a pointer to another filename [08:29] Nuck: https://github.com/bruce/node-temp [08:29] AAA_awright: Best to google it, or "man ln" [08:29] AAA_awright: Like so http://linux.die.net/man/1/ln [08:30] AAA_awright: http://linux.die.net/man/2/link is the command that hardlinks [08:30] AAA_awright: unlink(2) - delete a name and possibly the file it refers to [08:31] AAA_awright: Note "possibly" the file it refers to [08:31] Nuck: fs.link(srcpath, dstpath, [callback]) [08:31] skohorn has joined the channel [08:31] eldios has joined the channel [08:32] AAA_awright: Nuck: What exactly do you have in mind, I suppose once you accept the upload you want to relocate it over the network to a static file server right? [08:32] Nuck: Somebody make me a module that provides mktemp [08:33] Nuck: AAA_awright: I was talking to my host and he told me that can be dealt with using a regular directory [08:33] Nuck: And a network fs I assume [08:33] akiva has joined the channel [08:34] Nuck: AAA_awright: But yes, it wil end up on a static file server [08:34] Aiden has joined the channel [08:34] narayan82 has joined the channel [08:34] AAA_awright: And you want to thumbnail/scale/recompress some of the files too [08:35] AAA_awright: That can be done on the static server as a slave process I guess [08:35] AAA_awright: Nuck: Yeah maybe nfs would be easiest, otherwise you're programming for sftp [08:36] Nuck: my host is a smart man [08:36] Nuck: He's yet to lead me wrong :P [08:36] AAA_awright: He can probably offer more relevant advice than I can [08:37] Nuck: lol [08:37] Nuck: I didn't think about thumbnailing though :S [08:37] akiva has joined the channel [08:39] AAA_awright: I imagine you have a local database of all the images, and you query it "Hey which server are you on" and it replies back "I'm on a.static.example.com" and it has a simple API, and you say "Hey make sure you have thumbnailed this upload" and if not it adds it to a queue, maybe sends a callback once the process is done [08:39] AAA_awright: More Node.js server but it can't be that complex, right? :p [08:40] Nuck: Or I could just use a distributed setup :P [08:40] Nuck: Actually, how WOULD I do thumbs in Node? [08:40] AAA_awright: That's exactly what I have in mind [08:40] AAA_awright: If you had multiple static file servers, they can all do their own thumbnails [08:40] Nuck: I mean I'd just thumb it on submit [08:40] AAA_awright: Nuck: Probably delegate out to imagemagick [08:40] Nuck: And then shove it to a fileserver [08:41] Nuck: I'll hafta brose NPM [08:41] AAA_awright: Transfer the image to the static server, and have it do the scale locally when it's not over load [08:41] Nuck: Well, it may get requested quickly [08:41] Nuck: I expect I can delegate the task elsewhere later on [08:43] `3rdEden has joined the channel [08:43] AAA_awright: child_process.exec("convert", ["incomingfile","-resize","100x100",outgoingthumbnail]) [08:44] AAA_awright: And a callback somewhere in there [08:44] devaholic: its pretty trivial to resize an image in javascript guys [08:44] Nuck: imagemagick is pretty heavy TBH [08:44] blup has joined the channel [08:44] AAA_awright: Though maybe someone ported imagemagick to Node.js... [08:44] Nuck: devaholicOn the server? [08:44] AAA_awright: Or something lighter [08:44] devaholic: it doesnt matter where [08:44] devaholic: ... [08:44] Jippi has joined the channel [08:45] Nuck: devaholic: How? [08:45] Nuck: There are no canvases on the Server, AFAIK. [08:45] AAA_awright: I think there is [08:45] AAA_awright: I was going to use one to use a client-side plotting library to render a plot server-side if necessary [08:46] SubStack: rawk [08:46] AAA_awright: But you still have to muck around with resolution and output format and whatnot... convert is pretty simple, -resize 320x320 and done. [08:46] SubStack: AAA_awright: use mrcolor! [08:46] SubStack: for the colors [08:46] devaholic: then use phantomjs if you have to, but it cannot be that difficult [08:46] AAA_awright: Woa that's way overkill [08:47] AAA_awright: SubStack: Looks... colorful [08:47] SubStack: not overkill at all [08:47] Nuck: SubStack: You, how should I scale images on the server? [08:47] SubStack: it just does colors, you know? [08:47] AAA_awright: SubStack: Oh very cool [08:47] Nuck: You're the smart one. [08:47] SubStack: for when you want some colors [08:47] AAA_awright: No not SubStack [08:47] Nuck: I'm sure you've made 3 libs for that exact purpose [08:47] SubStack: ah phantomjs I see [08:47] AAA_awright: devaholic: Phantomjs is a bit overkill for resizing an image with canvas [08:47] mytrile has joined the channel [08:48] AAA_awright: SubStack: Looks like just what I need for generating a list of colors [08:48] SubStack: Nuck: raphael writes svgs [08:48] SubStack: those are good for scaling [08:48] SubStack: svgs are web scale [08:48] Nuck: damnit [08:48] Nuck: SubStack: I should've expected that [08:48] Nuck: Holy shit no kidding that PhantomJS is overkill [08:48] igl: Nuck: https://github.com/joyent/node/wiki/modules#graphics [08:48] AAA_awright: SubStack: But how about this, I'm writing an IRC client and I want to pick colors that are as far apart as possible, weighted by how often each color is used. The two most talkative people, maybe, should be polar opposites. [08:49] igl: a whole graphics sections [08:49] Nuck: igl: Oh right, I forgot that page existed LMAO [08:49] AAA_awright: Also maybe that's a bad idea because I'm learning all the colors of everyone, I can see across the room and see this lilac color and it's either SubStack or Nuck [08:50] Nuck: what [08:50] AAA_awright: depending on length [08:50] Nuck: Colors of people? [08:50] AAA_awright: Nuck: How your nickname is colored in my current client [08:50] SubStack: racism [08:50] devaholic: ACTION sighs [08:50] Nuck: AAA_awright: Blame your client, I'm white. [08:51] igl: AAA_awright: you are bordeaux red [08:51] admc has joined the channel [08:51] Nuck: ACTION grumps [08:51] steffkes has joined the channel [08:51] AAA_awright: I appear colorless black being myself, I wonder what color I would be though [08:51] Nuck: There are seriously no libraries SPECIFICALLY for scaling pics [08:51] AAA_awright: Actually I think it's light green [08:52] Nuck: WTF [08:52] AAA_awright: Nuck: I can't find any either [08:52] SubStack: Nuck: raster pics or what? [08:52] tuhoojabotti: Satined dark smoke [08:52] Nuck: SubStack: Just PNG, JPEG, GIF [08:52] jonaslund: v8: "helo" [08:52] AAA_awright: Oh that's another good point... What if people upload SVG or otherwise? [08:52] devaholic: Nuck: try looking *inside* phantomjs [08:52] AAA_awright: Maybe you want to support that [08:52] Nuck: I want something to generate a PNG from it [08:52] SubStack: Nuck: gd and imagemagick can do that [08:52] jonaslund: where's v8bot ? [08:52] Nuck: AAA_awright: I tell them "Meh, fuck that noise" [08:52] tuhoojabotti: jonaslund: Dead :E [08:52] SubStack: there's a connect-image-resizer too [08:52] tuhoojabotti: jonaslund: Try catb0t with .. [08:52] SubStack: good for thumbnails [08:53] devaholic: or just fucking search npm [08:53] Nuck: SubStack: Connect-image-resizer is based on imagick IIRC [08:53] jonaslund: tuhoojabotti: i'll start a shell i guess [08:53] AAA_awright: devaholic: phantomjs just takes a screenshot of a web browser render right? [08:53] devaholic: but sending it out to a cdn and back just for an image resize is ridiculous, imo [08:53] AAA_awright: That's a lot of overhead [08:53] devaholic: just utfg [08:53] AAA_awright: SubStack: Is that weighted for biases in our ability to see green vs. red? [08:54] Nuck: AAA_awright: No, it'd be a Canvas tag moreso [08:54] HelloWorld has joined the channel [08:54] HelloWorld: how can i print anything as text, array, json anykind of objects? [08:54] Nuck: ah no image resizer is gm [08:54] aron_ has joined the channel [08:54] Nuck: devaholic: There aren't any lightweight image resizers in NPM [08:54] Nuck: Trust me, I looked [08:54] igl: HelloWorld: JSON.stringify(obj) [08:54] Nuck: I was hoping to avoid imagemagick or gd [08:54] Nuck: But I guess I'm stuck [08:55] tuhoojabotti: Nuck: Why? :u [08:55] AAA_awright: HelloWorld: Or util.inspect [08:55] Nuck: tuhoojabotti: They're heavier than I'd like [08:55] tuhoojabotti: Write your own then. :) [08:55] Nuck: ImageMagick isn't known for speed. [08:55] AAA_awright: But not at runtime? [08:55] SubStack: how much mass can you carry? [08:55] Nuck: tuhoojabotti: I don't know C.* [08:55] AAA_awright: Well this is true [08:55] jvduf has joined the channel [08:55] seivan_ has joined the channel [08:56] Nuck: SubStack: Enough to get WikiMedia discouraging use of it on MediaWiki installs. [08:56] tuhoojabotti: Nuck: Download some light resize binary? :P [08:56] Nuck: tuhoojabotti: lol I'll probably end up using imagemagick, graphicmagick, or gd. [08:56] AAA_awright: There's probably a number of format-specific programs around there [08:56] tuhoojabotti: Use DLLs! [08:56] tuhoojabotti: Yeah. [08:57] HelloWorld: alert(JSON.stringify(data)); [08:57] HelloWorld: ? [08:57] Nuck: HelloWorld: Never use alert() for debugging [08:57] Nuck: Always use console.log [08:57] HelloWorld: what should i use then? [08:57] HelloWorld: ah [08:57] HelloWorld: that turns up in the firebug console thing? [08:57] tuhoojabotti: Nuck: Alertz<3 [08:57] Nuck: HelloWorld: On web pages [08:57] Nuck: Yes [08:58] Nuck: On Node, it shows up in the console [08:58] Nuck: In Chrome, it's the debugger, in IR8+, it's in the Web Dev panel [08:58] Nuck: IE [08:58] tuhoojabotti: Nuck: http://ssssnakes.com/smoke/ :D [08:58] HelloWorld: where does it show in the bowser?, console.log [08:58] Shrink has joined the channel [08:59] TheJH: HelloWorld, depends on the browser [08:59] gausby has joined the channel [08:59] AAA_awright: https://github.com/LearnBoost/node-canvas/blob/master/examples/resize.js [08:59] Nuck: HelloWorld: It shows up in the Firebug Console [08:59] Nuck: (if you have Firefox + Firebug) [08:59] markwubben has joined the channel [09:00] Nuck: AAA_awright: Ooooh nice! [09:00] Nuck: Does jsperf support Node? [09:00] romainhuet has joined the channel [09:01] Nuck: I need to benchmark that canvas simulation versus imagemagick versus graphicmagick versus gd [09:02] Utkarsh has joined the channel [09:04] loveshine: is there a module that takes html entities like < and converts them to require('ent').decode('<περ>') [09:12] SubStack: '<περ>' [09:13] altamic has joined the channel [09:13] SubStack: numbers too [09:13] loveshine: thank you [09:13] SubStack: hex numbers even [09:13] christophsturm has joined the channel [09:13] Nuck: SubStack: As always, a module well done. [09:16] zemanel has joined the channel [09:18] Nuck: AAA_awright: Oh hey, that canvas thing is by tj [09:20] AAA_awright: Nuck: Oh hey. Or at least those commits, where's the author overview [09:20] Nuck: well yeah [09:20] Nuck: visionmedia (author) [09:20] Nuck: seems like it's his stuff [09:21] bnoguchi has joined the channel [09:21] AAA_awright: Yeah vast majority https://github.com/LearnBoost/node-canvas/graphs/impact [09:22] Nuck: AAA_awright: That chart is fucking awesome. [09:23] Nuck: I didn't even realize tj worked at LearnBoost [09:23] AAA_awright: Neither did I [09:23] kay_k has joined the channel [09:23] Nuck: lol I bet my mom would give anything to have her district adopt LearnBoost [09:23] AAA_awright: Is that correct? [09:23] Nuck: They [09:23] Nuck: They use some retarded old thing called DataDirector still [09:23] Nuck: AAA_awright: He does [09:23] Nuck: I checked their About page on learnboost's site [09:24] Nuck: "TJ is the brainchild of some popular open source projects on GitHub. But he’s more than an amazing developer and a funny guy: he’s also a part time zookeeper, with multiple pets that are part of his home." [09:24] Nuck: lolwat [09:24] AAA_awright: Link? [09:24] Nuck: http://blog.learnboost.com/about/ [09:25] AAA_awright: Is anyone using python2.7 to compile Node.js? [09:25] AAA_awright: I'm getting some SyntaxError [09:25] Nuck: I'm on 0.4.8 [09:25] Nuck: I haven't updated in a while [09:25] Nuck: And I intend for it to stay that way until 0.6.x [09:25] jetienne_: see tobi :) [09:26] jetienne_: https://assets0.github.com/img/89d8e6624fb9153c40bd11ae7592a74e058d873e?repo=&url=http%3A%2F%2Fsphotos.ak.fbcdn.net%2Fhphotos-ak-snc3%2Fhs234.snc3%2F22173_446973930292_559060292_10921426_7238463_n.jpg&path= [09:26] anubhaw has joined the channel [09:26] AAA_awright: I like the cutting edge, developing for it now means ready for the release in what seems like tomorrow each time a new one comes out [09:27] jetienne_: about that 0.4.10 deb should be ready [09:27] Nuck: AAA_awright: I swear, tj has coded half the code for my art site :P [09:28] Nuck: Because I use so many of his awesome libs [09:28] Nuck: Most prominently Express [09:28] Nuck: But this will probably be another one [09:28] AAA_awright: I don't have a particular person but I love all the really niche libs that people write [09:29] AAA_awright: It's like O hey, an RDF integration library for Node.js, that only two people including me use [09:29] Nuck: AAA_awright: I have an odd coding style which fits with a lot of tj's libs. [09:29] jetienne_: sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs <- install node 0.4.10 on ubuntu 11.04 [09:29] Nuck: Because his libs are very natural [09:29] AAA_awright: Which ones, exactly? [09:29] jetienne_: +documented+standalone [09:30] jetienne_: +very little bugs [09:30] Nuck: AAA_awright: Express, Connect, Caustic [09:30] jetienne_: =good in my books [09:30] AAA_awright: I use Jade, and... that's it [09:30] Nuck: The man is one of the best coders we've got in the community. [09:30] AAA_awright: And an RDF one, and a SPARQL library I wrote that in turn uses PEG at install-time [09:30] Nuck: AAA_awright: You use some odd things [09:32] jomoho has joined the channel [09:32] Nuck: God [09:32] AAA_awright: Nuck: That's the nature of what I'm doing I guess [09:32] Nuck: I need a simple checklist for my features on this API [09:33] PrgmrBill has joined the channel [09:33] AAA_awright: Either it hasn't been written, or it's only written in Java which is... six letters away from what I need [09:33] geoffeg has joined the channel [09:33] Nuck: AAA_awright: lol [09:33] Nuck: I got even more RAEG at dA today [09:33] AAA_awright: They went read-only [09:33] Nuck: Because I realized that their servers are horribly configured [09:34] AAA_awright: And then logged you out after? [09:34] Nuck: Not that [09:34] AAA_awright: That too? [09:34] AAA_awright: How so? [09:34] Nuck: It's that I got stuck in this situation where all the resources were being loaded from an outdated URL [09:34] Nuck: Which meant all resources 404'd [09:34] Nuck: st.deviantart.net [09:34] Nuck: Instead of .com [09:34] AAA_awright: Cache problem? [09:34] AAA_awright: O.o [09:34] plov has joined the channel [09:35] Nuck: AAA_awright: Nope, it was their server. I changed to HTTPS and suddenly everything worked. [09:35] pradeepto_bhatta has joined the channel [09:35] AAA_awright: Well I mean a server-side cache [09:36] AAA_awright: Also, Server:Apache [09:36] Nuck: AAA_awright: Seems more like an outdated configuration on a subset of their servers [09:36] roger_raymond has joined the channel [09:36] muhqu has joined the channel [09:36] Nuck: AAA_awright: It gave me more motivation to replace them [09:36] AAA_awright: Their static server is Server:nginx/0.8.47 [09:36] Nuck: AAA_awrightReally? [09:37] Nuck: Not surprising, I guess [09:37] AAA_awright: That's what it advertises [09:37] pickels has joined the channel [09:37] Nuck: They have 150 servers [09:37] Nuck: MySQL+PHP stack [09:37] Nuck: With Apache on the main servers [09:37] Nuck: Then they have shitty load balancers which disrupt long-term connections [09:37] AAA_awright: Oh, but sh.da.net is Server:thttpd [09:37] Nuck: when theyfail over [09:38] Nuck: thttpd? [09:38] Nuck: wuzzat [09:38] AAA_awright: ... Why are you using three different platforms to serve content [09:38] AAA_awright: Why [09:38] callumacrae has joined the channel [09:38] Nuck: AAA_awright: I'm gonna be using... 2. [09:38] Nuck: Node and nginx [09:38] AAA_awright: Node.js doesn't count [09:38] Nuck: Why not? [09:38] AAA_awright: That's generating the content not serving it? [09:38] Nuck: Node serves the content [09:39] AAA_awright: Especially if you have Nginx in front of it like I do [09:39] Nuck: It's the API [09:39] Nuck: AAA_awright: It'll be interfaced directly to an instance of Node, I assume [09:39] PrgmrBill has joined the channel [09:39] PrgmrBill has joined the channel [09:39] Nuck: All I know is, the API is in Node [09:39] Nuck: And the site calls the API. [09:39] AAA_awright: How do you load-balance requests? [09:39] plov has joined the channel [09:40] Nuck: AAA_awright: the plan is to use a load-balancer [09:40] Nuck: Also, how did you get that server info? [09:40] AAA_awright: Nuck: HTTP headers [09:40] jetienne_: 150server without load balancers ? [09:40] jetienne_: ACTION is missing something [09:40] AAA_awright: Network tab in Chrome, or Live HTTP Headers extension in Firefox [09:40] Nuck: jetienne_: Huh? dA has load balancers [09:40] jhurliman has joined the channel [09:40] Nuck: Just shitty ones [09:41] Nuck: that cut ongoing connections [09:41] Nuck: Like their chat system [09:41] jetienne_: this may be the part i miss [09:41] ablomen has joined the channel [09:41] AAA_awright: Speaking of which, anyone know if there's an upper limit to how many documents MongoDB can store? [09:42] AAA_awright: Like, 1e10 short, 100-byte documents? [09:43] jetienne_: i just know there is a #mongodb channel with people who may know :) [09:44] Nuck has joined the channel [09:44] mike5w3c has joined the channel [09:45] Nuck: damn mIRC [09:45] Nuck: crashed [09:46] Nuck: but yeah [09:46] tuhoojabotti: Hoho [09:46] tuhoojabotti: Use irssi. [09:46] Nuck: I still don't quite comprehend load balancers I think X3 [09:46] Nuck: Fuck irssi [09:46] Nuck: It's a shitty client [09:46] Nuck: I tried it [09:46] Nuck: I hated it [09:46] Nuck: When I move to Mac, I'm gonna get a nicer client than mIRC [09:46] Nuck: Thank god [09:48] AAA_awright: I guess I'll work on it tomorrow [09:48] Nuck: AAA_awrightWhat was it? [09:48] Nuck: I was typing a response when mIRC crashed [09:48] AAA_awright: if I get up in time for A State of Trance B-) [09:48] Nuck: But I forget what [09:48] AAA_awright: Oh uh [09:48] AAA_awright: Like, 1e10 short, 100-byte documents? [09:49] AAA_awright: I didn't say [09:49] Nuck: oh yeah [09:49] Nuck: It has lots of scalability [09:49] Nuck: It's a scaly [09:49] AAA_awright: Nuck: I'm wondering if I can store my entire IRC log in MongoDB, one object per line [09:49] Nuck: It all depends on your fs [09:49] Nuck: AAA_awright: Probably. [09:49] AAA_awright: And I need to be able to get the pervious n records per channel quickly [09:49] Nuck: AAA_awright: It'd be hell on your fs, but you could shard among servers too :P [09:50] Tobbe has joined the channel [09:51] pen has joined the channel [09:52] pen has joined the channel [09:53] drleidig has joined the channel [09:53] robi42 has joined the channel [09:54] industrial: If I make a call to getUser it works fine; https://gist.github.com/d3e9f53373beb06b5542, I get my user. If I make a call to deleteUser, so DELETE instead of GET on the same URL, I get this; TypeError: Object # has no method 'generate' [09:54] industrial: I dont see the difference between loadUser (which is the :user_id param) and deleteUser with ObjectId [09:54] industrial: :s [09:55] pen has joined the channel [09:56] pen has joined the channel [09:56] pen has joined the channel [09:59] Shrink has joined the channel [09:59] Shrink has joined the channel [10:00] skm has joined the channel [10:00] pen has joined the channel [10:01] __doc__ has joined the channel [10:02] industrial: nm got it [10:03] pen has joined the channel [10:05] tsenga_ has joined the channel [10:07] adrianmg has left the channel [10:09] CIA-65 has joined the channel [10:12] uchuff has joined the channel [10:13] pen has joined the channel [10:13] webben has joined the channel [10:15] HelloWorld: can i do ajax form submissions over websocket? [10:17] TheJH: HelloWorld, that wouldn't be "ajax" anymore [10:17] HelloWorld: ok [10:17] TheJH: HelloWorld, but yes, you can submit data from form elements over websockets [10:18] HelloWorld: how to execute jquery commands on a browser sent by nodejs? [10:18] TheJH: HelloWorld, you have to put a little script in the browser-side script that eval()s messages from the server [10:19] jetienne has joined the channel [10:19] HelloWorld: can you give me an example? [10:19] hellp has joined the channel [10:19] TheJH: HelloWorld, are you using socket.io or so? [10:19] HelloWorld: yes [10:19] HelloWorld: socket.io [10:19] altamic has joined the channel [10:20] TheJH: HelloWorld, in the browser: socket.on('eval', function(code) { eval(code); }); [10:20] skohorn has joined the channel [10:20] SubStack: >_< [10:20] TheJH: SubStack, not right? [10:21] `3rdEden: TheJH Why?? [10:21] `3rdEden: wtfz [10:21] TheJH: as long as he doesn't do it on the server, it's ok, right? [10:21] `3rdEden: why don't you just send a message from the server like 'animate' [10:21] `3rdEden: and check for that response the client [10:21] `3rdEden: and do trigger the animation or function from that? [10:22] TheJH: you'll either need to remake the whole jquery api to be async or to eval() code, right? [10:22] SubStack: sending javascript source to the client to evaluate doesn't seem to be a very good separation of concerns [10:22] `3rdEden: socket.send('pew'); io.on('message', function(msg){ if(msg == 'pew') $('*').explode() }) [10:22] TheJH: SubStack, might be true, but he asked for it [10:23] jbpros has joined the channel [10:23] TheJH: `3rdEden, that way, he has to put code on both the client and the server for everything he wants to trigegr from the server [10:23] TheJH: *trigger [10:24] SubStack: or the server can just do server stuff [10:24] HelloWorld: eval sounds like the easy way, less js files to play with [10:24] SubStack: and then the client can do client stuff [10:24] SubStack: client stuff including doing dom manipulations in response to messages sent from the server [10:24] TheJH: ok, HelloWorld, don't do what I said, listen to SubStack and `3rdEden, what they suggest will make your code cleaner [10:25] HelloWorld: any of you guys using drupal? [10:26] vikstrous has joined the channel [10:28] altamic has joined the channel [10:28] altamic has joined the channel [10:28] mitko has joined the channel [10:35] tcurdt has joined the channel [10:38] guidocalvano has joined the channel [10:39] guidocalvano: anyone know whether node does funny things with macs event loop? [10:39] guidocalvano: cause I am running a 3d graphics lib in node and all user input keeps getting drawn back to the the commandline... [10:40] guidocalvano: the camera should follow my mouse when the window has focus, but when I click on the window it will only follow my mouse when the button is down [10:41] guidocalvano: as soon as I release the button, the camera no longer moves with the mouse as it should [10:41] HelloWorld: does send() on the serverside do anything with the data? im trying to send json though IPC to nodejs on localhost and relaying to client, but it doesnt like my js, just reads it as text not as object [10:43] SubStack: .. JSON.stringify({ a : [ 1,2,3], b : 4 }) [10:43] catb0t: 03'{"a":[1,2,3],"b":4}' [10:43] SubStack: .. JSON.parse('{"a":[1,2,3],"b":4}') [10:43] catb0t: { a: [ 131, 132, 133 ], b: 134 } [10:43] SubStack: HelloWorld: ^^^ [10:47] xerox: nice coloring [10:47] xerox: does it also do indentation? [10:51] riven has joined the channel [10:51] riven has joined the channel [10:54] FireFly has joined the channel [10:55] daveluke has joined the channel [10:55] guidocalvano: .. 10 + 5 [10:55] catb0t: 1315 [10:56] guidocalvano: .. var bob = 6 ; [10:56] catb0t: 14undefined [10:56] guidocalvano: .. bob [10:56] catb0t: 136 [10:56] tuhoojabotti: .. bob + 3 [10:56] catb0t: 139 [10:56] tuhoojabotti: :3 [10:56] jobim: .. bob * bob [10:56] catb0t: 1336 [10:56] guidocalvano: .. process [10:56] catb0t: ReferenceError: process is not defined [10:56] guidocalvano: .. proces [10:56] catb0t: ReferenceError: proces is not defined [10:56] tuhoojabotti: lol. [10:56] guidocalvano: .. this [10:56] catb0t: TypeError: Cannot call method 'toString' of undefined [10:57] tuhoojabotti: .. this = "lol"; [10:57] catb0t: ReferenceError: Invalid left-hand side in assignment [10:57] tuhoojabotti: :E [10:57] guidocalvano: I'm just wondering what lib functions we have ... [10:57] guidocalvano: .. Object [10:57] catb0t: [Function] [10:57] guidocalvano: .. Object.prototype [10:57] catb0t: {} [10:59] H4ns` has joined the channel [11:00] bosky101 has joined the channel [11:01] guidocalvano: .. dir() [11:01] catb0t: ReferenceError: dir is not defined [11:01] guidocalvano: .. help [11:01] catb0t: ReferenceError: help is not defined [11:01] guidocalvano: .. help(); [11:01] catb0t: ReferenceError: help is not defined [11:03] guidocalvano: .. navigator.userAgent [11:03] catb0t: ReferenceError: navigator is not defined [11:06] jetienne: there is a channel for it [11:06] jetienne: #v8bot [11:06] guidocalvano: .. var tuhoojabotti = "oh h" + "e is " + "n" + " ut"+"s" ; [11:06] catb0t: 14undefined [11:07] guidocalvano: .. tuhoojabotti [11:07] catb0t: 03'oh he is n uts' [11:07] tuhoojabotti: E: [11:07] guidocalvano: . var tuhoojabotti = "oh h" + "e is " + "n" + "ut"+"s" ; [11:07] guidocalvano: .. tuhoojabotti [11:07] catb0t: 03'oh he is n uts' [11:07] tuhoojabotti: fail [11:07] robi42 has joined the channel [11:07] fly-away has joined the channel [11:07] guidocalvano: ): [11:07] tuhoojabotti: guidocalvano-- [11:07] catb0t: guidocalvano now has -1 beer [11:07] TheJH: .. JSON.parse = JSON.stringify = function(){} [11:07] catb0t: [Function] [11:07] jetienne: guidocalvano-- [11:07] catb0t: guidocalvano now has -2 beers [11:08] guidocalvano: (rofl) [11:08] TheJH: .. JSON.parse '{"a": 5}' [11:08] catb0t: SyntaxError: Unexpected string [11:08] guidocalvano: guidocalvano++ [11:08] catb0t: guidocalvano now has -1 beer [11:08] guidocalvano: guidocalvano+=100 [11:08] guidocalvano: guidocalvano++ [11:08] catb0t: guidocalvano now has 0 beers [11:08] andree has joined the channel [11:08] TheJH: .. JSON.parse('{"a": 5}') [11:08] catb0t: { a: 135 } [11:08] guidocalvano: .. guidocalvano+=100 [11:08] catb0t: ReferenceError: guidocalvano is not defined [11:09] mehtryx has joined the channel [11:09] guidocalvano: guys [11:09] guidocalvano: I want to run an experiment [11:09] guidocalvano: can we get catb0t to trigger catb0t? [11:10] bnoordhuis has joined the channel [11:10] guidocalvano: .. var t = '.. 5'; [11:10] catb0t: 14undefined [11:10] guidocalvano: .. t [11:10] catb0t: 03'.. 5' [11:11] emattias has joined the channel [11:11] guidocalvano: .. document.write( 'sdf' ) [11:11] catb0t: ReferenceError: document is not defined [11:11] guidocalvano: .. require( 'sys' ) [11:11] catb0t: ReferenceError: require is not defined [11:11] guidocalvano: ): aaaaah [11:12] christophsturm: guidocalvano: if you don't want to spam the channel you can also /msg the bot [11:12] guidocalvano: tnx [11:12] TheJH: hmm, just flooded my query window with ".. for (var i=0; i<1000; i++) { console.log("haha"); }", does that work in the channel, too? *gnihihi* [11:13] TheJH: wow, it's still flooding me [11:14] emattias_ has joined the channel [11:14] tuhoojabotti: TheJH: It prolly works. [11:14] tuhoojabotti: It does have a timeout though I think. [11:15] tuhoojabotti: Hmm [11:15] tuhoojabotti: v8bot cropped long results I think [11:15] tuhoojabotti: dunno [11:15] TheJH: catb0t doesn't crop them like v8bot did [11:15] TheJH: but it seems like you can stop him with another command [11:16] guidocalvano: how could we get .. at the start of catb0ts line? [11:16] industrial: Before inserting a document into my mongodb I'm trying to validate it through a model that requires an id, so I need an id. Is it possible to generate an ObjectId before saving, then saving it with that, skipping creating a new objectId (cause I already have one) ? [11:16] fangel has joined the channel [11:17] TheJH: guidocalvano, you want to create a self-writing command? [11:17] joemccann has joined the channel [11:17] guidocalvano: yes [11:17] TheJH: .. ".. foo" [11:17] catb0t: 03'.. foo' [11:17] TheJH: ah, hmm... [11:17] guidocalvano: I want catb0t to have a dialogue with himself [11:18] industrial: i dont [11:18] industrial: :D [11:18] industrial: I want to generate an ObjectId but dont know how. [11:18] guidocalvano: but make sure catb0t stops [11:18] xerox: well of course it ignores its own lines >_> [11:19] industrial: ACTION flashmack to mirc scripts [11:19] industrial: s/mack/back/ [11:19] sourcode has joined the channel [11:19] TheJH: xerox, you're catbots creator, right? [11:19] temp01 has joined the channel [11:19] industrial: that actually got me started on programming, a looooong time ago (in a galaxy far far away) [11:19] xerox: TheJH: no [11:19] stisti has joined the channel [11:19] TheJH: xerox, oh, sorry [11:19] TheJH: who is it? [11:19] xerox: not sure [11:20] tuhoojabotti: I'd bring my bot here, but it's only on IRCNet :P [11:21] TheJH: oh, that's sad, catb0t doesn't like me anymore :( - he ignores me since I tried to use up all its memory [11:22] tuhoojabotti: :D [11:23] pylon__ has joined the channel [11:23] xerox: .. 1+1 [11:23] catb0t: 132 [11:23] xerox: love [11:23] TheJH: :( [11:23] TheJH: .. 2+3 [11:23] catb0t: 135 [11:23] TheJH: huh? [11:23] mraleph has joined the channel [11:24] TheJH: ah, only in query [11:24] TheJH: maybe he ignores the channel if someone in the channel fills up its RAM? [11:24] guidocalvano: catb0t has limited capacity [11:24] guidocalvano: he ignored me a while [11:24] fcambus has joined the channel [11:24] guidocalvano: and then he replied again [11:25] jetienne: .. ".. foo" [11:25] catb0t: 03'.. foo' [11:25] guidocalvano: has anyone found any functions in catb0t? [11:25] guidocalvano: regex? [11:25] guidocalvano: .. \sdf\ [11:25] catb0t: SyntaxError: Unexpected token ILLEGAL [11:25] xerox: haha [11:25] jetienne: .. /ss/ [11:25] catb0t: 03/ss/ [11:25] jetienne: this is js [11:26] TheJH: .. throw 'abc' [11:26] catb0t: abc [11:26] TheJH: hehe [11:26] TheJH: .. throw '.. 1+1' [11:26] catb0t: .. 1+1 [11:26] TheJH: :( [11:26] tuhoojabotti: :P [11:26] TheJH: we need another bot he can play with [11:26] tuhoojabotti: Come to ircnet :D [11:26] xerox: a dogbot [11:26] tuhoojabotti: dogb0t [11:26] jetienne: and another channel for people to play with bot [11:26] jetienne: or another server, it is fine too :) [11:26] TheJH: jetienne, are you intending to be mean? :( [11:27] jetienne: nah i try to make the flood stop :) [11:28] ditesh|cassini has joined the channel [11:28] jetienne: guys thisis like 10screens of you playing with a bot [11:28] guidocalvano: setinterval and settimeout are also deactivated [11:28] guidocalvano: ! [11:28] jetienne: coding a bot on top of node and get something usefull in iit [11:28] guidocalvano: !catb0t [11:28] guidocalvano: ! commanded a bot too [11:28] jetienne: it would be a more efficient use of your time i think [11:28] TheJH: is konobi or ryah here? because freenode policy says you need op approval for bots [11:29] jetienne: something with node doc in it, with node module from git etc... [11:29] mraleph: creationix: were you looking for v8 people? [11:29] guidocalvano: !help [11:30] eldar has joined the channel [11:30] Ramosa has joined the channel [11:32] das_thomas has joined the channel [11:34] loxo has joined the channel [11:34] stagas: jetienne: loxo has node docs [11:35] guidocalvano: !reply bla [11:35] stagas: loxo man fs.readFile [11:35] loxo: stagas: fs.readFile(filename, [encoding], [callback]) - Asynchronously reads the entire contents of a file. [11:35] guidocalvano: ): [11:35] guidocalvano: that bot is only in ogre3d... [11:35] stagas: :P [11:36] andrewfff has joined the channel [11:36] jetienne: stagas: nice! is it possible to have an url with it ? [11:36] ditesh has joined the channel [11:37] jetienne: stagas: if somebody want to know more, it is handy [11:37] stisti has joined the channel [11:37] stagas: jetienne: https://github.com/stagas/nymph/blob/master/loxo.js [11:37] CIA-65: node: 03Yoshihiro Kikuchi 07master * r3c4c360 10/ lib/fs.js : [11:37] CIA-65: node: fs: added an argument check in fs.watchFile [11:37] CIA-65: node: Fixes #1324. - https://github.com/joyent/node/commit/3c4c36068e0ead8d3442da59f46cd72d68a908bb [11:37] CIA-65: node: 03Yoshihiro Kikuchi 07master * rd3d776f 10/ test/simple/test-fs-watch-file.js : test: added test/simple/test-fs-watch-file.js - https://github.com/joyent/node/commit/d3d776f97893961bfca597264ced1e7028ebf8af [11:39] jetienne: https://github.com/stagas/nymph/blob/master/nodejsmanual.txt stagas the url seems to be there [11:40] jetienne: so it is only to append it to the signature [11:40] jetienne: http://nodejs.org/docs/latest/api/all.html#util.debug [11:40] stagas: jetienne: that's just the entire page of docs saved as text [11:41] stagas: jetienne: I thought you were looking for the code that parsed it [11:41] ngs has joined the channel [11:41] jetienne: stagas: ok. i think they were supposed to get a computerfriendly format for the doc [11:41] jetienne: isnt that mscdex doing that ? [11:41] jetienne: mscdex: are you around ? [11:43] temp01 has joined the channel [11:44] TheJH has left the channel [11:46] TheJH has joined the channel [11:46] TheJH has left the channel [11:48] TheJH has joined the channel [11:48] temp02 has joined the channel [11:49] Shrink has joined the channel [11:49] Shrink has joined the channel [11:56] mehtryx has left the channel [11:56] mendel_ has joined the channel [11:56] bosky101 has joined the channel [11:59] jbpros has joined the channel [11:59] cjroebuck has joined the channel [12:01] maru_cc_ has joined the channel [12:06] cjroebuck: hi there, I want to use jade as the default view engine in an express app, but for my main layout html, I'd like to use something like EJS or mustache,.. what is the best way to do this [12:08] telemachus: cjroebuck: See here http://expressjs.com/guide.html#view-rendering [12:08] akiva: cjroebuck: You can use any combination you want. Choose Jade as your default during set up, then make sure you specify the correct extension when using any other tenplate [12:08] akiva: telemachus: Damn you ! :) [12:08] telemachus: what he said [12:08] telemachus: :) [12:08] telemachus: akiva++ [12:08] catb0t: akiva now has 1 beer [12:08] akiva: :) nomnomnom [12:08] telemachus: akiva: You took longer but only because you typed a real answer - I punted to the docs [12:08] akiva: Hahah [12:08] akiva: Akiva > Lazy [12:09] telemachus: heh [12:10] cjroebuck: akiva: thanks, but how do I tell express to use e.g. layout.ejs everytime i call render, even though I set the view engine to jade? [12:10] akiva: You specify the extension in the layour call at the top of the page [12:10] cjroebuck: ok, will take a look ! thanks [12:10] akiva: app.set('view options', { [12:10] akiva: layout: 'layouts/default.ejs', [12:10] akiva: }); [12:10] akiva: For example [12:11] akiva: Feed me more beer! [12:11] akiva: I prefer English ale. [12:12] cjroebuck: thanks a lot! [12:13] telemachus: akiva ale++ [12:13] joemccann has joined the channel [12:13] telemachus: doesn't work :/ [12:13] akiva: That's okay, I accept beer! [12:13] akiva: akiva+++ [12:13] akiva: That should work :'( [12:14] okuryu has joined the channel [12:15] igl1 has joined the channel [12:17] akiva: http://foamee.com/ [12:17] akiva: You ought to hook that bot up ;) [12:17] Tobbe has left the channel [12:17] kofno has joined the channel [12:18] mehlah has joined the channel [12:18] xerox: haha nice [12:18] xerox: what does the name of the site mean tho [12:18] CIA-65: node: 03Trent Mick 07master * ra8f96d3 10/ (lib/http.js test/simple/test-http-status-code.js): [12:18] CIA-65: node: http: fix setting ServerResponse.statusCode in writeHead [12:18] CIA-65: node: Fixes #1374. - https://github.com/joyent/node/commit/a8f96d3314f2eb75997a84ea002198ae7d6f6f46 [12:18] tuhoojabotti: xerox: foam is commonly generated on beer. [12:18] tuhoojabotti: And other brewery [12:18] xerox: ah foam-ee [12:18] tuhoojabotti: :D [12:18] tuhoojabotti: I guess. [12:19] xerox: subject to foam [12:19] tuhoojabotti: vaahto. [12:19] kriszyp has joined the channel [12:19] bosky101 has joined the channel [12:19] akiva: Foam. Yes. But for beer, it's proper name is head [12:20] akiva: ACTION <3s head [12:22] xtianw has joined the channel [12:23] fr0stbyte_ has joined the channel [12:23] mendel_ has joined the channel [12:24] brianseeders has joined the channel [12:25] CIA-65: node: 03Trent Mick 07v0.4 * rbbf7e8e 10/ (lib/http.js test/simple/test-http-status-code.js): [12:25] CIA-65: node: http: fix setting ServerResponse.statusCode in writeHead [12:25] CIA-65: node: Fixes #1374. - https://github.com/joyent/node/commit/bbf7e8ed5ee48852a2adb97de3056ef067343500 [12:26] daveluke has joined the channel [12:26] daveluke_ has joined the channel [12:27] fairwinds has left the channel [12:27] ryanfitz has joined the channel [12:28] fumanchu182 has joined the channel [12:29] akiva: Why am I having so many problems with express-form [12:31] bosky101 has joined the channel [12:31] akiva: Can you not use form fieldnames like foo[bar]? [12:32] akiva: a la bodyParser()? [12:35] kmox83 has joined the channel [12:37] jasong_at_apache has joined the channel [12:41] akiva: All that beer and what good came of it :P [12:42] pylon__ has joined the channel [12:43] jonasen has joined the channel [12:44] jonaslund has joined the channel [12:45] industrial: https://gist.github.com/b4f70f2a5510862fb9b3 [12:45] industrial: I dont understand this [12:46] industrial: I only get back the values I changed from an update? [12:46] Ezku\: sucks, right? [12:46] industrial: since I do update: obj I was expecting back the whole thing [12:46] bosky101 has joined the channel [12:46] benmonty has joined the channel [12:46] Ezku\: banged my head against that a few times. [12:47] industrial: alright then :) [12:47] xerox: what is that? [12:47] industrial: nothing. [12:47] Ezku\: uhh, wait. findAndModify? [12:48] xerox: ok [12:48] Ezku\: I remember a raw update doing exactly what you said, but isn't the whole point to _find_ along with modifying; there's no point if you don't get the whole object back [12:49] industrial: guess I could just do a .save() on a PUT action [12:49] Ezku\: well, anyways, there's nothing mongoose can do to surprise me anymore [12:49] industrial: since the client already has the updated content anyway ... [12:49] industrial: Ezku\: this is not mongoose though, I'm using Mongolian [12:49] mike5w3c has joined the channel [12:50] Ezku\: ah. I'm sorry, just confusing you instead of being of any help. [12:52] tdegrunt has joined the channel [12:54] balaa has joined the channel [12:56] CIA-65: libuv: 03Bert Belder 07master * r9d8c9cc 10/ (3 files in 2 dirs): Move loop reference tests to their own file - https://github.com/joyent/libuv/commit/9d8c9cce7cbf11ca03c2408aac696c346744a79f [12:56] CIA-65: libuv: 03Bert Belder 07master * r1ab28df 10/ (test/test-list.h test/test-ref.c): Test that loop refs going down to zero in a prepare callback does not hang the event loop - https://github.com/joyent/libuv/commit/1ab28df433a825eb0c85cd061791150b5acae40e [12:58] emattias has joined the channel [12:58] CIA-65: libuv: 03Bert Belder 07master * r5b532d5 10/ src/win/core.c : Windows: do not hang if LOOP->refs become 0 in a prepare callback - https://github.com/joyent/libuv/commit/5b532d5f6094656e9733cd824653a983fd1a047e [13:02] jtrudeau has joined the channel [13:03] perlmonkey2 has joined the channel [13:03] wavded has joined the channel [13:03] wavded has left the channel [13:04] hippich has joined the channel [13:04] hippich has joined the channel [13:05] edude03 has joined the channel [13:08] pickels has joined the channel [13:08] Xano has joined the channel [13:08] ThomK has joined the channel [13:09] jasong_at_apache: are we already seeing a version bump coming? [13:09] colinclark has joined the channel [13:09] telemachus: jasong_at_apache: ryah said yesterday evening something about a release and it sounded pretty soon [13:10] bnoordhuis: jasong_at_apache telemachus: tonight most likely [13:10] thomblake has joined the channel [13:11] ThomK: Hi! Newbie question. I have TCP server. It's somehow proxy between my WWW workers (uWSGI) and Socket.IO. Connection between uWSGI and Node.js is persisent... how can I notify TCP server to fire 'end' without actually closing connection? [13:11] jscheel has joined the channel [13:11] jscheel has joined the channel [13:13] mc_greeny has joined the channel [13:13] pietern has joined the channel [13:13] reitzensteinm has joined the channel [13:14] jakehow has joined the channel [13:14] aron_ has joined the channel [13:15] willwhite has joined the channel [13:16] benjaminRRR has joined the channel [13:16] mikl has joined the channel [13:16] mikl has joined the channel [13:16] aheckmann has joined the channel [13:17] rudids has joined the channel [13:18] mhausenblas has joined the channel [13:20] xandrews has joined the channel [13:20] pdelgallego has joined the channel [13:21] pomodoro has joined the channel [13:22] pifantastic has joined the channel [13:23] CIA-65: libuv: 03Ben Noordhuis 07master * r1028a9c 10/ src/uv-unix.c : [13:23] CIA-65: libuv: uv-unix: handle EINTR properly [13:23] CIA-65: libuv: Fixes #113. - https://github.com/joyent/libuv/commit/1028a9c6a75fde47b848c09c450fc066249fac1b [13:23] guidocalvano_ has joined the channel [13:24] mhausenblas has joined the channel [13:24] ceej has joined the channel [13:26] CIA-65: node: 03Bert Belder 07master * r3de406c 10/ (3 files in 2 dirs): [13:26] CIA-65: node: Add tests for process.nextTick bugs on windows [13:26] CIA-65: node: These are supposed to pass w/ libuv, so add them to the test-uv tests. - https://github.com/joyent/node/commit/3de406cc58b9a30455b72e12008bdac4d994ba37 [13:28] incon has joined the channel [13:28] aheckmann has joined the channel [13:28] baudehlo has joined the channel [13:29] tbassetto has joined the channel [13:30] blueadept: how can you track what is sent in a get request? [13:30] blueadept: firebug doesn't seem to be giving me the info i need [13:30] blueadept: i'm trying to find out what a asp form is doing in a search window [13:31] seivan has joined the channel [13:31] pjacobs has joined the channel [13:32] bnoordhuis: blueadept: tcpdump or wireshark? [13:32] bnoordhuis: blueadept: or the live http headers add-on [13:33] blueadept: a live http headers [13:33] blueadept: i think thats what i need, ty! [13:33] dnjaramba has joined the channel [13:33] sivy has joined the channel [13:33] bradleymeck has joined the channel [13:36] davidsklar has joined the channel [13:36] pandeiro_ has joined the channel [13:36] TheJH: ryah, are you here? [13:37] Poetro has joined the channel [13:37] Poetro has joined the channel [13:38] ryanfitz has joined the channel [13:39] Shrink has joined the channel [13:39] Shrink has joined the channel [13:41] TheJH: in case anyone wants to play with it or to suggest additional features: I built a little bot, jhbot, and you can already talk to him via query. He can search stuff on npm and display the owner(s) of a package. [13:41] fermion has joined the channel [13:41] Alex_R has joined the channel [13:41] ksheurs has joined the channel [13:41] dpritchett has joined the channel [13:41] TheJH: ("help" for help) [13:42] daveluke has joined the channel [13:42] CIA-65: node: 03Bert Belder 07master * r4d3a907 10/ (6 files in 4 dirs): Upgrade libuv to 1028a9c6a75fde47b848c09c450fc066249fac1b - https://github.com/joyent/node/commit/4d3a907f7324e7cea936421e5e2efca2f251cfe0 [13:43] rfay has joined the channel [13:44] bosky101_ has joined the channel [13:46] tcurdt has joined the channel [13:47] ThomK: Ok, so I think there is no way to fire "end" without closing connection. So regexp received data for ie. "BEGIN\n(data here)\nEND" is good idea or there are better solutions for this problem? [13:49] incon_ has joined the channel [13:49] TheJH: ThomK, could you describe your problem more precisely? [13:49] bnoordhuis: ThomK: tcp or http? [13:49] ThomK: TCP [13:49] bnoordhuis: ThomK: 'end' only fires when the connection is actually closed, yes [13:49] TheJH: ThomK, there are node libs that fire a message event per newline with the data before the newline as argument [13:50] seivan: Hosting for nodeko in Singapore [13:50] seivan: Does anyone know of a full fledge auth solution for express or node.js? [13:50] seivan: ops auth solution through twitter* [13:51] ThomK: Oh, that will be good. Do you know names of these libs? :) [13:52] TheJH: ThomK, do you have raw data or json in the lines? [13:52] ThomK: JSON [13:52] tuhoojabotti: JSON<3 [13:53] TheJH: ThomK, http://search.npmjs.org/#/json-line-protocol seems to be one [13:53] tuhoojabotti: How do I always come here when you are talking about JSON? :D [13:53] ThomK: Thanks! :) [13:53] TheJH: tuhoojabotti, do you want to look at jhbot? [13:54] tuhoojabotti: Hm? [13:54] TheJH: tuhoojabotti, scroll up a little bit [13:54] TheJH: in case anyone wants to play with it or to suggest additional features: I built a little bot, jhbot, and you can already talk to him via query. He can search stuff on npm and display the owner(s) of a package. [13:54] tuhoojabotti: I got that already. [13:54] pjacobs2 has joined the channel [13:55] TheJH: tuhoojabotti, why did you have to try that first? :P [13:55] EyePulp has joined the channel [13:55] tuhoojabotti: :e [13:56] smtlaissezfaire has joined the channel [13:56] CIA-65: libuv: 03Ben Noordhuis 07master * rafd2290 10/ include/ev.h : [13:56] CIA-65: libuv: ev: mark inline functions in ev.h with __attribute__((unused)) [13:56] CIA-65: libuv: Silences the ton of warnings you get with `gcc -Wall -Wextra`. - https://github.com/joyent/libuv/commit/afd22904eaac088bc3512fcddb8b784598537382 [13:56] tuhoojabotti: TheJH: My bot is way more smart. :3 [13:56] ceej has left the channel [13:57] TheJH: tuhoojabotti, maybe [13:57] tuhoojabotti: (That would be me) [13:57] jaket has joined the channel [13:58] rauchg has joined the channel [13:59] rwaldron has joined the channel [14:01] `j has joined the channel [14:02] Corren has joined the channel [14:02] pgte: I want to test a consumer of a web service. any clue how I should test that? [14:03] pgte: I'm using https://github.com/mikeal/request [14:03] pgte: I think I should mock this request lib, but the module *is* the function I'm using, so I guess I can't replace it with a mocked function... [14:04] pgte: any clues? [14:04] bosphorus has joined the channel [14:04] cccaldas has joined the channel [14:05] pgte: maybe I should do some dependency injection, but since this is clearly for testing purposes, I wouldn't want to go that way... :/ [14:06] mehlah has joined the channel [14:07] rwaldron has left the channel [14:08] fille: damn the weather in this summer is awful! [14:09] tuhoojabotti: Yes. [14:11] jimt has joined the channel [14:12] ryanfitz has joined the channel [14:12] JJMalina has joined the channel [14:13] dgh1 has joined the channel [14:13] yhahn has joined the channel [14:13] fille: have u tried vaadin? [14:14] fille: some finish java webbapp api [14:14] brianc1 has joined the channel [14:14] seivan has joined the channel [14:14] hij1nx has joined the channel [14:16] tuhoojabotti: wut [14:16] eee_c has joined the channel [14:16] xerox: I guess he means finnish [14:17] pandeiro has joined the channel [14:17] fille: :D [14:17] fille: finnish [14:17] tuhoojabotti: I know. [14:17] tuhoojabotti: But vaadin? [14:17] seivan: Hmm is there anyway to get scss support in express? [14:17] seivan: instead of sass [14:17] dtan has joined the channel [14:18] fille: i think we should port vaadin to node.js [14:19] jacobolus has joined the channel [14:22] dgh1: wind 7 make problems for 0.5.1 task failed (err #2): {task: uv uv.h -> uv.a} [14:22] dgh1: anybody run into this [14:22] vdemedes has joined the channel [14:24] mendel_ has joined the channel [14:25] danmactough has joined the channel [14:26] seivan: hmm and layouts... [14:26] mscdex: ircretary: tell jetienne i wasn't parsing the api docs, i was writing json from scratch [14:26] ircretary: mscdex: I'll be sure to tell jetienne [14:26] seivan: express lacks layouts, or am I wrong? The screencast about partials had nothing about them [14:27] mscdex: seivan: http://expressjs.com/guide.html#view-rendering [14:27] seivan: Thaaanks :) [14:27] seivan: trying to get into express [14:28] seivan: I mean... if it was a bigger app I would be doing Rails... [14:28] bosky101 has joined the channel [14:28] vdemedes has left the channel [14:28] seivan: Sinatra seems the same structure as Express... basically all in one folder, even though I dislike that [14:28] AphelionZ has joined the channel [14:28] seivan: the problem I got is app structure... it seems rather messy, and stuff like migrations and models.... [14:28] mscdex: you don't have to have it all in one folder if you don't want to [14:29] seivan: Yeah I know, but that's the thing.. how would one structure it.. [14:29] seivan: any skeleton apps or anything TJ or Express-contributors recomend? [14:29] RORgasm has joined the channel [14:30] rworth has joined the channel [14:30] seivan: Anyway just saw the way to pass functions to routes as a "before_filter" [14:30] seivan: pretty slick. [14:30] seivan: But isn't it bad to just append everything to the request object? [14:30] seivan: req.user = User.find(....) [14:30] seivan: what if you over-write something.... [14:30] joshfng has joined the channel [14:30] kofno has joined the channel [14:31] c4milo has joined the channel [14:31] ptlo has joined the channel [14:31] AphelionZ1 has joined the channel [14:32] kofno has left the channel [14:32] broofa has joined the channel [14:32] seivan: also, does textmate have some form of JS syntax check everytime TJ saves on his screencast? What tm bundle is that? [14:33] mscdex: seivan: you could always namespace it if you wanted, like req.data.user, req.data.foo, etc [14:33] kofno has joined the channel [14:33] seivan: mscdex: Fair enough, then it should be builtin in node and everyone should use the same namespace : [14:33] mscdex: heh [14:33] seivan: :) [14:33] seivan: not in node* [14:33] seivan: but in express at least [14:34] mscdex: well it's better to give you a choice ;-) [14:35] jensn_ has joined the channel [14:36] Pilate has joined the channel [14:37] zemanel has joined the channel [14:37] seivan: mscdex: I am in the opinionated camp :) [14:37] seawise has joined the channel [14:37] seivan: any good tm bundles that would easy the node/express development? [14:39] ank has joined the channel [14:40] jakehow has joined the channel [14:41] xtianw: seivan: https://github.com/miksago/jade-tmbundle [14:41] seivan: xtianw: Thanks but I was gonna go with coffeemarkup [14:41] gf3: NO U [14:41] seivan: But I can see TJs screencast where his tm bundle checks JS for syntax-error [14:41] seivan: that would be cool [14:41] xtianw: :-| [14:42] daveluke has joined the channel [14:42] EyePulp: my TM checks JS on save [14:42] EyePulp: not sure which bundle is doing it though [14:42] AphelionZ1 has joined the channel [14:44] EyePulp: xtianw: The Javascript Tools bundle [14:45] EyePulp: validate on save as well as a more detailed report of errors & warnings on a separate key command [14:47] blueadept: anyone know of a good node.js module i can use to parse an html page by finding what's between brackets of a particular enclosure with a certain id tag? [14:47] seivan: mscdex: I finished reading the view guides [14:47] tayy has joined the channel [14:47] seivan: yet I still don't grasp how you can set a layout and have every other route render it's view inside that layout.... [14:47] papandreou has joined the channel [14:47] seivan: I hate to say this because I know it might upset people here, but basically like rails (or django) you can have a global layout, where it will yield route specific views into it. [14:48] seivan: thing like having to show the footer, header and head in the global layout you can define the rest of the content inside of it. [14:48] seivan: Also do people recomend haml, jade or coffeecup? [14:48] gf3: jade [14:48] xtianw: jade is dope [14:48] xtianw: as fuck [14:48] blueadept: jade [14:48] blueadept: plus stylus [14:48] Xano has joined the channel [14:48] xtianw: ^ [14:48] blueadept: add some nib in there [14:48] xtianw: ^^ [14:49] kriszyp has joined the channel [14:49] seivan: nib? [14:49] xtianw: github.com/visionmedia/nib [14:49] gf3: nib == compass for stylus [14:49] gf3: somewhat [14:49] seivan: Digging connect-auth btw [14:50] blueadept: yeah its handy, lessens the amount of cross browser code you need to write [14:50] blueadept: http://tjholowaychuk.com/post/4625229013/extend-sylus-with-a-nib [14:50] blueadept: and other things [14:51] seivan: but anyhow... [14:53] dgh1 has left the channel [14:53] xtianw: seivan: What are you saying about global layout? [14:53] sandropadin has joined the channel [14:54] mendel_ has joined the channel [14:54] seivan: xtianw: I'd like a global layout that would render the view for each route. In that layout I would specify the footer/header and head (with stylesheets and javascript) [14:55] TheJH: what's the best library for couchdb? [14:55] seivan: ehm [14:55] xtianw: Yeah, by default that's layout.jade [14:55] seivan: Just saying about nib.... that's old stuff for rails [14:55] seivan: xtianw: Oh ok [14:55] xtianw: And it passes a local named body [14:55] xtianw: So you do something like #main!= body [14:56] mikl has joined the channel [14:56] mikl has joined the channel [14:57] mscdex: seivan: i dunno, i'm not an expert on it. i'd catch tjholowaychuk in here and ask him about it the next time he's around [14:59] blup: is there a google search api for node? can't seem to find one.. [14:59] gregpascale has joined the channel [15:00] juanmaia has joined the channel [15:00] juanmaia has left the channel [15:00] xtianw: seivan: It's just some convenience functions for stylus. Gradient generation and vendor styles [15:01] seivan: xtianw: Yeah like Compass [15:01] hunterloftis has joined the channel [15:01] xtianw: Probably my favorite little thing it does is letting you do absolute: top 0 left 0 [15:02] hunterloftis: Anybody used "include" with jade/express yet? Getting issues about "filename" has to be included as an option, but the docs say that Express supplies this [15:02] mikeal has joined the channel [15:02] BillyBreen has joined the channel [15:03] sonnym has joined the channel [15:04] gazumps has joined the channel [15:05] clifton has joined the channel [15:06] carmony has joined the channel [15:06] clifton: anyone have an opinion on the best client side js templating engine? [15:07] jbpros has joined the channel [15:07] jasong_at_apache: work with one you feel most productive [15:07] freeformz has joined the channel [15:07] hunterloftis: clifton: I would recommend starting with something like _.template for simplicity [15:07] hunterloftis: And then if you see something it doesn't provide that you want, suddenly you know what you're looking for [15:07] jasong_at_apache: a good default is underscore's tempaltes, ejs, and jade is nice too. [15:07] kjeldahl has joined the channel [15:08] clifton: yeah, ive used jade a little bit in this ldap authentication proxy i wrote [15:08] tbranyen: clifton: i'm working on one atm [15:08] mike5w3c has joined the channel [15:08] clifton: its okay but would be tough for my designers to work on [15:08] clifton: probably going with ejs [15:08] clifton: just wanted to hear suggestions [15:08] softdrink has joined the channel [15:08] tbranyen: clifton: https://github.com/tbranyen/node-combine [15:08] tbranyen: its not done yet [15:08] tbranyen: but thats the syntax [15:08] clifton: designers are used to working with erb so its not some kind of paradigm shift for them [15:08] jasong_at_apache: maybe ask your designers which one they feel comfy about? [15:08] clifton: ya [15:09] jasong_at_apache: of course you have final say :-) [15:09] jasong_at_apache: cause they could come back and say they want brainf**** js templates [15:10] hybsch has joined the channel [15:13] riven has joined the channel [15:13] Wizek has joined the channel [15:13] skm has joined the channel [15:14] hunterloftis: In an express route (req, res, next) how do you get the Server object? It's not req.server or res.server... [15:15] hunterloftis: req.app? [15:15] davidcoallier has joined the channel [15:17] sbisbee has joined the channel [15:17] brolin has joined the channel [15:18] pastak has joined the channel [15:19] digitaltoad has joined the channel [15:21] ryanfitz has joined the channel [15:22] randylien has joined the channel [15:23] galaxywatcher has joined the channel [15:23] lukegalea has joined the channel [15:25] CIA-65: node: 03koichik 07v0.4 * r691497b 10/ doc/api/http.markdown : [15:25] CIA-65: node: Doc improvements [15:25] CIA-65: node: corresponds to #1374 and #1334. - https://github.com/joyent/node/commit/691497babe6ea1c59d3556acab743479e7a1efb9 [15:26] slifty has joined the channel [15:28] peteatolia has joined the channel [15:28] Jippi has joined the channel [15:28] kuhrt has joined the channel [15:29] markdaws has joined the channel [15:29] supster has joined the channel [15:30] ambroff has joined the channel [15:32] kofno has joined the channel [15:32] sub_pop has joined the channel [15:33] halfhalo-work has joined the channel [15:35] devongovett has joined the channel [15:39] clifton: server = httpServer.create(...); [15:39] adambeynon has joined the channel [15:39] clifton: server.listen(8080); [15:39] clifton: its usually called "app" in most examples [15:40] kevwil has joined the channel [15:41] balaa has joined the channel [15:42] Know1edge has joined the channel [15:43] Know1edge: Anyone recommend a easy to use spider/crawler? I'm trying to generate sitemaps for existing client sites [15:43] bzinger has joined the channel [15:44] stephank has joined the channel [15:44] chbrown has joined the channel [15:44] Fandekasp has joined the channel [15:45] chbrown: How can I get my node-run webserver to give me longer traceback on errors? [15:45] Wizek has joined the channel [15:46] CoinOpeBoy has joined the channel [15:47] tbassetto has joined the channel [15:48] Corren has joined the channel [15:49] D3Vito has joined the channel [15:49] tdegrunt has joined the channel [15:49] TechCel has joined the channel [15:50] benmonty: chbrown: do a 'man node' and look for --stack_trace_limit [15:50] benmonty: i think that might do the trick [15:50] bene has joined the channel [15:50] Aco-: '/3 [15:51] Yuffster_work has joined the channel [15:51] brettgoulder has joined the channel [15:51] xerox: how does one add node to github for mac ? [15:51] brian_____ has joined the channel [15:51] bradleymeck has joined the channel [15:52] balaa_ has joined the channel [15:52] bene has left the channel [15:52] yozgrahame has joined the channel [15:53] jacter has joined the channel [15:53] _sorensen_: anyone used nohm? https://github.com/maritz/nohm [15:53] seb_m has joined the channel [15:53] boaz has joined the channel [15:54] TheJH: I want a simple, relatively low-level couchdb module with basic functionality (get, set, auth support) that works. What should I use? [15:55] bene has joined the channel [15:55] chapel: cradle is the only one I know of [15:56] TheJH: I remember people in this channel complaining about how broken cradle would be [15:56] mjr_ has joined the channel [15:57] chapel: I wasn't a fan, still am not a 'fan', but it works [15:58] heavysixer has joined the channel [15:58] devongovett: can someone explain to me why installing packages locally with npm is better than installing everything globally like 0.3.x used to do? I just upgraded and I'm hating it so far. [15:58] TheJH: chapel, then I guess I'll use it [15:58] ank has joined the channel [15:59] chapel: devongovett: think about it this way, you can easily control the versions you run on a per project basis [15:59] pifantastic has joined the channel [16:00] http402 has joined the channel [16:00] isaacs has joined the channel [16:01] mscdex: devongovett: ask isaacs ;-) [16:01] dannycoates has joined the channel [16:01] herbySk has joined the channel [16:01] mscdex: devongovett: but for one it makes bundling a lot easier [16:01] fille has joined the channel [16:01] chbrown: benmonty: neither `node app.js --stack_trace_limit 40` nor `node app.js --stack_trace_limit=40` give me more than the 8 steps it was giving me without the command line option. [16:02] fille: chello [16:02] EyePulp: devongovett: It keeps things very clean - and you can still install globally with the -g argument [16:02] _sorensen_: i always install locally when i can [16:02] _sorensen_: some things like docco are better globally [16:02] mscdex: EyePulp: i was under the impression "-g" was not for regular packages, but packages that install command-line utilities? [16:03] devongovett: local installs come with so many downsides. now I have to install packages again for every app. I have to have a node_modules folder in every app. [16:03] boaz has joined the channel [16:03] EyePulp: mscdex: hrm - I may have misunderstood it. [16:03] mscdex: EyePulp: like coffeescript has that `coffee` command or whatever [16:03] devongovett: and when I install things globally, node often doesn't even find the module [16:04] isaacs: devongovett: use `npm link`. or, install globally, and then `npm install --link`, which does the saem thign [16:04] EyePulp: devongovett: how long have you been building apps, and how many projects do you juggle simultaneously? Also, how often do you have to deploy to remote production servers? [16:04] isaacs: devongovett: it's really not "so many downsides". it's actually kind of nice, especially if you have a lot of apps, since now those apps can have conflicting deps without borking one another [16:04] mikeal has joined the channel [16:05] letsbefrank has joined the channel [16:05] isaacs: devongovett: but i fully appreciate that it adds a step you didn't have before, which triggers the rage reflex. [16:05] EyePulp: devongovett: all of which is to say, if you're doing a lot of project work, and it's something you're doing for a living, take our word for it that local installs are a much, *much* more attractive behavior. [16:05] devongovett: isaacs: I realize that, but it also means I have to install it 100 times if I have 100 apps. [16:05] chapel: devongovett: I didn't like it at first when I was faced with it, but I took too it after using it in production [16:05] _sorensen_: you dont *have* to [16:06] boaz has joined the channel [16:06] letsbefrank: just jumped into the middle of a npm argument looks like [16:06] isaacs: devongovett: it means that you have to init all 100 of your apps individually. (you also have to do this for git, etc., and write 100 apps, etc.) [16:06] letsbefrank: amiright? [16:06] isaacs: letsbefrank: it's not a new one :) [16:06] devongovett: EyePulp: I can see why it would be useful, but it's annoying [16:06] chapel: :P [16:06] letsbefrank: haha, indeed [16:06] donald_cook has joined the channel [16:06] isaacs: devongovett: if they really use the same deps (and i have a lot of projects myself with all the same deps) then use npm link. it makes that specific annoyance much less annoying. [16:07] raidfive has joined the channel [16:07] _sorensen_: you could always just install everything globally first [16:07] AaronMT has joined the channel [16:07] isaacs: devongovett: cd some-dep; npm link ; cd ../some-app; npm link some-dep; cd ../other-app; npm link some-dep [16:07] _sorensen_: and then locally when you start run into problems [16:07] EyePulp: devongovett: get some more projects and dev time under your belt, do some deployments, and give it some time. npm is like the pip of node.js [16:07] chapel: devongovett: you just keep a package.json for your project and npm will read that and install everything for you [16:07] isaacs: devongovett: or just `npm install --link` in each app [16:07] _sorensen_: if you really want to fully appreciate why the new feature is a feature [16:07] reid has joined the channel [16:07] devongovett: EyePulp: I was deploying apps with npm 0.3 just as well. [16:08] isaacs: for myself, i'm a fairly recent convert to the "everything local" camp. [16:08] EyePulp: devongovett: *but* you had to pollute you global package collection with a copy of everything every app would need. [16:08] ckknight has joined the channel [16:09] isaacs: i only built the bundle command in 0.3 because people constantly asked for it, and then sort of begrudgingly accepted that local-only would allow a simpler folder structure that could in principle work on windows [16:09] Fandekasp has joined the channel [16:09] isaacs: (1.0 is not windows compatible. 0.x can never ever be windows compatible, no matter what you do.) [16:09] ash__ has joined the channel [16:09] EyePulp: and if you were running more than one node project in production on a single box, they were both depending on the same copy of a module - which is fine until you upgrade the module and it breaks one app and fixes the other. [16:09] devongovett: isaacs: is there a way to tell npm to install a package globally when npm linking in package.json? E.g. forever or coffee-script as dependancies? [16:09] benmonty: chbrown: maybe try printing out err.stack? i'm not really sure how to increase it if the CL arg didn't work [16:10] isaacs: devongovett: `npm link coffee-script` installs it globally, and then links it locally [16:10] isaacs: devongovett: so, what you can do is: npm install coffee-script -g; cd my-project; npm install --link; cd other/project; npm install --link [16:10] mehlah has joined the channel [16:11] isaacs: devongovett: or just `npm link coffee-script` [16:11] ash__: hi guys, does anyone know of an expression library in javascript? [16:11] ash__: i kind of what the end programmer to define rules, in the style of say mongodb query language [16:11] synkro has joined the channel [16:11] ash__: cos i dont want them to get access to the serverside runtime [16:11] isaacs: devongovett: the nice thing about using install rather than "link" explicitly: it can also install your other deps (and if they're not already global, it'll statically install them locally), and it respects the --save flag, which link doesn't (yet) [16:11] EyePulp: isaacs: fwiw - I'm daily impressed with what npm does. [16:13] letsbefrank: You know what I'm wondering, are there any robust content sanitation (whitelist based html/js filters) as npm modules yet? [16:13] letsbefrank: looked through the modules section and some googling but haven't found one i'm happy with yet [16:13] jensn has joined the channel [16:13] isaacs: letsbefrank: yeah, something like that would be good. i don't know of any. [16:14] letsbefrank: cool, guess I have to make it [16:14] isaacs: it'd be nice if yahoo could open source their yiv library [16:14] isaacs: but they'll probably never do that. [16:14] letsbefrank: working at Onswipe to turn online media into tablet ready format and we need it to be in a farily safe format [16:14] devongovett: ok, isaacs: I'll give it another go. :_ [16:14] ash__: e.g. isaacs any ideas for me :P [16:14] letsbefrank: using node.js for all our fetching, purty fun not gonna lie [16:15] donald_cook has joined the channel [16:15] isaacs: letsbefrank: i could see how something like jsdom might be handy there. [16:16] isaacs: letsbefrank: you could parse the content, and then strip out elements/attributes you don't like [16:16] isaacs: ash__: no clue, sorry [16:16] letsbefrank: for sure, I'll take a look [16:17] ash__: e.g. i want the user to beable to return a boolean [16:17] mandric has joined the channel [16:17] ash__: i could allow them to pass a func like this function(sharedObject){ return sharedObject["red"] === true } [16:17] pickels has joined the channel [16:17] ash__: but wouldnt want them to put ddangerous code in their functions [16:18] cccaldas has joined the channel [16:19] TooTallNate has joined the channel [16:19] CIA-65: libuv: 03Ben Noordhuis 07master * r580a5b4 10/ src/uv-unix.c : [16:19] CIA-65: libuv: uv-unix: uv_pipe_listen: raise UV_ENOTCONN if pipe not bound [16:19] CIA-65: libuv: Fixes failing test pipe_listen_without_bind. - https://github.com/joyent/libuv/commit/580a5b464f304184478c4eb8d8374234071dae81 [16:19] CIA-65: libuv: 03Ben Noordhuis 07master * rfb42f82 10/ src/uv-unix.c : [16:19] CIA-65: libuv: uv-unix: uv_pipe_bind: raise UV_EINVAL if pipe already bound [16:19] CIA-65: libuv: Fixes failing test pipe_bind_error_inval. - https://github.com/joyent/libuv/commit/fb42f82df6c9316ef40be316f5706a761abe47b9 [16:19] letsbefrank: ash__: hm, what is the context? what are you trying to allow the user to do? [16:19] ash__: im building a workflow engine [16:19] wavded has joined the channel [16:19] wavded has left the channel [16:20] ash__: id like the user to provide conditionals [16:20] ash__: based on a shared object [16:20] jerrysv has joined the channel [16:21] ash__: 1 way is to allow the user to provide a function which returns true/false, but feels a bit dangerous [16:21] seivan has joined the channel [16:21] ash__: in other frameworks it usually works like this [16:21] ash__: ${someVar == "hello"} [16:22] wavded has joined the channel [16:22] wavded has left the channel [16:22] letsbefrank: ash__: what kind of shared object and whats the end goal in providing the conditionals? (just trying to wrap my head around it) [16:22] chbrown has joined the channel [16:23] ash__: do you know about BPM solitions? [16:23] ash__: business process management [16:23] ash__: these conditionals are they to allow routing through a workflow [16:24] EyePulp: what's a good tutorial for writing up the package.json for my project (not to put in the npm library, but just for local deployment)? [16:24] ash__: the shared object is a hash which can be used by parts of the workflow [16:24] ekryski has joined the channel [16:24] letsbefrank: ash__:ah! much clearer now [16:24] ash__: e.g. [16:24] ash__: a fileupload workflow would be [16:25] ash__: start -> uploadFile -> detectMimeType -> eclusiveChoice( if mimetype is image, route to image transformation etc [16:25] ash__: maybe better i draw it [16:25] ash__: :p [16:25] letsbefrank: haha [16:25] ash__: im implementing workflow patterns [16:25] ash__: so sequence, parallel [16:26] letsbefrank: mhm got it [16:26] ash__: but the one im doing now is called exclusive choice [16:26] ash__: http://www.workflowpatterns.com/patterns/control/images/fig4.png [16:26] ash__: can you see conditionals are node A? [16:26] ash__: thats exactly what i would like to model [16:27] letsbefrank: gotcha [16:28] ash__: so BPM's in other languages such as java ruby [16:28] ash__: you can do these JSP sort of expressions which evaluate conditions [16:28] ash__: but i havent really found that for javascript/node.js [16:28] eee_c has joined the channel [16:28] ekryski has joined the channel [16:29] Swimming_bird has joined the channel [16:29] wavded has joined the channel [16:29] wavded has left the channel [16:29] bnoordhuis: oh dear, workflow engines [16:29] bnoordhuis: the enterprise has arrived [16:29] letsbefrank: I see, you're trying to sandbox their objects/functions so that they just decide workflow and nothing dangerous [16:30] ash__: bnoordhuis: ha, the open source one i am doing is gonna be super lightweight :O [16:30] ash__: promise :D [16:30] ash__: letsbefrank: yeh [16:30] ash__: or use some expression language [16:31] SeanBannister has joined the channel [16:31] letsbefrank: ash__: yeah, not sure if an expression language is the best way to sandbox it but I don't know of any (nor have stumbled upon any) for node either [16:31] isaacs: EyePulp: npm help json [16:31] isaacs: EyePulp: or npm init [16:31] ash__: ok [16:31] ash__: thanks anyway :D [16:31] EyePulp: issacs : reading the json one now [16:31] EyePulp: danke [16:31] letsbefrank: yup! [16:32] tjholowaychuk has joined the channel [16:33] ash__: letsbefrank: i might have found somrthing [16:33] ash__: http://goessner.net/articles/JsonPath/ [16:33] ash__: its like xpath [16:33] letsbefrank: yeah? [16:33] danmactough has joined the channel [16:33] ash__: i could accept jsonpath epxression to be used on my shared object [16:33] ash__: if it returns 1 or more nodes, i assume true [16:33] rhnvrm has joined the channel [16:33] ash__: i have to see what blows up [16:34] ash__: :D [16:34] rhnvrm: hello [16:34] zeade has joined the channel [16:34] rhnvrm: i am trying to install node on cygwin using https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows) [16:34] daveluke has joined the channel [16:34] rhnvrm: please help [16:34] bnoordhuis: rhnvrm: with what? [16:34] te-brian has joined the channel [16:35] rhnvrm: after git checkout [16:35] rhnvrm: it asks me to ./configure [16:35] rhnvrm: but cygwin shows/usr/bin/enf :python : no such file directory [16:36] bnoordhuis: rhnvrm: you need to install python [16:36] letsbefrank: rhnvrm: I hate to be this guy but....why? [16:36] letsbefrank: rhnvrm: that seems sadistic [16:36] chapel: not sure what was needed this might be of interest to people https://github.com/substack/jsup [16:36] chapel: update json in place, preserve formatting [16:36] rhnvrm: why should i install python? [16:36] dshaw_ has joined the channel [16:37] Prometheus: because node depends on it? [16:37] bnoordhuis: rhnvrm: the waf build system is python-based [16:37] Prometheus: building node does [16:37] letsbefrank: rhnvrm: because the command line is telling you to [16:37] rhnvrm: oh lol [16:37] tjholowaychuk: /clear [16:37] rhnvrm: well how do i install it now? [16:37] Prometheus: rhnvrm: "Using setup.exe from Cygwin (1), install the following packages required to compile node.js: " [16:37] rhnvrm: any git'in? [16:37] Prometheus: step #2 [16:37] Prometheus: lists all the packages you need, including python [16:37] versicolor has joined the channel [16:37] Prometheus: ... [16:38] eldios: what I still do not get is how I change HTML in response to an event.. eg: [16:38] Prometheus: straight from that page you linked to [16:38] brez has joined the channel [16:38] rhnvrm: now what i run setup again? [16:38] eldios: go to login page 'reg.html' (client side) --> try login (POST to /login) (client side) --> login fails (Server side) redirect to 'reg.html' ---> back to reg.html which says "you failed your login.. pls check your data" (client side) [16:38] eldios: is this accomplished with cookies or similar or what? [16:38] Destos has joined the channel [16:38] rhnvrm: do i run setup again??????? [16:38] brez: anyone using expresso / mongodb experience a hang because of the connect string ? [16:38] Prometheus: rhnvrm: what setup? [16:39] rhnvrm: how do i install python now? [16:39] letsbefrank: rhnvrm: after what? after installing python? yes if you haven't missed other packages [16:39] morgabra has joined the channel [16:39] Prometheus: rhnvrm: #cygwin =) [16:39] TooTallNate has joined the channel [16:39] rhnvrm: do i run cygwin setup again cuz i think i missed python [16:39] hunterloftis: tjholowaychuk: using stylus with express, how do you use the base64 url replacement as in http://learnboost.github.com/stylus/docs/functions.url.html ? [16:39] Prometheus: rhnvrm: you should ask in #cygwin [16:40] SeanBannister: brez: I've just started learning mongodb today and can't seem to get the most basic example working not even inserting, no errors are given, maybe related? [16:40] Prometheus: they should be able to tell you :P [16:40] rhnvrm: okay thankx [16:40] caiges has joined the channel [16:40] Intel_iX has joined the channel [16:40] Intel_iX: How do I work with 64bit numbers in node.js? [16:40] Intel_iX: JavaScript numbers wont hold them [16:41] brez: SeanBannister: what im experencing is that expresso (the unit test framework) hangs when connecting [16:41] brez: if i CTRL-C its runs tho [16:41] brez: tests pass etc [16:41] hunterloftis: Intel_iX: I believe GWT implements some 64bit long precision... [16:41] SeanBannister: brez: ahhh k, guess its not related [16:42] hunterloftis: Intel_iX: (although I'm pretty sure that all JS numbers are already 8 bytes long) [16:43] Intel_iX: yes, but it's an 8 byte float [16:43] Intel_iX: not 8 byte int [16:43] Intel_iX: So for example [16:43] Intel_iX: it can hold 2^64 [16:43] Intel_iX: but not [16:43] Intel_iX: 2^64 - 1 [16:43] bnoordhuis: Intel_iX: 64 bits floats cannot hold 2^64 [16:43] bnoordhuis: not accurately anyway [16:43] Intel_iX: I'm aware of that [16:44] Intel_iX: Well [16:44] Intel_iX: close to it [16:44] hunterloftis: Intel_iX: http://www.leemon.com/crypto/BigInt.js ? [16:44] hunterloftis: Intel_iX: or http://jsfromhell.com/classes/bignumber ? [16:45] rauchg has joined the channel [16:46] christophsturm has joined the channel [16:46] Rob- has joined the channel [16:46] hunterloftis: tjholowaychuk: oh I think I get it. Override compileMethod. [16:47] tjholowaychuk: compileMethod? [16:47] hunterloftis: tjholowaychuk: in Stylus. [16:47] Intel_iX: Can someone point to a c++ extension [16:47] hunterloftis: tjholowaychuk: Was trying to get base64 url encoding in stylus+express [16:47] Intel_iX: JS int 64s would be way to slow [16:47] saurabhverma has joined the channel [16:48] mikeal has joined the channel [16:49] EyePulp: so isaacs - dumb question, but once I've got a package.json for this local project, how do I run it and have it do its dependancy voodoo? [16:49] devaholic has joined the channel [16:49] bene has left the channel [16:49] hunterloftis: EyePulp: sudo npm install I think [16:50] hunterloftis: in the project's root dir [16:50] bnoordhuis: Intel_iX: i think numbers in v8 have ieee-754 precision [16:50] bnoordhuis: so that's reliable up to 2^53 [16:50] EyePulp: hunterloftis: cool - that seems to hit the file [16:50] brez: one for the logs: my issue with mongoose / expresso was caused by *not disconnecting at the end of test, e.g. app.settings.db.disconnect(); [16:51] brez: assumes i set the db of course [16:51] xtianw: hunterloftis: You're using stylus as middleware, right? [16:51] Swizec has joined the channel [16:51] hunterloftis: xtianw: Yep [16:52] rfay has joined the channel [16:53] dgathright has joined the channel [16:53] xtianw: hunterloftis: Just add .define('url', stylus.url()) to return stylus(str) [16:54] hunterloftis: xtianw: Yep that's what I did (in compileMethod) [16:54] hunterloftis: xtianw: Working [16:54] seivan: http://nodeknockout.com/locations#singapore [16:54] seivan: People are welcome to sunny Singapore [16:54] seivan: Hope to have a team member fly in from the US as well [16:55] EyePulp: seivan: whoa - hopefully the US member will have a few hours to get their body-clock caught up [16:56] EyePulp: =) [16:57] seivan: EyePulp: haha :D [16:57] boaz has joined the channel [16:57] seivan: We got enough red bull to wake up zombies [16:57] EyePulp: heh [16:58] Corren: what's the preferred way of checking if a file exists? [16:58] EyePulp: just issue a callback to the US dude for when he wakes up. [16:58] seivan: hah :D [16:58] EyePulp: non-blocking [16:58] EyePulp: =) [16:58] danielzzz has joined the channel [17:00] broofa has joined the channel [17:00] smolyn has joined the channel [17:00] boaz has joined the channel [17:01] letsbefrank: Corren: Given what? do you know what directory it should exist in if it exists? [17:01] letsbefrank: Corren: Because then I'd just say check the contents of the directory [17:01] boaz has joined the channel [17:01] Corren: given the path to a file, I'm wondering what the recommended way is of checking the existance of the file [17:02] Corren: currently we just try to read it in a try catch with fs.readFileSync() ... [17:02] Corren: didn't know if there was a more elegant way [17:02] CIA-65: libuv: 03Ben Noordhuis 07master * r7fbe0c3 10/ test/runner.c : [17:02] CIA-65: libuv: test: `run-tests helper_name` runs helper in same process [17:02] CIA-65: libuv: Fixes #116. - https://github.com/joyent/libuv/commit/7fbe0c3882313369d16ae234ef4cf2f128c477f3 [17:03] EyePulp: Corren: http://stackoverflow.com/questions/4482686/check-synchronously-if-file-directory-exists-in-node-js [17:04] Ramosa has joined the channel [17:07] springmeyer has joined the channel [17:07] cesutherland_ has joined the channel [17:10] creationix has joined the channel [17:11] bentkus has joined the channel [17:11] corytheboyd has joined the channel [17:12] DTrejo has joined the channel [17:12] cjm has joined the channel [17:12] harthur has joined the channel [17:13] jellosea: how do I create a synchronous function in node? [17:13] alessio_alex has joined the channel [17:13] jellosea: i have a constructor, and I want it to wait for the response to come back from a call inside it before the constructor returns [17:13] towski has joined the channel [17:14] figital has joined the channel [17:15] TheJH: jellosea, there is. but it's complicated and it's a bad idea. don't do it. [17:15] othiym23 has joined the channel [17:15] raymorgan has joined the channel [17:15] _sorensen_: jellosea: use a callback function isntead [17:15] walkingeyerobot: jellosea: you would be blocking the event loop if you did this. that kind of defeats the purpose of node. [17:16] tjholowaychuk: jellosea: I think you want fibers [17:17] jellosea: _sorensen_: i want to have a sync and async api for this func .. cos i dont want to start using callbacks sometimes [17:17] raymorgan has left the channel [17:17] jellosea: tjholowaychuk: oh fibers seems cool [17:18] tbranyen: walkingeyerobot: maybe when node first came out, but lots of people are writing sync code in node now [17:18] sweetd has joined the channel [17:19] _sorensen_: that makes me a sad panda [17:20] colinclark has joined the channel [17:20] japj has joined the channel [17:21] jellosea: _sorensen_: i think sometimes you need sync code.. i mean async doesn't work always.. [17:21] bitwise_ has joined the channel [17:21] charleyd has joined the channel [17:22] dgathright has joined the channel [17:23] brion has joined the channel [17:23] brion has joined the channel [17:23] kjkim has joined the channel [17:23] harthur has joined the channel [17:24] _sorensen_: what is the use case that you would want sync vs. async [17:24] daveluke has joined the channel [17:25] EyePulp: I use a sync file-read when starting up a server/app and reading its settings file (json) [17:25] mraleph has joined the channel [17:25] Spion_ has joined the channel [17:25] EyePulp: it's a one-time cost [17:25] context: _sorensen_: i'm not really sure thats something thats exactly black and white [17:26] context: eyepulp: plus, your app is rather useless without the settings, so it kind of needs to wait anyway ;) [17:26] synkro: if node is just executing a batch script, then it is useful too [17:26] jakehow has joined the channel [17:26] Aikar: ryah: with nodes window support, is making node as a library in the plans for the near future as a DLL and static linked library? I got a project I use to work on id like to add JS support too, but would rather do node instead of plain V8... (Windows program) [17:26] context: synkro: depends on the script. if im reading a large ass file id rather read it in chunks and process as it goes, instead of attempting to read it all [17:27] jeromegn has joined the channel [17:27] jellosea: can i use fibers to wait on something instead of just sleep on time? [17:28] context: why are you sleeping ? [17:28] bnoordhuis: Aikar: there's partial support for that now: `make staticlib` and `make dynamiclib` [17:28] bnoordhuis: don't know how well it currently works [17:28] Aikar: ah [17:29] Aikar: does it have like an export V8::Object node_get_global_obj() { } ? [17:29] bnoordhuis: Aikar: i suspect you need to call node::Start(int, char**) [17:29] bnoordhuis: possibly from a thread [17:29] jonaslund has joined the channel [17:30] Aikar: passing it a filename? [17:30] bitwise_ has joined the channel [17:30] bnoordhuis: Aikar: no, argc and argv style params [17:30] Aikar: but i meant like getting access to the V8 objects so you can load scripts from C++ etc [17:31] jellosea: context: i want it to wait for a callback from a memcache call before it returns [17:32] Aikar: i guess best way to implement would be to open a socket on the JS side and write to it on the C++ side [17:32] bnoguchi has joined the channel [17:32] bnoordhuis: Aikar: the v8 runtime will be linked into your address space [17:32] boaz has joined the channel [17:32] bnoordhuis: Aikar: but node stills needs its event loop [17:32] bnoordhuis: Aikar: and that's kick-started from node::Start() [17:32] Aikar: yeah run node on its own thread, and communicate to it over a socket opened from another thread [17:32] japj: bnoordhuis: .\deps\http_parser\http_parser.c:1:0: warning: -fPIC ignored for target (all code is position independent) [17:32] dtan_ has joined the channel [17:33] ryah: Aikar: you can build it as a DLL - it's just a bit hands on [17:33] thriple has joined the channel [17:33] japj: bnoordhuis: if I do make dynamiclib [17:33] Aikar: but ugh it would mean id need to reinstall windows to do this lol... [17:33] mikeal has joined the channel [17:34] Aikar: corrupted install when i made switch to ubuntu so i just wiped out the partitions and never cared to reinstall [17:34] bnoordhuis: japj: hmm, that's okay innit? [17:34] dscape: how do I send a response to a user if I have an uncaught exception [17:34] dscape: how do I terminate the conn? [17:34] bnoordhuis: japj: btw, did you survive the monsoon? [17:34] avalanche123 has joined the channel [17:34] context: jellosea: so use a callback.... i imagine the node memcache lib uses callbacks like most (read: all) node libs [17:34] japj: bnoordhuis: yeah, just got home from work ;) [17:35] _jhs has joined the channel [17:35] bitwise_: anyone using less.js with success? [17:35] japj: you mean have less success? [17:35] japj: sry [17:35] japj: ;) [17:35] gmonnerat has joined the channel [17:35] gmonnerat has left the channel [17:35] bnoordhuis: japj: i saw some video footage from roermond [17:35] tjholowaychuk: bitwise_ it's a little slow it seems, JUST got & and @keyframes support [17:36] bnoordhuis: in roermond hebben de aardbeienplantjes voorlopig geen water meer nodig, zogezegd [17:36] japj: bnoordhuis: I live in Venlo, I heard some thunder but I didnt have any problems with that inside [17:36] bitwise_: heh. i am trying to use it but it doesnt style anything [17:37] jellosea: context: it does.. but okay basically i'm creating an object that grabs its data from memcache.. it would just be nice to have a sync version of the func as well as an async function [17:37] __tosh has joined the channel [17:37] Swizec has joined the channel [17:37] bitwise_: just trying to use it in a static page. including the js and a .less file.. nothin [17:37] jbrokc has joined the channel [17:37] jbrokc: is there a way to script the shell with javascript? [17:37] tjholowaychuk: oh :s [17:37] tjholowaychuk: css compilation on the client is nasty [17:38] bitwise_: hmm ok ill try with node [17:38] EyePulp: bitwise_: yeah, not that you *can't* get it to work - but pre-compiliing on the server (or on the commandline when you actually edit the .less file) is a much cleaner path [17:39] EyePulp: ACTION has a TM bundle that compiles & minifies on each save - makes the world a better place. [17:39] context: http://www.waterfall2006.com/gorman.html [17:42] bitwise_: EyePulp: cool. im trying to spin up a demo somewhat quick [17:43] seivan: How do people define their models with Express, and deal with stuff like migrations? [17:43] forte has joined the channel [17:43] AvianFlu has joined the channel [17:43] CIA-65: libuv: 03Igor Zinkovsky 07master * r186abb0 10/ src/win/pipe.c : windows: return UV_EACCESS for invalid pipe name - https://github.com/joyent/libuv/commit/186abb00bc46fedae47e5508d8008a8e354b676f [17:44] tjholowaychuk: seivan: join #express :D [17:44] seivan: tjholowaychuk: Thanks [17:44] seivan: tjholowaychuk: Trying to get my head around express to use it full time in a project we got coming up [17:44] seivan: it was supposedly just API, but will have an admin interface [17:44] japj: bnoordhuis: is https://github.com/joyent/node/issues/1378 something that we can just close? or should we try to get more info? [17:45] towski_ has joined the channel [17:45] Esteth has joined the channel [17:45] bnoordhuis: japj: i'm not going to merge it [17:45] max_dev has joined the channel [17:46] japj: bnoordhuis: I mean more kind of like reject it? [17:46] bnoordhuis: japj: i just need a polite way to say why the patch is no good [17:46] japj: ok ;) [17:46] bitwise_: EyePulp: do you know if there is a trick to get the static version to work? [17:46] japj: didnt realise it was submitted an hour ago [17:46] jeromegn: I have the weirdest issue. Sometimes when I reboot my app, none of the POST requests get anywhere, eventually it times out and throws me a 504. If I reboot it a few times afterwards it'll resolve itself and process POST requests instantly [17:47] Esteth: Hi folks. I'm just checking out node, and specifically express. I come from a rails background doing heavy cucumber/capybara testing for acceptance, but I'm not entrenched enough in the node community to know where to look for something similar here. Is there a standardish acceptance testing method? [17:47] japj: unfortunately isaacs awesome github issue tracker doesnt show any timestamp information [17:47] jeromegn: using express.js [17:47] jtsnow has joined the channel [17:47] anoop has joined the channel [17:49] CIA-65: libuv: 03Ben Noordhuis 07master * r27999e8 10/ test/test-pipe-bind-error.c : test: update BAD_PIPENAME for Unices, check for UV_EACCESS - https://github.com/joyent/libuv/commit/27999e839ac94252f76bdad156d4ba10140d63d1 [17:49] CIA-65: libuv: 03Ben Noordhuis 07master * r272f164 10/ src/uv-unix.c : [17:49] CIA-65: libuv: uv-unix: uv_pipe_bind: raise UV_EACCESS on inaccessible socket [17:49] CIA-65: libuv: Fixes failing test pipe_bind_error_addrnotavail. - https://github.com/joyent/libuv/commit/272f164e6a4f5c1e34b57bcbf136bda1c8291b25 [17:49] dandean has joined the channel [17:49] creationix has joined the channel [17:49] creationix has left the channel [17:49] jerrysv: esteth: there's bdd via vows.js, and last years node knockout had a cucumber dialect created via http://2010.nodeknockout.com/teams/the-nyc-nodejitsu-ninjas [17:49] japj: bnoordhuis: there is no buffers issue label yet, is it something that should have one or is there another existing label that I can use? [17:49] null- has joined the channel [17:49] Intel_iX has left the channel [17:50] jacobolus has joined the channel [17:50] jerrysv: esteth: but the landscape is still a little rough right now, there are a lot of testing frameworks, and a lot left to be done on all of them [17:50] dandean: Anybody here use expresso's jscoverage feature? If so, tips? I can't get any coverage output. [17:50] jerrysv: dandean: no, but the latest commit against vows.js offers jscoverage reporting, but you need to instrument yourself [17:51] bnoordhuis: japj: what colour should a buffer label have? [17:51] bnoordhuis: i think buffers are blueish brown [17:51] japj: what is the convention? [17:51] Esteth: jerrysv: Thanks for the roundup :) I'll take a look at vows with zombie or tobi once I'm done examining Jasmine :) [17:51] japj: while you are at it, make a lint label aswell ;) [17:51] bnoordhuis: japj: none, it should look nice [17:51] bnoordhuis: everyone agrees that lint is yellow? [17:52] japj: what about console log? [17:52] japj: ah wait, that might actually be something else [17:52] japj: (the console thing) [17:52] dandean: jerrysv: then I'd have to rework all of my test for vows, which would take way too long. [17:53] japj: no, it was actually something in console.js [17:53] jerrysv: dandean: have you tried instrumenting your files outside of expresso and seeing if it detects the instrumentation? and are you on 0.4 or 0.5 of node? [17:53] japj: bnoordhuis: while you are at it, make a label for every .js file in lib/, cause that is about what is happening... or switch to a different labeling algorithm [17:54] dandean: I'm on 0.4. I haven't tried that yet. I'm new to jscoverage, so I'm probably missing something here. [17:54] jerrysv: dandean: unfortunately, other than spending a night in the jscoverage code inside expresso, i haven't had much experience with it -- i like vows [17:55] jerrysv: dandean: it might be worth: jscoverage lib lib.covered [17:55] jerrysv: dandean: then run your tests against lib.covered - see if expresso picks it up [17:55] maushu has joined the channel [17:56] fermion: back [17:56] tilgovi has joined the channel [17:56] null-: thinking of learning javascript as my first language, is it adequate to use node for shell scripting? [17:57] fermion: back [17:57] context: null-: i personally would not [17:57] TooTallNate: null-: due to things being async it's not the most convient to write shell scripts in [17:57] TooTallNate: but it's definitely do-able [17:57] Nohryb has joined the channel [17:57] TooTallNate: I've written simple build scripts with node [17:58] null-: Ok, good to know :) [17:59] tmedema has joined the channel [17:59] japj: bnoordhuis: https://github.com/joyent/node/issues/1131 is related to crosscompiling on arm and HAVE_CLOCK_SYSCALL, is that something you can have a look at? [18:00] `3rdEden has joined the channel [18:01] Country has joined the channel [18:01] ank has joined the channel [18:02] halfhalo-work_ has joined the channel [18:02] halfhalo-work_ has joined the channel [18:02] DrPizza has joined the channel [18:03] bnoordhuis: japj: i think that was a v8 bug that's been fixed [18:03] bnoordhuis: but i'd have to check [18:03] slifty_corsair has joined the channel [18:03] samsonjs has joined the channel [18:04] DrPizza: To build node on Windows, do I need to use mingw? [18:04] bosky101 has joined the channel [18:04] xeodox has joined the channel [18:04] bnoordhuis: DrPizza: yes - or cygwin [18:04] bnoordhuis: but mingw is the future [18:04] DrPizza: How unfortunate. [18:05] DrPizza: Was hoping for VC++. [18:06] Sghirate has joined the channel [18:06] Cleer has joined the channel [18:07] devdazed has joined the channel [18:07] DrPizza: bnoordhuis: Is there anything that you know of that would make building in VC++ hard, or is it just not something that's important [18:08] ank has joined the channel [18:08] bnoordhuis: DrPizza: no idea, i only do the unix side of things [18:08] harthur_ has joined the channel [18:08] mytrile has joined the channel [18:08] raZer has joined the channel [18:09] harthur has joined the channel [18:10] harthur has left the channel [18:10] harthur has joined the channel [18:11] dgathright has joined the channel [18:12] zackattack has joined the channel [18:12] springify has joined the channel [18:12] fairwinds has joined the channel [18:13] tayy has joined the channel [18:14] rfay has joined the channel [18:14] heavysixer has joined the channel [18:14] japj: bnoordhuis: can you close https://github.com/joyent/node/pull/816 [18:15] blup has joined the channel [18:15] daneroo has joined the channel [18:15] DrPizza: Hm, maybe I will give it a go at the weekend. v8 builds in VC++ already, as does libuv. [18:15] m00p has joined the channel [18:16] mrtrosen has left the channel [18:16] aliem has joined the channel [18:16] ank has joined the channel [18:18] systemfault has joined the channel [18:18] guidocalvano has joined the channel [18:19] jameson has joined the channel [18:19] joshfng has joined the channel [18:22] othiym23 has joined the channel [18:22] daneroo has joined the channel [18:23] daneroo has left the channel [18:23] daneroo has joined the channel [18:24] ccare has joined the channel [18:25] springify has joined the channel [18:26] admc has joined the channel [18:27] randylien has joined the channel [18:27] Sghirate has joined the channel [18:28] Sghirate: hi, total Node.js newbie here - with a problem [18:28] Sghirate: to provide something visual: http://idafeld.com/~Sghirate/prv/problem.txt [18:28] bnoordhuis: japj: closed, thanks [18:28] harthur has joined the channel [18:28] Sghirate: my problem now is, that the "outer" res.write works perfectly - but not the one in the database-callback [18:30] Xano has joined the channel [18:32] catshirt has joined the channel [18:34] japj: bnoordhuis: I had a go at a polite refusal for https://github.com/joyent/node/pull/1378 [18:34] fille: https://github.com/fille/Realtime-charts [18:34] fille: :D [18:36] japj: fille: what is the idea behind https://github.com/fille/Realtime-charts/blob/master/server.js#L22 ? [18:37] fille: i dont know really i did that to find my views [18:37] fille: was some time i think it was for the server was fucked up [18:38] clifton: anyone else's irssi get really screwed up by upgrading to lion's terminal? [18:38] kmiyashiro has joined the channel [18:38] Prometheus: not really surprising =) [18:38] Prometheus: but iTerm2 is better anyway [18:39] japj: fille: if you make a top level package.json you could install the dependencies with npm which would make deployment a little easier (also for other people wanting to try this ;) [18:39] letsbefrank: Sghirate: The response is being end()-ed before your callback executes [18:39] admc has joined the channel [18:40] Prometheus: the code is not sequential =) [18:40] letsbefrank: Sghirate: You're gonna want to res.end() inside the callback at the end of the else block, after the for loop [18:40] fille: i wrote the code 2 month ago [18:40] halfhalo-work has joined the channel [18:40] halfhalo-work has joined the channel [18:41] japj: fille: np, I'm fairly new to node.. I was just wondering ;) [18:41] clifton_ has joined the channel [18:41] clifton: ah iterm2 is much better [18:41] clifton: and so it is [18:41] daneroo has joined the channel [18:41] letsbefrank: now that there's some slightly different people in here, anybody know of a good way to do content sanitation in node? whitelist-based and npm module preferably [18:43] talsafran has joined the channel [18:43] Sghirate: @letsbefrank: thanks, but that didn't really do the job (actually, when I use console.log(res) inside and outside the callback, the output looks different; the callback-res has somehow less "depth") [18:43] clifton has joined the channel [18:44] daneroo has joined the channel [18:44] fille: i think i will start to develop it more japj [18:44] letsbefrank: Sghirate:want to link me to the output [18:44] rauchg has joined the channel [18:44] letsbefrank: ? [18:44] jbpros has joined the channel [18:44] slajax has joined the channel [18:45] Sghirate: one sec [18:45] `3rdEden has joined the channel [18:45] Sghirate: http://idafeld.com/~Sghirate/prv/resOut.txt [18:46] Sghirate: first block is from outside the callback - second block is from inside [18:46] clifton has joined the channel [18:46] xeodox has joined the channel [18:46] mendel_ has joined the channel [18:47] letsbefrank: Sghirate: Did you remember to remove the end from the last line? It looks like one of those responses is already closed (using end()) and the other is not [18:47] Sghirate: the end is removed - yes [18:47] Locke23rus has joined the channel [18:48] Vertice has joined the channel [18:48] letsbefrank: Sghirate: Go here http://piratepad.net/b0IZl8fvOC [18:48] Sghirate: ah wait [18:48] Sghirate: there was another res.end() deeper in [18:48] Sghirate: gah . . THANKS! [18:48] Sghirate: (or well, not deeper in . . but in another function) [18:48] mike5w3c has joined the channel [18:48] letsbefrank: Sghirate: Great! No problem, just always remember those function calls are async - you're script will keep moving [18:50] sriley: letsbefrank: https://github.com/theSmaw/Caja-HTML-Sanitizer should be fairly decent given that its using caja [18:51] figital has joined the channel [18:51] fille: so an implementation of realtime charts, shall i continue the implementation [18:51] letsbefrank: sriley: Yeah I took a look at that but it doesn't seem configurable (at least from the Github) [18:51] brez has joined the channel [18:51] fille: the development [18:51] samuelkadolph has joined the channel [18:51] letsbefrank: sriley: I want to be able to pick my whitelist [18:52] unlink has joined the channel [18:52] unlink has joined the channel [18:53] sriley: you should be able to modify it, though yes then it wouldnt be npm installable [18:53] letsbefrank: sriley: eh, I'll go with it - better than nothing [18:53] jasong_at_apache has left the channel [18:53] muhqu has joined the channel [18:54] fille: anyone whants to help me out with a rule engine in node.js? [18:54] sriley: looking at it you should prob be able to override by just setting the html4.elements to whatever you want [18:54] fille: im thinking about starting a ruleengine projekt in node.js [18:54] bradleymeck: fille rule engine? [18:55] boaz has joined the channel [18:55] fille: busnhttp://en.wikipedia.org/wiki/Business_rule [18:55] Kinbote: so what's the latest, greatest background file watcher for compiling coffeescript, stylus, coffeekup, etc upon file change? [18:55] ash__: fille: im building workflow engine right now :o [18:55] brez has left the channel [18:56] Kinbote: ACTION is getting annoyed with the debug loop of stop node, recompile coffeescript, restart node, which is ironically the same exact flow as the bad old days of web dev using CGI and perl [18:56] fille: thats the same [18:56] tjholowaychuk: joys of using compiled languages [18:56] tjholowaychuk: Kinbote you could use the stylus middleware though and avoid that [18:56] wink_: fille: i'd say yes, but i've already developed one for my company that i wont be able to release unfortunately :< [18:56] tjholowaychuk: coffeescript you're screwed i think [18:57] Prometheus: Kinbote: why not just have something watch coffeescript and recompile as it changes, then something else watch the node files? [18:57] fille: wink i guess it will be hard. got some prolog experiance [18:57] Kinbote: tjholowaychuk: i have used your middlware hook, so the stylus recompile works, but the coffeekup and coffeescript itself doesn't [18:57] gf3: you are TOTALLY FUCKED when it comes to coffeescript [18:57] gf3: FUCKED OUT OF YOUR MIND [18:57] Kinbote: haha [18:58] TheJH: gf3, huh, what? [18:58] jobim: sounded pretty clear to me [18:58] muhqu_ has joined the channel [18:58] Kinbote: unless i need to use C/C++ hooks, for a justified reason, these days the only code i want to write is coffeescript [18:58] gf3: TheJH: you know [18:58] gf3: Kinbote: yeah, it sure is pretty [18:58] DrPizza: I just don't get the love for coffeescript [18:58] tjholowaychuk: pretty ugly [18:58] DrPizza: It gives some minor syntactic conveniences [18:58] tjholowaychuk: OoOo [18:58] TheJH: gf3, I nearly don't write JS myself anymore, I like coffee :) [18:59] DrPizza: at the cost of making Javascript's already awful scoping rules even worse. [18:59] DrPizza: That seems a horrible trade-off. [18:59] tjholowaychuk: ambiguity ftw! [18:59] tjholowaychuk: DrPizza ruby devs love ambiguity that's why [18:59] TheJH: DrPizza, how does it make them worse? [18:59] fille: what the diffrance with a workflow engine and a businessrules [18:59] agnat has joined the channel [18:59] eventual- has joined the channel [19:00] DrPizza: TheJH: it doesn't even allow you to use "var" to introduce a new name that you know won't clobber other names [19:00] TheJH: tjholowaychuk, couln't you call it "writing less"? [19:00] tjholowaychuk: ? [19:00] bradleymeck: well its not JS and some people want node w/o JS. It has some nice ideas which are interesting to watch and have influenced es.next, /shrug w/e works as long as i dont get crazy dependency chains [19:00] gf3: tjholowaychuk: I feel like your ruby hate is unjustified [19:00] wink_: fille: it depends on your definitions of the 2, that world gets very fuzzy very quickly [19:01] tjholowaychuk: gf3: it's just a different breed of developer [19:01] fille: wink hehehe [19:01] tjholowaychuk: ones who crave magic, ambiguity and being "clever" [19:01] tjholowaychuk: instead of being explicit, and simple [19:01] gf3: tjholowaychuk: we'll have to settle this once and for all over cigars and scotch [19:01] fille: wink i took a course in business rules, i dident get any smarter [19:01] mikey_p: tjholowaychuk++ [19:01] catb0t: tjholowaychuk now has 1 beer [19:01] tjholowaychuk: done! [19:01] gf3: tjholowaychuk: I refuse to go to Vancouver, so you'll have to come to Toronto [19:01] NickABusey has joined the channel [19:03] mnaser: fu gaise [19:03] mnaser: montreal > * [19:03] shapeshed has joined the channel [19:03] mnaser: ACTION back to afk-ing [19:03] gf3: mnaser: fair enough [19:03] DrPizza: montreal is lovely in the summer [19:03] DrPizza: I've never visited in the winter [19:04] DrPizza: Never want to! [19:04] mnaser: it's not that baaad [19:04] xeodox has joined the channel [19:04] frodenius has left the channel [19:04] mnaser: water around us makes it so it's not that cold! [19:04] gf3: montreal is just filled with attractive people [19:04] kysmith has joined the channel [19:04] DrPizza: montreal really did feel like Europe [19:04] mnaser: that's the consensus, DrPizza [19:04] mnaser: and i agree, gf3, haha. [19:04] systemfault: It's hot today in Montreal... [19:05] systemfault: Too hot. [19:05] mnaser: oh yeah, lately it's been crazy hot [19:05] gf3: systemfault: you are not allowed to complain about the weather in montreal [19:05] mnaser: even the night it stays really hot [19:05] ash__: tjholowaychuk: a question [19:05] boaz has joined the channel [19:05] systemfault: gf3: I live there so I am allowed ;) [19:05] ash__: whats different from stylus is to CSS as coffeescript is to javascript? [19:05] gf3: Weather in: Toronto, Toronto, Canada: Now: Mostly Cloudy, 37ºC Today: Mostly Clear/Wind, between 22ºC and 36ºC. Tomorrow: Partly Cloudy, between 22ºC and 32ºC. [19:05] mnaser: its just 33 degrees in montreal! [19:05] gf3: systemfault: the Feels Like™ temperature in TO is 49ºC [19:06] tjholowaychuk: ash__: css is declarative [19:06] systemfault: Toronto is a boring city though :P [19:06] gf3: SAY WHAT?! [19:06] gf3: systemfault: preposterous! [19:06] isaacs has joined the channel [19:06] ash__: ok :o [19:06] null- has left the channel [19:07] ash__: i think both languages are good [19:07] ash__: :p [19:07] avalanche123 has joined the channel [19:07] gf3: systemfault: why, I had fun in this great city just last night! [19:07] boaz has joined the channel [19:07] letsbefrank: ash__: Not sure if you can group the two under languages [19:07] systemfault: Oh really, then what I've been hearing about Toronto must be wrong then :P [19:08] letsbefrank: ash__: Technically I guess...but no [19:08] systemfault: Boring place... when every interesting places close at 5pm :P [19:08] ash__: i think they are languages [19:08] jonasen has joined the channel [19:08] mnaser: montreal sleeps at like 4am [19:09] ash__: letsbefrank: look all jvm languages [19:09] ash__: each are languages [19:09] ash__: jvm is runtime [19:10] ash__: same for webbrowsers is runtime for css, but with many languages now [19:10] gf3: systemfault: well ping me if you're ever in town! [19:10] systemfault: :) [19:10] letsbefrank: ash__: thats not why I say CSS shouldn't be called a language [19:11] ash__: it is though [19:11] ash__: :D [19:11] AndyDawson has joined the channel [19:11] systemfault: "language" doesn't imply "programming" [19:11] systemfault: HTML is a language... see the meaning of the last letter ;) [19:11] ash__: have you read martin fowlers, dsl's book? [19:12] systemfault: It's on my list of books to read :( [19:13] letsbefrank: Haven't read the book no. True language does not imply programming but calling them both such a broad term makes analogies like the one ash__ used okay [19:13] Rubikzube has joined the channel [19:13] systemfault: Ah :) [19:13] letsbefrank: stylus is to css as coffeescript is to javascript really masks the inherent differences between a declarative language and something a bit more dynamic [19:13] ash__: a language is too communicate ideas/logic to the computer [19:14] ash__: coffeescript does this differently too javascript [19:14] ash__: so they are seperate languages [19:14] ash__: :p [19:14] pt_tr has joined the channel [19:14] tommyvyo has joined the channel [19:15] letsbefrank: yup, what I was initially saying is you can't group the two (css and js or w/e variants you choose to use) like that - don't disagree that they're technically both languages [19:16] ash__: i see [19:16] jesusabdullah: YOU're a language! [19:16] seb_m: hey, i have a jade question: how do you prevent whitespace from being written after a tag? i'm trying to put s inside a string, but it puts loads of spaces in. http://pastie.org/2250035 [19:16] letsbefrank: your MOM is a language! [19:17] ash__: :D [19:17] systemfault: I use my body language on your moms :/ [19:17] letsbefrank: systemfault, hahah [19:17] letsbefrank: ridic [19:17] letsbefrank: alright, back to content sanitation [19:18] ash__: content sanitation?:D [19:18] ash__: lol [19:18] systemfault: Back to reading [19:18] ash__: back to the future [19:18] ezmobius has joined the channel [19:19] Wizek_ has joined the channel [19:19] brolin_ has joined the channel [19:19] nivoc has joined the channel [19:20] ekryski has joined the channel [19:20] nivoc has left the channel [19:20] avalanche123 has joined the channel [19:21] mrtrosen has joined the channel [19:21] jbpros has joined the channel [19:21] anatoo has joined the channel [19:24] brolin has joined the channel [19:26] mange has joined the channel [19:26] aliemmo has joined the channel [19:28] harthur has joined the channel [19:29] smolyn has joined the channel [19:30] brolin_ has joined the channel [19:30] CIA-65: node: 03Ben Noordhuis 07master * rbff9602 10/ test/common.js : test: add common.PIPE, pipe name for tests - https://github.com/joyent/node/commit/bff96029665ea430afff60aa481c09a5897168ed [19:30] wookiehangover has joined the channel [19:30] CIA-65: node: 03Ben Noordhuis 07master * r725fcf5 10/ (Makefile test/simple/test-net-pingpong.js): test: add test-net-pingpong to `make test-uv` list - https://github.com/joyent/node/commit/725fcf55873915e4660ae8f92056be7f834592e6 [19:30] CIA-65: node: 03Ben Noordhuis 07master * r4b77626 10/ test/simple/test-http-unix-socket.js : [19:30] CIA-65: node: test: make test-http-unix-socket use common.PIPE [19:30] CIA-65: node: Don't unlink the socket, that's the responsibility of libuv and/or node. - https://github.com/joyent/node/commit/4b77626add4591c6d3aeb5fbd010fb173a5ef8ce [19:31] mikeal has joined the channel [19:31] pzich_ has joined the channel [19:34] dreamdust1 has joined the channel [19:36] TheJH: little survey: what bot functions would be useful in this channel? I already implemented a remember/say function (with templating) and npm owner/search [19:36] fille: http://en.wikipedia.org/wiki/Business_rules_engine [19:36] fille: ash__ http://en.wikipedia.org/wiki/Business_rules_engine [19:37] springify has joined the channel [19:37] ash__: nice [19:37] sriley: tbh i wouldnt really say stylus is to css and coffee is to js, stylus is useful in some cases, coffee on the other hand i see no reason for [19:37] tjholowaychuk: stylus takes a completely static language and makes it dynamic [19:37] tjholowaychuk: i'd say that's different [19:38] tjholowaychuk: stylus has a runtime and evaluates, coffee not so much [19:38] sriley: yes, coffee on the other hand just changes one proper lang to some other syntax :/ [19:38] tjholowaychuk: stylus is almost double the size of coffeescript haha [19:39] TheJH: sriley, would you call loop comprehensions and destructuring "other syntax"? [19:40] vipaca has joined the channel [19:40] vipaca has joined the channel [19:42] springmeyer_ has joined the channel [19:43] spcshpopr8r has joined the channel [19:43] spcshpopr8r: need help understanding this: http://pastie.org/2250168 [19:44] spcshpopr8r: I just cloned etherpad-lite from git and this is the result of the npm install [19:45] isaacs: spcshpopr8r: looks sqlite3 is failing to build. maybe you need to install sqlite3-dev or something in your system? [19:45] isaacs: (that is, not an npm package, an actual apt-get or homebrew or yum thing) [19:45] spcshpopr8r: this too: http://pastie.org/2250183 (seems pretty clear that the version of express that's being installed is not compatible) [19:45] spcshpopr8r: isaacs: yeah that's what I thought [19:45] spcshpopr8r: gentoo does not have a separate dev package [19:46] spcshpopr8r: I will continue to look for one though [19:46] fly-away has joined the channel [19:46] Shakeel has joined the channel [19:47] mape: is there any etherpad clone that has syntax hilighting? [19:48] spcshpopr8r: mape: I just discovered ep-lite yesterday...it looks like it may be using ace...should be easy(ish) to add syntax highlighting if'n that's true [19:49] patcito has joined the channel [19:50] brolin has joined the channel [19:50] mape: hmm [19:51] ekryski has joined the channel [19:53] jshaw has joined the channel [19:53] jshaw: any expresso users on? [19:54] c4milo: does etherpad use nodejs? [19:54] jesusabdullah: I've used expresso once or twice [19:54] jshaw: jesusabdullah: i'm trying to test an abstraction that has a mongodb(mongoose) connection inside it and I expresso won't fire beforeExit because the mongo connection hasn't be closed any ideas? [19:55] spcshpopr8r: c4milo: npm search ep-lite [19:55] sourcode has joined the channel [19:55] jshaw: i created a little hack to close the connection on a condition but it's not working to well, was hoping there was a better way [19:56] jesusabdullah: hmm [19:56] jesusabdullah: I'd close the mongo connection. ;) [19:57] _aron has joined the channel [19:57] jesusabdullah: I guess my advice would be that it's less about working around expresso, and more about writing a clean test, y'know? [19:58] hassox has joined the channel [19:59] jshaw: jesusabdullah: yea, i agree that the tests should be self contained, but with the native concurrency it seems to be causing problems, like i get different behavior running `expresso file` and `expresso -s file` [20:00] jesusabdullah: No shit? That's bizarre. [20:00] e6nian has joined the channel [20:01] jshaw: i'm probably doing something wrong but was hoping it was related to the DB connection [20:02] japj: isaacs: does http://groups.google.com/group/nodejs/msg/6f4fa243f72b4f91 seem something you could eventually use for npm? [20:02] jshaw: :), other question, i can't find a way to count assertions, i was about to roll my own, is there a way to do that already built in? [20:03] zemanel_ has joined the channel [20:03] jasong_at_apache has joined the channel [20:03] isaacs: japj: sure. [20:03] isaacs: japj: teh best approach is to just build it, and then if it's good, we can put it somewhere and people can use it [20:04] isaacs: japj: you know there's an rss feed now, too? [20:04] isaacs: japj: http://registry.npmjs.org/-/rss?limit=50&descending=true [20:04] japj: japj: no I didnt, when did you sneak that in? [20:04] CoinOpeBoy has joined the channel [20:04] japj: duh [20:05] japj: why I am telling myself that [20:05] iFire has joined the channel [20:05] japj: isaacs: but the _changes feed would be good to 'trigger' things without having to poll (which is one of the nice things about async i/o ofcourse ;) [20:07] tantek has joined the channel [20:07] mikedeboer has joined the channel [20:07] mendel_ has joined the channel [20:08] jellosea: i want to call a function after the callback of a memcache call... how do i make sure that the order of execution is such? the callback function of the mecache get doesn't take an extra parameter for a further callback [20:08] japj: isaacs: is there a way to do either a sanity check or have a good sandbox environment for the npm test-reporting framework (I think I saw some sandbox-alike projects on github, but I don't know exactly if that would fit) [20:08] brolin_ has joined the channel [20:08] jellosea: `3rdEden: I want to make a function call after I get the data back from a memcache.get - do you know how to do this? [20:10] wavded has joined the channel [20:10] wavded has left the channel [20:12] ivaldi has joined the channel [20:13] stagas: jellosea: can't you call a function in the callback function? [20:13] brolin has joined the channel [20:13] jellosea: how do i pass that functino to the callback function [20:13] polo has joined the channel [20:14] aheckmann has joined the channel [20:15] stagas: jellosea: foo(function() { bar() }) ? need to see some code.. [20:15] jellosea: i want to call function a, after the callback.. so i have memcached.get('key', function(error, answer) { }); how do i call function a in the callback ( function (error, answer() ); [20:15] jellosea: i need to pass a somehow into the callback [20:16] jellosea: or is it scoped somehow [20:16] jellosea: oh.. it is in scope? [20:17] stagas: jellosea: foo = function(a, cb1, cb2) { memcache.get(a, function() { cb1(cb2) }) }; foo(a, b, c); [20:17] stagas: :P [20:17] Rubikzube has joined the channel [20:18] stagas: something like that maybe, you need to write a wrapper fn [20:18] jellosea: what is cb1(cb2) [20:18] stagas: functions [20:19] jellosea: no i mean why are u calling cb1(cb2) ... [20:19] NHQ has joined the channel [20:19] jellosea: function () { cb1(cb2)} [20:19] jellosea: what is that.. [20:19] stagas: I'm passing cb2 to cb1 so it can call it when it finsihes [20:19] tbranyen: javascirpt [20:20] jellosea: i can't do that [20:20] jellosea: because the callback is called with parameters that i need [20:20] stagas: pass them along [20:20] jellosea: the memcache callback is called with the response [20:20] xeodox has joined the channel [20:23] Putput has joined the channel [20:23] jellosea: stagas: http://pastie.org/2250376 [20:24] jellosea: hwo do i get callback to be called at the end of the memcache callback [20:24] tsenga_ has left the channel [20:24] jellosea: i want it to be called after the this.SimpleUserData scall [20:24] cognominal_ has joined the channel [20:26] stagas: jellosea: insert a line after 6: callback(); [20:26] jellosea: stagas: actually yeah sorry i got that.. the problem is.. [20:26] Rubikzube has joined the channel [20:26] sirdancealot has joined the channel [20:26] Putput: Hey everyone. How would you intercept an http request on the server, similar to java servlet filters? I want to make a node module for security. [20:26] jellosea: one sec [20:27] tmpvar has joined the channel [20:27] tbranyen: tjholowaychuk: how long has ejs had filters? [20:27] tbranyen: just realized they look almost identical to mine heh [20:28] Libra102 has joined the channel [20:28] tommyvyo has joined the channel [20:29] stagas: jellosea: https://gist.github.com/a8342a71a61f0d2adf63 [20:29] jellosea: stagas: //pastie.org/2250398 how do i get u.getSImpleUserData() to be called after the object has been created and the memcache callback has executed? [20:30] brolin_ has joined the channel [20:30] isaacs: japj: have you seen this? https://github.com/iriscouch/follow [20:30] isaacs: japj: basically, you just point it at a couch, and it will make very damn sure that you get called for every change. [20:31] jellosea: stagas: right, i got that part.. the problem is that in the callback I pass, i can't use a reference to the object i create because it hasn't been created yet.. [20:31] stagas: jellosea: new User(x, function() { this.getSimpleUserData() }); [20:31] jerrysv: jasonsmith++ [20:32] stagas: jellosea: and in User, var self = this; .. in memcached callback: callback.call(self) [20:32] jellosea: is there a way i can get this to be done synchronously.. [20:32] jellosea: one sec lemme try that first [20:32] stagas: jellosea: no [20:33] alexandere has joined the channel [20:33] jellosea: stagas: not even with fibers? [20:33] stagas: jellosea: don't care about that, we're talking pure js here [20:33] gxdssoft has joined the channel [20:33] jellosea: stagas: ok [20:34] japj: isaacs: yes, it was suggested to me aswell in http://groups.google.com/group/nodejs/msg/364834e6cae47196 but thanks for the heads-up ;) [20:34] blakmatrix has joined the channel [20:34] jellosea: why do i need the var self = this; [20:34] stagas: jellosea: because you need to call the callback in the scope of User [20:35] iFire has joined the channel [20:35] stagas: jellosea: so we're storing it in 'self' to use it in callback.call(self); which is in another scope (the memcache callback scope) [20:35] NHQ: Is there anything special I need to do for fs.mkdir('/public/newDir', 644) to work? I get no errors, but the directory is not being created [20:36] jellosea: so what is "this" in new User(x, function() { this.getSimpleUserData() }); [20:36] isaacs: japj: https://gist.github.com/1098137 [20:36] jellosea: is it a reference to the object that is going to be created? [20:36] stagas: jellosea: the first parameter of .call [20:36] taf2_: NHQ... hrm are you waiting for it to finish? [20:36] stagas: jellosea: is the scope [20:36] stagas: jellosea: so 'this' [20:36] Rubikzube has joined the channel [20:36] stagas: jellosea: so the anon fn we call in new User will be called in the User scope (hopefully) [20:36] stagas: :P [20:37] NHQ: taf2_ I believe so. How long should it take? I also tried with mkdirSync [20:37] NHQ: but i get an error with that [20:37] jellosea: i dont get " in memcache callback, callback.cal(self)) [20:37] stagas: jellosea: what? [20:38] jbrokc has joined the channel [20:38] jellosea: and in User, var self = this; .. in memcached callback: callback.call(self) [20:38] NHQ: taf2_ also I am not doing anything the new dir yet, just looking in to see if was created [20:39] stagas: jellosea: https://gist.github.com/e9e6f2dc2f7faf58316b doesn't this work? [20:39] taf2: hrm.. not sure maybe console.log the path you're trying to make and try it with mkdir ? [20:39] zeade has joined the channel [20:40] themiddleman_itv has joined the channel [20:40] stagas: jellosea: there's a typo in 4 [20:40] CIA-65: node: 03Ryan Dahl 07master * ra0198d0 10/ Makefile : Remove logos from package - https://github.com/joyent/node/commit/a0198d065d70d1ce4c06bdc12e6d31bfa1658a7a [20:40] clyfe has joined the channel [20:40] lucas-a has joined the channel [20:40] jellosea: i don't understasnd callback.call(self) [20:40] jellosea: callback right now is this.getSimpleUserData(); [20:40] clyfe: how can I specify git dependencies with NPM? [20:41] isaacs: clyfe: git dependenices? [20:41] jellosea: and then we are calling this.getSimpleUserData().call(self); ??? [20:41] stagas: jellosea: .call is a function that calls the function with specified scope and parameters [20:41] stagas: jellosea: there's also .apply that does the same thing with an array of arguments [20:41] mcluskydodallas has joined the channel [20:41] clyfe: isaacs: I'd like to use NPM like bundler does [20:42] jellosea: oh.. i see [20:42] jellosea: man so complicated :S [20:42] NHQ: @taf2 oh actually I am getting an error: ENOENT, No such file or directory \'/pubic/images/johnny\' [20:42] isaacs: clyfe: i don't know how bundler handles git. [20:42] stagas: jellosea: so callback.call(self); calls callback with scope 'self' (in this case User) and no parameters [20:42] stagas: jellosea: no it's really simple [20:42] jellosea: right.. [20:42] isaacs: clyfe: but you cannot specify a git url as a dependency, no. [20:42] Rubikzube has joined the channel [20:43] perlmonkey2 has joined the channel [20:43] jellosea: stagas: it makes the code so ugly though.. because i'm calling this.SimpleUserData() when i really want to call u.SimpleUserData() [20:43] isaacs: clyfe: you can do the name:version in your package.json, and "bundleDependencies":["name"] as well, and then check it out as a submodule in node_modules/name [20:43] isaacs: clyfe: look at npm's package.json and node_module folder: https://github.com/isaacs/npm [20:43] stagas: jellosea: u make work [20:43] stagas: may [20:43] japj_ has joined the channel [20:43] perlmonkey2 has joined the channel [20:44] isaacs: clyfe: if what you want is just to have changes be immediately reflected, then yoiu don't want all that. you want link. [20:44] isaacs: clyfe: npm link ../my-other-project [20:44] japj_: strange dc'ed [20:44] stagas: jellosea: but you don't always know the name of the variable, so 'this' is better [20:44] japj_: isaacs: before I'm gonna setup all dependencies... should that be able to work on windows yet? (sry, I dc'ed so didnt get a response if there was any yet ;) [20:44] stagas: jellosea: if you would be reusing the callback [20:44] clyfe: isaacs: This has already been tought out and decided, not to suport dependencies from git ? [20:45] isaacs: clyfe: yes. [20:45] jellosea: btw its not working... [20:45] clyfe: isaacs: Ok, thx [20:45] jellosea: the outpit is just undefined [20:45] isaacs: clyfe: when npm sees a .git folder, it just throws up its hands and refuses to do anything to it. [20:45] isaacs: clyfe: it's too hazardous [20:45] adambeynon has joined the channel [20:45] isaacs: clyfe: if a package has a git repo url, though, you can easily add the submodule via: npm submodule pkgname [20:46] stagas: jellosea: oh this.simpleUserData where does that live? [20:46] isaacs: clyfe: and you can update the submodule with `npm explore pkgname -- git pull origin master` [20:46] stagas: jellosea: in memcached or User ? [20:46] stagas: jellosea: if it's User then you should do self.SimpleUserData = ... [20:47] stagas: jellosea: need to go out and dance, quickly :P [20:47] clyfe: isaacs: The idea is I'd lime to use coffeekup 0.3beta that has not yet been released, but not make it a git submodule, it seems rather a hard stem for a light operation [20:47] jellosea: stagas: its okay i'll figure it out [20:47] jellosea: in User [20:47] jellosea: ok [20:47] stagas: jellosea: then try self.SimpleUserData = PHPIObject..... [20:47] clyfe: *like [20:47] stagas: and it'll work [20:47] isaacs: clyfe: you can also install tarball urls if you really want. [20:47] stagas: cya! :) [20:47] jellosea: whats the difference between self and this [20:47] jellosea: ? [20:47] isaacs: clyfe: npm install https://github.com/user/project/tarball/master [20:47] jellosea: before you go pls [20:47] Rubikzube has joined the channel [20:47] clyfe: *step [20:47] sonnym has joined the channel [20:48] isaacs: clyfe: and then bundle it and depend on the newer version [20:48] digman543 has joined the channel [20:48] roger_raymond has joined the channel [20:48] NHQ: i am a doofus [20:49] stagas: jellosea: 'self' is just a variable name [20:50] jellosea: oh right [20:50] jellosea: okay [20:50] cjroebuck has joined the channel [20:50] stagas: jellosea: we just store User like: var self = this [20:50] stagas: jellosea: so we can use it in the callbacks of the below functions because we lose it there [20:51] Putput: How would I intercept a http request, like a Java servlet filter does? [20:51] stagas: jellosea: 'this' changes in every fn call [20:51] jellosea: yeah works [20:51] jellosea: stagas: right [20:51] jellosea: ok thanks a lot i appreciate it! [20:52] stagas: jellosea: np welcome to javascript world! :) [20:52] mange has joined the channel [20:52] stephanepayrard_ has joined the channel [20:53] Rubikzube has joined the channel [20:53] stagas: jellosea: and all its weirdness [20:53] stagas: :P [20:54] bitwise_ has joined the channel [20:55] quackquack has joined the channel [20:55] quackquack: what are the acceptable encodings for `fs.writeFile`? im trying to write a binary file and the default isnt working [20:56] patrickjst has joined the channel [20:57] xerox: use 'binary' [20:58] Rubikzube has joined the channel [20:58] Nuck has joined the channel [20:58] quackquack: When try the read the file it creates with `binary` i get: "Error interpreting JPEG image file (Not a JPEG file: starts with 0xfd 0xfd)" [20:58] hassox has joined the channel [20:59] xerox: https://github.com/joyent/node/blob/master/lib/buffer.js#L68 [20:59] quackquack: ty [21:00] iammerrick has joined the channel [21:00] xerox: let's see v0.4 tho [21:00] xerox: yep same https://github.com/joyent/node/blob/v0.4/lib/buffer.js#L51 [21:01] ryah: dont use 'binary' [21:01] ryah: use buffers.. [21:01] cognominal_ has joined the channel [21:01] xerox: I have no idea what I am talking about [21:02] cl0udy has joined the channel [21:02] quackquack: I have a binary string of a JPG i downloaded.. how do i get that into a file? [21:03] xerox: new Buffer(string_goes_here) ? [21:03] bnoordhuis: quackquack: is it a string or a buffer? [21:03] bnoordhuis: because strings aren't binary [21:03] Rubikzube has joined the channel [21:04] quackquack: bnoordhuis: its a string, i downloaded it using the `request` library from npm [21:04] smolyn has joined the channel [21:04] bnoordhuis: quackquack: there you go, you need it as a buffer [21:05] quackquack: so `new Buffer(string)`, then what [21:05] Murvin has joined the channel [21:05] quackquack: does writeFile take a buffer? [21:05] xerox: yes [21:05] joshthecoder has joined the channel [21:06] xerox: http://nodejs.org/docs/v0.4.10/api/fs.html#fs.writeFile [21:06] Fuu`: stagas: thanks for explaining the usage of the self var with callback, it helped me also :) [21:07] quackquack: xerox: it still produces a bad jpg [21:07] Rubikzube has joined the channel [21:07] samBiotic has joined the channel [21:07] jhbot has joined the channel [21:09] TheJH: jhbot is a bot that can search for nodejs issues, search for npm packages, look up npm package authors and memorize facts, say "help" in query for help [21:10] iFire has joined the channel [21:10] xerox: quackquack: paste the thing somewhere [21:11] Rubikzube has joined the channel [21:12] bnoordhuis: quackquack: new Buffer(string) <- doesn't cut it, you should never ever have a string [21:12] bnoordhuis: quackquack: as soon as it's a string, your binary data is dead [21:13] quackquack: bnoordhuis: how do i keep from getting a string then? [21:14] quackquack: xerox: https://gist.github.com/1098214 (its coffeescript) [21:15] nivoc has joined the channel [21:15] cl0udy has joined the channel [21:15] bnoordhuis: quackquack: don't know how to with request but node's http api simply passes you buffers [21:15] bnoordhuis: unless you set req.setEncoding() [21:16] jacobolus has joined the channel [21:16] quackquack: alright, ill try that. thx, bnoordhuis [21:17] Putput: I think you should open the file first, as binary [21:17] gxblast has joined the channel [21:17] Putput: *quack quack [21:17] Renegade001 has joined the channel [21:17] iFire` has joined the channel [21:17] xerox: 'encoding': 'binary' doesn't seem to be enough [21:17] gxblast has left the channel [21:17] Putput: then use fs.write instead of fs.write file [21:18] Putput: *fs.writefile seems to only write strings [21:18] AvianFlu_ has joined the channel [21:19] xerox: ah no it does work [21:19] xerox: if you put 'encoding': 'binary' in the request options [21:19] xerox: and add 'binary' as a third option to fs.writeFile [21:19] xerox: $ file cat.png [21:19] xerox: cat.png: PNG image data, 484 x 332, 8-bit/color RGB, non-interlaced [21:19] xerox: :D [21:19] CIA-65: node: 03Ryan Dahl 07master * ra6a3bf6 10/ test/common.js : escape backslashes for windows pipe name - https://github.com/joyent/node/commit/a6a3bf6d470dbc2cd167c9d7788181793d0dc8a0 [21:20] xerox: quackquack: ^ [21:20] quackquack: xerox: yeah, i saw, im trying it now [21:20] hellp has joined the channel [21:20] gxdssoft has joined the channel [21:20] quackquack: xerox: you did `request {url: url, encoding: 'binary'}`? [21:21] fille has joined the channel [21:21] quackquack: sorry, `uri: url` for that first option [21:21] xerox: http://pastebin.com/iYAsYEvm [21:22] markwubben has joined the channel [21:22] quackquack: xerox: thanks! that got it working =D [21:22] xerox: thank the other guys! [21:23] quackquack: thanks everybody :) [21:23] xerox: no cat was harmed during this experiment [21:24] sammmy has joined the channel [21:25] gxblast has joined the channel [21:26] iFire has joined the channel [21:28] zeade has joined the channel [21:29] charleyd has joined the channel [21:29] jbrokc has joined the channel [21:29] slifty has joined the channel [21:29] alnewkirk has joined the channel [21:30] Renegade001 has joined the channel [21:31] fille has left the channel [21:31] yhahn has left the channel [21:31] e6nian: would node.js be runned in chrome browser in some way? [21:31] euforic has joined the channel [21:33] Aiden has joined the channel [21:33] e6nian: I wanna crawl something in the chrome [21:33] TheJH: e6nian, nodes engine (v8 by google) is chromes engine [21:34] TheJH: e6nian, make a chrome "extension" or so [21:35] e6nian: TheJH: Yep,I know that. [21:35] TheJH: e6nian, which part of node do you need in the browser? [21:36] charleyd has joined the channel [21:36] e6nian: TheJH: So it's easy,without HttpServer :) [21:37] e6nian: TheJH: I just to include the modules in my own way to do that [21:37] srid has joined the channel [21:38] TheJH: e6nian, I don't really understand you, could you try to rephrase it? [21:38] sstreza has joined the channel [21:39] ajsie has joined the channel [21:39] pgte has joined the channel [21:40] e6nian: TheJH: use XMLHttpRequest to crawl something on the web,then post the data to the server side. :) [21:40] perlmonkey2 has joined the channel [21:41] pgte has joined the channel [21:41] TheJH: e6nian, I think that extensions are allowed to bypass same origin policy [21:41] sstreza has joined the channel [21:41] fdenbow has joined the channel [21:41] e6nian: TheJH: Yeh,that's a good idea! I only have to write an extension for this. [21:42] cognominal has joined the channel [21:42] NHQ: can somebody explain why this returns error 'Cannot call method 'isDirectory' of undefined' -----. fs.stat('path/...', function(err, stats){console.log(stats.isDirectory)}) [21:43] NHQ: ooops .... stats.isDirectory() [21:43] TheJH: e6nian, you can also use the emulated cross-domain-websocket of socket.io or so, should work without extensions [21:43] NHQ: or how does one access the fs.Stats from a fs.stat() repsonse? [21:44] technoweenie has joined the channel [21:44] tantek has joined the channel [21:44] e6nian: TheJH: All right! that's a cool idea! [21:45] isaacs: NHQ: fs.stat("some-file", function (er, theStatsObject) { ... }) [21:45] isaacs: NHQ: or, blockingly: var theStatsObject = fs.statSync("some-file") [21:45] TheJH: NHQ, maybe err isn't null? check for err [21:45] isaacs: NHQ: oh, yeah, probably it doesn't exist [21:45] e6nian: TheJH: like bit icon running in the browser. [21:46] e6nian: bitcoin bot [21:46] NHQ: @isaacs it doesn't seem to be returned with the callback [21:46] isaacs: NHQ: what's err? [21:46] NHQ: null [21:46] isaacs: please gist your code. [21:46] e6nian: TheJH: https://chrome.google.com/webstore/detail/hhbhfoohbnjkdcndbhjlicijccioklea [21:47] versicolor has joined the channel [21:47] isaacs: > fs.stat(".", function (er, s) { console.error(s.isDirectory()) }) [21:47] isaacs: > true [21:49] Chani has joined the channel [21:49] Chani: hey guys [21:49] NHQ: @isaacs https://gist.github.com/1098304 [21:49] Chani: I have a program that opens a file in append mode, with fs.open(file, 'a', ... [21:49] Chani: works fine for me [21:50] isaacs: NHQ: bug? if (err || !stats.isDirectory()) [21:50] isaacs: don't you mean if (!err && !stats.isDirectory())? [21:50] Chani: but on my TA's computer, it fails unless the file exists. [21:50] Chani: ohh wai [21:50] mikeal has joined the channel [21:50] Chani: I bet it's the copy that fails. ut I protected that! [21:50] Chani: still, *something* is working on my computer but not his [21:51] pNstK has joined the channel [21:51] kkaefer: spcshpopr8r: did you manage to get sqlite3 compiled? [21:51] NHQ: @isaacs actually i did it that way b/c !stats.isDirectory() returns an error, but if you try to read stats on a dir that doesn't exists you get an error, so if (err) means the dir doesn't exists... a work around the problem i am experiencing [21:51] Chani: var reader = fs.createReadStream(txn.path); [21:51] nivoc has left the channel [21:51] NHQ: @isaacs technically, as it stands, the || !stats.isDir() doesn't do anything [21:51] Chani: ^^^ if the file passed does not exists, is it possible for that to throw an error before I've had a chance to set an error handler? [21:51] isaacs: NHQ: so, if there IS an error, THEN you check stats.isDirectory()... [21:52] isaacs: NHQ: that doesn't seem right. [21:52] isaacs: NHQ: reduce to a smaller test case. [21:52] TheJH: Chani, I don't think so [21:52] softdrink: does anyone know of anything like FlashFirebug or Flashbug but for Chrome? [21:52] NHQ: @isaacs if there is an error from trying to read fs.stat then I know it doesn't exists (in my mock scenario) [21:52] NHQ: ok [21:53] TheJH: softdrink, what does it do? [21:53] softdrink: debugs flash [21:53] softdrink: (dont hit me) [21:53] softdrink: (we're moving away from it) [21:53] Chani: TheJH: how sure are you? [21:53] Prometheus: ACTION spills softdrink just in case [21:53] isaacs: NHQ: try this: require("assert").ok( err || (stats && stats instanceof fs.Stats) ) [21:53] softdrink: ACTION dies [21:53] Chani: because *something* is throwing an uncaught exception [21:54] Chani: and I'm catching everything I can think of except that [21:54] Chani: i used on('error' ... [21:54] TheJH: Chani, how does the error message look? Can you gist the whole stacktrace? [21:54] heavysixer has joined the channel [21:56] fdenbow has joined the channel [21:56] jameson has joined the channel [21:57] Chani: TheJH: it was ujst an uncaught exception from somewhere in node. ENOENT. [21:57] Chani: what's gist? [21:57] Chani: a pastebin? [21:57] TheJH: Chani, pastebin and more. https://gist.github.com/ [21:58] pandeiro has joined the channel [21:58] Chani: damnit. that wasn't it [21:59] AvianFlu: I mean, ENOENT means a file or dir doesn't exist [21:59] fdenbow has joined the channel [21:59] AvianFlu: weren't you trying to stat something? [21:59] Chani: AvianFlu: yeah. a file I'm writing to. [21:59] Chani: I did createReadStream, and then later open in append mode. those should be the only ways I touch the file [21:59] AvianFlu: what write method do you use after createReadStream [22:00] Chani: https://gist.github.com/1098338 [22:00] AvianFlu: is that a space in that dir name? [22:00] Chani: AvianFlu: pipe [22:00] Chani: and yes :/ [22:00] AvianFlu: well that's an unescaped space [22:00] Chani: oh? [22:00] AvianFlu: try it with a "\ " [22:00] AvianFlu: yeah bash ain't down with that [22:01] Chani: node uses bash?? [22:01] TheJH: Chani, it doesn't [22:01] AvianFlu: node is run by bash, no? [22:01] benjaminRRR has joined the channel [22:01] AvianFlu: me saying 'bash' isn't right [22:01] TheJH: AvianFlu, it doesn't use bash to access files, NO! [22:01] Chani: AvianFlu: by that logic, everything is run by bash... [22:01] NHQ: @isaacs excuse my naivette but is require("assert").ok( err || (stats && stats instanceof fs.Stats) ) = if statement? [22:01] AvianFlu: the syscall that does the file I/O doesn't like the unescaped space maybe [22:01] AvianFlu: forget I said bash [22:02] TheJH: AvianFlu, syscalls only don't like nullbytes [22:02] AvianFlu: Chani pasted: Error: ENOENT, No such file or directory '/home/mroth/Dropbox/School/TA/Cmpt 431/a2/cea5/tmp/test_file.txt' [22:02] AvianFlu: that to me looks like a path with an unescaped space [22:02] AvianFlu: I don't care who's trying to parse it, try a backslash in there [22:02] Chani: I didn't realize node required them to be escaped. [22:03] Chani: yeah, we're trying... [22:03] TheJH: Chani, it doesn't [22:03] AvianFlu: I'm telling you to try it because *I THINK* it's worth a shot [22:03] jerrysv: shouldn't. does that tmp directory actually exist? [22:03] AvianFlu: and it's an easy test [22:04] TheJH: Chani, could you also gist your code? [22:04] Chani: AvianFlu: that's not it [22:04] Chani: no space, same error [22:04] Chani: jerrysv: yep. [22:04] AvianFlu: gist the code then, that error is too short to help [22:04] Chani: once a file has been touched, it works [22:04] Chani: the code is kinda long, but ok... [22:06] Chani: http://chani.ca/temp/server.js [22:06] jerrysv: chani: also, willing to try it in a different directory without dropbox? just to eliminate an external service [22:06] Chani: there ya go. all teh code [22:07] Chani: hmm. how could dropbox mess it up? [22:07] hurreman has joined the channel [22:07] jerrysv: chani: dropbox is mounted as a filesystem, which could be slow at actually creating the file [22:07] Chani: huh. [22:07] jerrysv: just a thought [22:07] jerrysv: eliminate a variable [22:07] Chani: but my code should be *catching* any errors... [22:08] Chani: unless pipe throws directly instead of going through the readstream [22:09] TheJH: Chani, seems like the source of the pipe call doesn't have an error handler [22:09] digiwano has joined the channel [22:10] TheJH: no, it has one... [22:10] Chani: TheJH: everything has an error handler.. and yet.. [22:10] Chani: wait [22:10] NHQ: @isaccs two cases, when the dir does and does not actually exists: https://gist.github.com/1098357 [22:10] Chani: the ta *told* me he's using the patched version of node [22:10] Chani: maybe he's using hte buggy version that throws extra errors! [22:11] TheJH: Chani, you didn't try it yourself? [22:12] skm has joined the channel [22:12] mikeal has joined the channel [22:12] perezd has joined the channel [22:13] Chani: aha [22:14] Chani: TA did *not* read the readme :) :) [22:14] jshaw has joined the channel [22:14] Chani: hopefull this means it's aaallll his fault :) [22:15] Chani: TheJH: I have this terrible habit of believing what people say. [22:15] Chani: ACTION waits for the good node to compile [22:15] brianm has joined the channel [22:15] brianm has joined the channel [22:16] admc has joined the channel [22:16] NHQ: @isaacs require("assert").ok( err || (stats && stats instanceof fs.Stats) ) is undefined [22:16] damienbrz has joined the channel [22:17] softdrink: any idea why socket.io would just close a flash socket when i send something to it from the socket? [22:17] TheJH: Chani, sometimes you have to choose between annoying people and risking to believe wrong things :D [22:17] Chani: yep [22:17] brianc2 has joined the channel [22:17] forzan has joined the channel [22:17] Chani: I've learned this lesson before, but forgot it again [22:18] Chani: *always* triple check the stupiid things [22:18] Chani: man, his computer is slow [22:18] Chani: still compiling [22:18] Chani: ACTION hugs her SSD [22:19] Chani: yaay! it works [22:19] Chani: thanks guys [22:19] Chani: haha [22:20] sonnym has joined the channel [22:20] digman543 has joined the channel [22:22] sammmy: what works? [22:22] [[zz]] has joined the channel [22:22] gwoo has joined the channel [22:22] gwoo has joined the channel [22:23] guidocalvano_ has joined the channel [22:24] Ramosa: in what linux folder should I be when I execute git clone --depth 1 git://github.com/joyent/node.git ? [22:25] TheJH: Ramosa, a folder in your homefolder for git repos, you could call it "git" or so [22:25] TheJH: e.g. /home/ramosa// [22:25] rfay has joined the channel [22:26] Ramosa: thanks [22:27] CrisO has joined the channel [22:27] brianm has joined the channel [22:27] brianm has joined the channel [22:28] pig has joined the channel [22:28] broofa_ has joined the channel [22:29] Sorella has joined the channel [22:29] gxdssoft has joined the channel [22:30] Wa has joined the channel [22:32] brianseeders has joined the channel [22:33] pig has joined the channel [22:33] frodenius has joined the channel [22:34] jbpros has joined the channel [22:37] unlink has joined the channel [22:37] unlink has joined the channel [22:39] robi42 has joined the channel [22:41] robi42 has joined the channel [22:42] softdrink: ACTION stabs flash in the face [22:42] Ramosa: when I did ./configure i got g++/c++/icpc not found.. I probably need a lot of packages to setup a build environment.. I got only libssl-dev manually. You got a link to a site that shows me how to get all that I need to build node.js? (for Debian) [22:42] CIA-65: node: 03Ryan Dahl 07master * r20ced0e 10/ Makefile : Add tls tests to test-uv - https://github.com/joyent/node/commit/20ced0ea1e8c440c2dbd13f1aa67cc35f317a85c [22:43] dgathright has joined the channel [22:44] TheJH: Ramosa, apt-get install build-essentials [22:45] TheJH: oops, wrong name [22:45] TheJH: Ramosa, apt-get install build-essential [22:46] Ramosa: unable to locate package build-essentials [22:46] admc1 has joined the channel [22:46] hurreman: I'm having issues when using the Date Object in node. I'm just creating a Date object, but when trying to call any of the date methods, I'm getting "TypeError: Object Fri Jul 22 2011 00:44:00 GMT+0200 (CEST) has no method ''". Any hints? [22:46] cha0s has joined the channel [22:46] TheJH: Ramosa, that last "s" was wrong, sorry [22:46] TheJH: hurreman, can you gist/pastebin your code? [22:47] mcluskydodallas has joined the channel [22:47] cesutherland has joined the channel [22:47] hurreman: TheJH: ofc, just a sec [22:48] Ramosa: yep that worked [22:48] sounko has joined the channel [22:51] alessioalex has joined the channel [22:51] devongovett has joined the channel [22:51] alessioalex: hello [22:51] alessioalex: I've installed Node.js on Ubuntu with the package manager [22:51] TheJH: alessioalex, hello [22:51] alessioalex: what is the path of Node.js now? [22:51] gxdssoft has joined the channel [22:51] alessioalex: cuz it's not /usr/local/bin/node [22:51] zivester has joined the channel [22:51] TheJH: alessioalex, "whereis node" should tell you [22:52] spcshpopr8r: regarding: https://gist.github.com/1098430 do I have any other alternative then to downgrade node to < 0.5 ? [22:52] alessioalex: thanks a lot TheJH [22:53] willwhite has joined the channel [22:53] cccaldas_ has joined the channel [22:54] TheJH: spcshpopr8r, ask visionmedia [22:54] Sam_K has joined the channel [22:54] gnujach has joined the channel [22:55] Sam_K: Hi everyone :) [22:55] Prometheus: tjholowaychuk you mean :P [22:55] CIA-65: node: 03Ben Noordhuis 07master * r59b0442 10/ lib/net_uv.js : [22:55] CIA-65: node: net_uv: defer handle creation to connect() or bind() time [22:55] CIA-65: node: Fixes #1379. - https://github.com/joyent/node/commit/59b04427d36b3b2f271daf7be3010b8a915c84b4 [22:55] CIA-65: node: 03Ben Noordhuis 07master * r07bcdc2 10/ lib/net_uv.js : net_uv: release uv handle in Socket.prototype.destroy() - https://github.com/joyent/node/commit/07bcdc2f5135c77baf37d4d037f88e8f7b06af5f [22:55] CIA-65: node: 03Ben Noordhuis 07master * r8ddb334 10/ lib/net_uv.js : net_uv: emit 'close' event in Server.prototype.close() - https://github.com/joyent/node/commit/8ddb334c2aaf0f389779d4d8d5d5b8754bf8c74d [22:55] CIA-65: node: 03Ben Noordhuis 07master * r345df28 10/ (Makefile test/simple/test-pipe-stream.js): [22:55] CIA-65: node: test: test pipe API with raw net.Stream() object [22:55] CIA-65: node: Test case for #1379. - https://github.com/joyent/node/commit/345df289eb775aa2c195056ab88adf2c6ab95d66 [22:56] hurreman: TheJH: http://pastebin.com/tZ7uYZvK [22:56] Sam_K: Is there a known bug with HTTPS.close() ? [22:56] Sam_K: I am Windows using the new windows node.exe and everytime I call it, node.exe crashes [22:57] Sam_K: *on* windows [22:57] TheJH: !issue search windows https [22:57] jhbot: found issues: 2 [22:57] jhbot: Issue: #1092: CYGWIN(XP) compiled NodeJS cannot use 'dgram.addMembership'. [22:57] jhbot: Issue: #1238: MinGW Node build fails on windows XP sp3 [22:57] spcshpopr8r: well then tjholowaychuk , npm install express results in error on node 0.5.2 ... shall I downgrade node? I'd like not to [22:57] tjholowaychuk: 0.5.x isn't stable [22:58] bnoordhuis: !issue unix [22:58] bnoordhuis: !issue search unix [22:58] jhbot: found issues: 7, showing the first 3 [22:58] jhbot: Issue: #231: stream.open( , 'unix' ) while marked as readable does not start the readWatcher [22:58] jhbot: Issue: #1282: Hangover when creating a no unixpath UDP socket [22:58] jhbot: Issue: #589: issues with resolving DNS on OS X Snow Leopard [22:58] bnoordhuis: spiffy! [22:58] bnoordhuis: TheJH: can it do more? [22:58] spcshpopr8r: uh...you're right...I'm sorry, moving too fast [22:58] TheJH: bnoordhuis, send "help" in query [22:58] spcshpopr8r: ACTION is slightly embarrassed [22:59] bnoordhuis: !help [22:59] jhbot: command: remember [22:59] jhbot: command: issue search [22:59] jhbot: command: mem [22:59] jhbot: command: coffee compile [22:59] jhbot: command: admin join [22:59] jhbot: command: admin say [22:59] jhbot: command: admin testAccountLookup [22:59] jhbot: command: npm owner [22:59] jhbot: command: npm search [22:59] jhbot: command: help [22:59] bnoordhuis: !remember the milk [22:59] bnoordhuis: hah [22:59] Sam_K: wow that's pretty cool [22:59] jerrysv: !npm search date [22:59] TheJH: oops, what was that? [22:59] Sam_K: lol [23:00] hurreman: :D [23:00] isaacs: whoa, wut? [23:00] isaacs: !npm owner npm [23:00] isaacs: !help [23:00] isaacs: oh, it's gone [23:00] TheJH: bnoordhuis crashed it, wait... [23:00] yozgrahame has joined the channel [23:00] Aikar: !npm search npm [23:00] Aikar: it no worky [23:00] isaacs: TheJH: it should print help in PM [23:00] jerrysv: hahahaha [23:00] blueadept: anyone know why i'm getting a "undefined is not a function" on this? http://pastie.org/private/kjzor6n4d8oziuye7qsg [23:00] TheJH: isaacs, true [23:00] jerrysv: bnoordhuis++ [23:00] catb0t: bnoordhuis now has 1 beer [23:01] jerrysv: bnoordhuis++ [23:01] blueadept: console.log prints the key, but i'm trying to just send it back if it's actually valid [23:01] catb0t: bnoordhuis now has 2 beers [23:01] jerrysv: bnoordhuis++ [23:01] catb0t: bnoordhuis now has 3 beers [23:01] isaacs: blueadept: sorry, snarky answer, but i'm guessing "callback" isn't a function. [23:01] Aikar: lol [23:01] Aikar: mt [23:01] blueadept: hm [23:01] Hurreman1 has joined the channel [23:01] isaacs: blueadept: my guess would be that it's "undefined". maybe you're only calling validate with one argument? [23:02] blueadept: i think i know what's wrong [23:02] Sam_K: so if none of the issues hown by jhbot matches my problem, where should I go to file a bug report? (Sorry, I am new here) [23:02] blueadept: ah yes [23:02] blueadept: i was calling the same function a bunch of other times without the callbacks [23:03] blueadept: figured it out, thanks! [23:03] bnoordhuis: Sam_K: 0.5.x is still alpha, https support is in the works [23:04] jhbot has joined the channel [23:04] klovadis has joined the channel [23:04] TheJH: ok, it's back [23:04] jerrysv: !npm search date [23:04] isaacs: !npm search npm [23:04] jhbot: packages (truncated): chess, chrono, contracts, date, date-utils, dateformat, datejs, datetime, DateZ, dt, express-validate, facebook-session-cookie, forms, globalize, googlediff, jquery.ui.datepicker, jslint-strict, jsondate, jsonlint, jsup [23:04] isaacs: hmm... [23:05] Sam_K: Well so far everything works in HTTPS except close() [23:05] jhbot: packages (truncated): ahr2, browser-require, browserify, bumper, CLoader, courier, datejs, detect, g.raphael, liberator, mymodule, neco, ngen-basicexample, nithub, nopt, npm, npm-deploy, npm-docsite, npm-github-service, npm-intro-slides [23:05] SubStack: neat [23:05] TheJH: issue search caches the whole issues db after the first request, but npm search needs the network [23:05] Sam_K: So devs aren't interested in bug reports until stable is released? [23:06] TheJH: SubStack, thanks :) [23:06] isaacs: Sam_K: bug reports are always welcome. [23:06] isaacs: Sam_K: you mean bug reports to node? [23:06] Sam_K: I have already created a minimal test script that replicates [23:06] Sam_K: yes a bug that causes node.js to crash [23:06] bnoordhuis: Sam_K: no external dependencies? [23:06] Sam_K: none [23:06] tbranyen: tjholowaychuk: yooooo, brah got q for u [23:06] tjholowaychuk: tbranyen yo [23:06] isaacs: Sam_K: yes, please post it at http://github.com/joyent/node/issues [23:07] Sam_K: thanks [23:07] isaacs: np [23:07] bnoordhuis: Sam_K: great, we like standalone test cases [23:07] tbranyen: tjholowaychuk: so i want to my template engine express compliant, but i'm not really seeing any good examples of what exactly i need to expose [23:07] Sam_K: I had to make it to prove to myself that it wasn't my fault [23:07] strangedude has joined the channel [23:07] tbranyen: the docs say all i need to expose is a compile method [23:07] slifty_corsair has joined the channel [23:07] SubStack: isaacs: going to crash your joyent javascript party again [23:07] tbranyen: but like... i want partials support and shit like that [23:08] isaacs: SubStack: aweosme. hey, speaking of which, i should go over to that side of teh office.. [23:08] tjholowaychuk: tbranyen: yeah basically you just need engine.compile(str, options) => Function [23:08] tbranyen: thats it? [23:08] tjholowaychuk: and that function needs the signature fn(locals) [23:08] tbranyen: mustache.js had a few other properties [23:08] Hurreman1: hmm [23:08] TheJH: Hurreman1, you're calling functions that don't exist [23:08] Reginald_T_B has joined the channel [23:08] vikstrous has joined the channel [23:08] tbranyen: tjholowaychuk: okay cool, well if thats it, should be cake to make compliant then [23:09] bwinton has joined the channel [23:09] tommyvyo has joined the channel [23:09] visudo has joined the channel [23:10] thorsteinsson has joined the channel [23:10] seb_m has joined the channel [23:10] TheJH: hurreman, see https://gist.github.com/180a3500030bac059fe2 [23:11] TheJH: Hurreman1, only those functions exist on Date objects [23:11] nadirvardar has joined the channel [23:11] Dreamer3 has joined the channel [23:12] davidcoallier has joined the channel [23:12] spcshpopr8r has left the channel [23:12] Hurreman1: TheJH: But the functions I'm calling are a part of that list (aka similiar to what's in the V8 and W3C specs) [23:12] Dreamer3 has joined the channel [23:13] TheJH: Hurreman1, what about getFullMonth? [23:13] Hurreman1: Ow [23:13] TheJH: :) [23:13] Hurreman1: Ok, embarrasing [23:14] DrPizza: bnoordhuis: Are any of the more Windows-oriented developers in the channel? [23:14] bnoordhuis: maybe piscisaureus [23:15] Swizec has joined the channel [23:15] DrPizza: Who's getting paid by MS? [23:16] csanz has joined the channel [23:16] Hurreman1: TheJH: thanks though, would've taken me another hour or more to even look that close [23:20] robi42 has joined the channel [23:20] hassox has joined the channel [23:21] softdrink: anyone use as3compile? [23:22] pig_ has joined the channel [23:27] CIA-65: node: 03Ben Noordhuis 07master * r984dc05 10/ (lib/net_uv.js test/simple/test-http-unix-socket.js): [23:27] CIA-65: node: net_uv: throw if Server.prototype.close() is called twice [23:27] CIA-65: node: Follows net_legacy behaviour. - https://github.com/joyent/node/commit/984dc057e39b09443cb31345b256b596509a588d [23:27] robi42 has joined the channel [23:27] Sam_K: can anyone explain to me why, when you call http.close() the node process does not end and the server continues to accept connections? [23:28] pig has joined the channel [23:29] AAA_awright: Nuck: Have you contemplated going to an existing art community and asking to convert them? [23:29] AAA_awright: A smaller-ish-one looking for a revamped backend, maybe [23:30] perlmonkey2 has joined the channel [23:30] sirdancealot has joined the channel [23:30] Sam_K: THis behaviour is the same for both HTTP and HTTPS modules in both Cygwin 0.4.9 build and native 0.5.1 build [23:31] rhdoenges has joined the channel [23:32] rhdoenges: ping noders! [23:33] tom-j has joined the channel [23:33] TheJH: !iissue search http windows close [23:33] Sam_K: I found the same question asked on Stack Overflow and the answer given was that the server had "keep alive" connections going that keeping it running, but that doesn't seem to make sense because it still does the same thing even when no requests have been made to the server at all [23:33] TheJH: !issue search http windows close [23:33] jhbot: found issues: 3 [23:33] jhbot: Issue: #743: ARM Build Failure on 0.4.0 and 0.4.1 [23:34] jhbot: Issue: #1068: Consider not auto escaping single quote in url.js [23:34] jhbot: Issue: #1176: Bug: http.request socket hang up problem [23:34] jerrysv: !issue 1176 [23:34] TheJH: Sam_K, could you give us the link to that stackoverflow post? [23:35] Sam_K: I'll just find it again.. sec... [23:35] TheJH: jerrysv, no, that one seems it be about the client side [23:36] Sam_K: Here 'tis: http://stackoverflow.com/questions/5263716/graceful-shutdown-of-a-node-js-http-server [23:36] guydoingstuff has left the channel [23:37] jerrysv: thejh: i was just seeing if the bot would give a synopsis over channel [23:37] rhdoenges has joined the channel [23:38] TheJH: Sam_K, the browser and node will hold their connection open for five minutes or so in case they need it again [23:38] TheJH: Sam_K, did you try closing the browser? [23:38] Sam_K: yes I did [23:38] Sam_K: also I tested with making no requests at all [23:38] Sam_K: just closing server right after start up [23:38] TheJH: Sam_K, could you gist the exact code you're using? [23:39] Sam_K: gist? [23:39] TheJH: Sam_K, https://gist.github.com/ kind of a better pastebin [23:39] Sam_K: ok [23:41] frederickcook has joined the channel [23:43] Sam_K: just cleaning up and retesting my demo script [23:43] CIA-65: libuv: 03Ben Noordhuis 07master * r80d804b 10/ config-unix.mk : unix: build with `-Wall -Wextra -Wno-unused-parameter` - https://github.com/joyent/libuv/commit/80d804b909a4eab52a9693167121662db27bb28b [23:43] rhdoenges: ^^ yay! [23:45] AvianFlu has joined the channel [23:45] chjj has joined the channel [23:46] jzacsh has joined the channel [23:46] dannycoates has left the channel [23:47] jzacsh has joined the channel [23:47] Sam_K: TheJH: OK, turns out I was mistaken on the server not shutting down when no reqeusts have been made [23:48] jzacsh has joined the channel [23:48] CIA-65: libuv: 03Ben Noordhuis 07master * r5248719 10/ src/uv-unix.c : uv-unix: fix 'comparison between signed and unsigned integer expressions' - https://github.com/joyent/libuv/commit/52487194cfcb2735f7f91f7fbe599b6cb9321a80 [23:48] jzacsh has joined the channel [23:48] jzacsh has joined the channel [23:50] seb_m has joined the channel [23:51] Corren: what do you all use to compute specific metrics about your apps? [23:51] Sam_K: Here is the gist [23:51] Sam_K: https://gist.github.com/1098527 [23:52] Sam_K: Run it twice in two seperate consoles, The second instance will contact the first instance and ask it to end [23:52] Sam_K: on Windows the first instance will crash after calling server.close() [23:53] TooTallNate: Sam_K: the try/catch around your http request isn't doing anything [23:53] Sam_K: well.. I did say I was new around here :) [23:54] Corren: has anyone ever written to google analytics from node.js ? [23:54] TooTallNate: Sam_K: you're already listening for the 'error' event, that's all that's needed for the http.Client [23:54] Sam_K: In that case I was chucking try/catches in all over the place to try to catch an error that was giving me a non-informative stack trace [23:55] TooTallNate: Sam_K: you'll learn that try/catch in node is close to worthless [23:55] TooTallNate: errors are more often the first argument of any async 'callback' [23:55] TheJH: cradle question: how do I create a document with a specific id or, in case it already exists, replace it? [23:57] guidocalvano has joined the channel