[00:00] kylefox: oh, cool, thanks. [00:00] ryah: chapel: i think we'll have to have some built in stuff for that [00:00] tjholowaychuk: kylefox: but having access to the DOM-like structure gives you a lot of flexibilty [00:00] mape: Man github isn't feeling well today [00:00] halfhalo: its got a hangover from new years [00:00] pyrotechnick: github++ [00:00] v8bot: pyrotechnick has given a beer to github. github now has 1 beers. [00:00] chapel: okay cool, glad you are getting tls where it needs to be [00:01] mraleph: pyrotechnick: I can clearly see that it is no commented. [00:01] pyrotechnick: well [00:01] pyrotechnick: let me do another gist [00:01] chapel: mape: for some reason my dashboard on github was crashing the tab in chrome constantly, never figured out why [00:01] tjholowaychuk: kylefox: for example, we compress js / css in production transparently based on link(rel='stylesheet', ...) etc https://gist.github.com/764208 [00:01] mraleph: pyrotechnick: just ensure that your rebuilt everything. [00:02] kylefox: yeah, totally [00:02] pyrotechnick: ill gist it [00:02] kylefox: our biggest priority right now is getting something really simple, as this will be for client/user templates [00:03] iamcarbon has joined the channel [00:03] tjholowaychuk: kylefox: ah well yeah maybe something like mustache or ejs [00:03] pyrotechnick: mraleph: https://gist.github.com/a30153ea9e367f004ddb [00:03] mape: wysiwyg! klick&play and all that jazz [00:03] tjholowaychuk: kylefox: liquid could be optimized quite well though [00:03] pyrotechnick: mraleph: is your mind like completely blown now? [00:03] tjholowaychuk: so it would be interesting from that standpoint [00:03] tjholowaychuk: could be faster than jade [00:04] pyrotechnick: oh shit! [00:04] pyrotechnick: mraleph: does that build command not rebuild it... [00:05] mraleph: pyrotechnick: seems so. [00:05] pyrotechnick: oh man [00:05] pyrotechnick: see sometimes it does sometimes it doesnt [00:05] pyrotechnick: wats a clean build in node-waf [00:06] mraleph: dunno [00:06] tjholowaychuk: pyrotechnick: try distclean [00:06] pyrotechnick: im just going to nuke /build from now on [00:06] pyrotechnick: i do not trust it [00:06] mjr_: I've noticed that sometimes waf doesn't rebuild my C++ even when I've changed it. [00:06] pyrotechnick: plus a full build looks awesome [00:07] tjholowaychuk: pyrotechnick: distclean should nuke the config stuf [00:07] pyrotechnick: yeah me too mjr_ [00:07] mjr_: I haven't figured out when it does or doesn't. [00:07] mjr_: It usually does. [00:07] pyrotechnick: wow [00:07] pyrotechnick: wow [00:07] pyrotechnick: wow [00:07] possibil_ has joined the channel [00:08] tjholowaychuk: ? [00:08] tjholowaychuk: lol [00:08] tjholowaychuk: got it? [00:08] brianmario has joined the channel [00:08] pyrotechnick: OH YEAH! [00:08] pyrotechnick: OH YEAH! [00:08] herbySk has joined the channel [00:08] pyrotechnick: gc halves my framerate [00:08] pyrotechnick: but still [00:08] pyrotechnick: FUCK YES mraleph [00:09] pyrotechnick: mraleph++ [00:09] v8bot: pyrotechnick has given a beer to mraleph. mraleph now has 2 beers. [00:09] pyrotechnick: and tj and ry [00:09] pyrotechnick: you both helped me the other day [00:09] mraleph: http://www.youtube.com/watch?v=FAnSKN9s7eY [00:09] pyrotechnick: not i have to totally go unscrew them all [00:09] pyrotechnick: http://www.youtube.com/watch?v=Y6ljFaKRTrI [00:09] pyrotechnick: while i listen to that [00:10] pyrotechnick: im calling gc at 1000 Hz lol [00:10] pyrotechnick: its actually pretty fast [00:10] mjr_: keep that heap small [00:10] mraleph: :-) [00:10] mjr_: or it won't be. :) [00:10] pyrotechnick: its probably a good idea since this will be on commodity servers [00:10] pyrotechnick: maybe not at 1000Hz [00:11] pyrotechnick: but to force it [00:11] pyrotechnick: thankyou very much mraleph [00:11] pyrotechnick: i wouldnt have thought it was the build [00:11] possibilities has joined the channel [00:11] pyrotechnick: i just blindly trusted it [00:11] ph^ has joined the channel [00:11] pyrotechnick: i remember what its like in c++ now [00:11] pyrotechnick: its a bit like in coffee [00:11] pyrotechnick: you're not quite sure if you've actually reloaded your code [00:11] mraleph: pyrotechnick: in the disassembly we trust [00:11] pyrotechnick: yeah [00:12] pyrotechnick: what does a free look like [00:12] pyrotechnick: was that whole instruction a free? [00:12] pyrotechnick: github is on its deathbed [00:12] pyrotechnick: it keeps 404ing and dropping stylesheets and js [00:13] pyrotechnick: is that a free [00:13] pyrotechnick: https://gist.github.com/a30153ea9e367f004ddb/7f00aa4725f28754351bfbce4e6ead4966870c75 [00:13] mraleph: x0000000125804837 <_ZN9RigidBodyD0Ev+47>: callq 0x125871126 [00:13] mraleph: that is free [00:13] mraleph: at least call to it :-) [00:13] pyrotechnick: thats cool [00:13] pyrotechnick: thanks [00:13] pyrotechnick: if you didnt know assembly [00:13] pyrotechnick: we would have never been able to blame waf [00:14] sechrist: dyld [00:14] sechrist: rawr [00:14] MrNibblesFreenod has joined the channel [00:14] pyrotechnick: would anyone in here have a use case for bullet in node [00:14] pyrotechnick: something not game-related [00:15] mjr_: Can you put a bullet in waf? [00:15] pyrotechnick: i wish [00:15] ryah: sigh [00:15] ph^ has joined the channel [00:16] pyrotechnick: ryah: thanks for your help the other day, got bullet working ^w^ [00:16] mape: bullet? [00:16] sechrist: I haven't seen waf used in many places [00:16] fmeyer has joined the channel [00:17] sechrist: not even my shop, which is hardcore python, uses waf [00:17] mape: oh, physics [00:17] pyrotechnick: yeah [00:18] pyrotechnick: we're making MMOs ^w^ [00:18] benburkert has joined the channel [00:18] mape: any progress to show? [00:18] xSmurf: any thoughts on the best way of chainloading events for something like an interactive console? [00:20] pyrotechnick: yeah mape [00:20] ossareh has joined the channel [00:20] pyrotechnick: github.com/feisty [00:20] pyrotechnick: youtube.com/user/pyrotechnick [00:20] pyrotechnick: now with physics we can finally fix multiplayer [00:20] pyrotechnick: it wasnt very M or M [00:22] ryah: pyrotechnick: the editor looks cool [00:22] linac has joined the channel [00:22] MrNibbles: pyrotechnick: im working on a crazy physics based js game at the mo for sony [00:22] MrNibbles: its ossom! [00:22] MrNibbles: just checking out your channel, looks like youve got some sweet demos on here [00:22] pyrotechnick: ryah: that was almost 18 months ago [00:22] pyrotechnick: ryah: you should see it now ;) [00:23] ryah: pyrotechnick: put out a new demo video of feisty [00:23] pyrotechnick: i will when i fix physics [00:23] pyrotechnick: itll actually be an mmo [00:23] pyrotechnick: its all good now [00:23] pyrotechnick: im back on track [00:23] mape: pyrotechnick: What kinda mmo? [00:23] pyrotechnick: we might be working with joyent ry [00:24] pyrotechnick: partners [00:24] pyrotechnick: going to chat to them soon [00:24] pyrotechnick: mape: voxel editing of minecraft, sandbox of eve, physics and electronics of gmod, controls, camera, classes and stuff like WoW [00:24] MrNibbles: sounds amazing [00:25] pyrotechnick: we have all the pieces in various tech demos [00:25] pyrotechnick: its just a case of brining it all together now [00:25] MrNibbles: and theres me thinking box2d was awesome... [00:25] pyrotechnick: it is mr nibbles [00:25] pyrotechnick: we use it [00:25] MrNibbles: :D [00:25] pyrotechnick: like [00:25] MrNibbles: me too [00:25] tjholowaychuk: <3s box2d as well [00:25] isaacs has joined the channel [00:25] pyrotechnick: in the game you can go up to arcade machines [00:25] tjholowaychuk: and chipmunk [00:25] pyrotechnick: and the games on those machines are written in canvas2d and box2d [00:25] MaSch: isaacs: i had a little trouble with npm, maybe you can tell me why. I had to add an encoding to the second readFile in "readJson" (read-json.js:15). [00:25] pyrotechnick: so if u have some canvas games [00:25] pyrotechnick: and u wanna send them our way [00:26] pyrotechnick: they can go into the game [00:26] pyrotechnick: we'll have an SDK for that stuff later [00:26] pyrotechnick: but we dont mind doing it ourselves for the first few [00:26] isaacs: MaSch: what version of npm? [00:26] mape: pyrotechnick: Sounds neat, Lets just hope webGL gets a lot of adoption soon :) [00:26] pyrotechnick: mape: yeah we're making a big gamble [00:26] MaSch: 0.1.25 [00:26] isaacs: MaSch: ok, that's incredibly old. [00:26] MrNibbles: believe it or not, this game im working on is all in the DOM [00:26] isaacs: MaSch: npm install npm [00:27] isaacs: MaSch: if that doens't work, then just install fresh from source [00:27] isaacs: . [00:27] pyrotechnick: MrNibbles: that's kind of the way to go still [00:27] pyrotechnick: have you seen aves? [00:27] MaSch: ohhh my fault, sry its late here .. thanks [00:27] pyrotechnick: zynga just bought it [00:27] isaacs: MaSch: np [00:27] MrNibbles: translate3d(x,y,0) gives you hrdware accelerated rendering ;) [00:27] isaacs: MaSch: that file [00:27] pyrotechnick: yeah it's alot faster [00:27] pyrotechnick: and way less resource intensive [00:27] isaacs: MaSch: that file's been rewritten since then , which is hwy i asked [00:27] MrNibbles: pyrotechnick yeah i was talking to paul bakaus about it at full frontal :D [00:28] tbeseda has joined the channel [00:28] pyrotechnick: we're using this https://github.com/mrdoob/three.js/ [00:28] pyrotechnick: but im porting it to coffee and dropping the canvas renderer, amongst other things [00:28] MrNibbles: its pretty good, you should join the channel: #three.js [00:28] zomgbie has joined the channel [00:29] pyrotechnick: mmm [00:29] pyrotechnick: we dont get along with its author [00:29] MaSch: thanks, now it works [00:29] MrNibbles: ohh mrdoob? how come? [00:29] pyrotechnick: we tried to help out with some stuff [00:29] pyrotechnick: but he's very stubborn [00:29] MrNibbles: ah [00:29] pyrotechnick: it shows hes an ex 33d flash dev [00:29] pyrotechnick: he didnt like us helping out people in the issues [00:29] MrNibbles: i contacted him once to hire him for something and didnt get a response [00:29] pyrotechnick: like with their questions [00:30] MrNibbles: for this project actually [00:30] Me1000 has joined the channel [00:30] pyrotechnick: hes very talented [00:30] pyrotechnick: he has done an amazing job to get three this far [00:30] pt_tr has joined the channel [00:30] MrNibbles: yeah, its pretty incredible [00:30] pyrotechnick: but alteredq has done alot more on the webgl side TBH [00:30] pyrotechnick: they just [00:30] pyrotechnick: need to be informed about a bit of stuff [00:30] alek_br has joined the channel [00:30] pyrotechnick: git, webgl, javascript [00:31] pyrotechnick: theyre lucky its only two of them doing it [00:31] pyrotechnick: or theyd be merging their code by hand [00:31] pyrotechnick: neither of them can use git [00:31] pyrotechnick: i tried to teach them, give them links etc but theyre not interested [00:31] pyrotechnick: he also [00:31] pyrotechnick: ill pm you something [00:31] pyrotechnick: he told me i was poisonous to their project [00:31] pyrotechnick: and that i should watch this [00:32] MrNibbles: wow, no version control at all! [00:32] MrNibbles: ? [00:32] MrNibbles: thats archaic.. [00:32] pyrotechnick: no theyre using git [00:32] MrNibbles: oh ok [00:32] pyrotechnick: but they dont know how to merge [00:32] pyrotechnick: or use feature branches [00:32] MrNibbles: ahh [00:32] pyrotechnick: they sometimes do it by hand [00:32] pyrotechnick: and they keep the builds in their repos [00:32] pyrotechnick: they keep all the source files for demos in the repo [00:33] pyrotechnick: thats why its over 100 megs [00:33] pyrotechnick: they told me to watch this [00:33] pyrotechnick: http://www.youtube.com/watch?v=ZSFDm3UYkeE [00:33] pyrotechnick: that i should try and be more like the subversion developers [00:33] pyrotechnick: i almost vomited in my mouth [00:33] pyrotechnick: it really went a long way in showing me how they expect a project to be run and how to write code and which tools to use and how to conduct a community [00:33] pyrotechnick: read some of the comments on that video [00:33] MrNibbles: wow [00:34] pyrotechnick: i dont want to pick fights, this is nothing personal [00:34] pyrotechnick: he's clearly richer and more talented than i [00:34] pyrotechnick: but i am glad im more objective, informed and open minded [00:34] c4milo has joined the channel [00:35] pyrotechnick: yeah it was a bit weird [00:35] pyrotechnick: he kind of just attacked me one day in gh private messages [00:35] MrNibbles: thats quite a sad tale really, perhaps they are covering up their lack of willingness to change [00:35] pyrotechnick: yeah i think it's something like that [00:35] pyrotechnick: anyway the coffee port is about 1/3 done [00:35] pyrotechnick: i put it down for a bit but we'll need it again soon [00:35] MrNibbles: sweet, look forward to seeing it! [00:35] pyrotechnick: we're also going to drop canvas [00:36] MrNibbles: sensible really [00:36] pyrotechnick: if other people want to port that ill accept it [00:36] ezmobius has joined the channel [00:36] pyrotechnick: but we simply need to focus on proper 3d [00:36] pyrotechnick: our game cannot be done in canvas [00:36] pyrotechnick: and yeah [00:36] pyrotechnick: once thats all done just run the community as it deserves to be run [00:36] pyrotechnick: everyone is welcome, even 'poisonous' people [00:36] pyrotechnick: all ideas are given a chance [00:37] MrNibbles: damn, looking forward to it, sounds ridiculously ambitious [00:37] pyrotechnick: people can seek help thought any channel they find [00:37] MrNibbles: in a good way i mean [00:37] pyrotechnick: that kind of thing you know [00:37] pyrotechnick: keep the builds out of the repo [00:37] pyrotechnick: use branches [00:37] sveimac has joined the channel [00:37] pyrotechnick: dont use python to build it [00:37] MrNibbles: heh [00:37] pyrotechnick: and its going to be commonjs modules [00:37] pyrotechnick: so you can load it into node if you need to [00:37] robotarmy has joined the channel [00:37] booths has joined the channel [00:37] MrNibbles: makes sence if your going to have some physics on the go really [00:38] pyrotechnick: we'v already done the math library [00:38] pyrotechnick: github.com/feisty/math [00:38] pyrotechnick: its glmatrix [00:38] pyrotechnick: the fastest one in existance [00:38] pyrotechnick: but in coffee and commonjs modules [00:38] traviscline has left the channel [00:38] MrNibbles: github appears to be having an aneurysm [00:39] pyrotechnick: yep [00:39] tjholowaychuk: pyrotechnick: probably shouldnt use getters/setters for https://github.com/feisty/math/blob/master/src/vector3.coffee#L5-11 [00:39] tjholowaychuk: unless needed [00:39] tjholowaychuk: not for a math lib [00:39] pyrotechnick: yeah that needs to be iffed out [00:39] pyrotechnick: thanks th [00:39] pyrotechnick: tj [00:39] pyrotechnick: making the issue now [00:39] pyrotechnick: feel free to [00:39] pyrotechnick: file issues [00:39] pyrotechnick: on anything [00:39] pyrotechnick: or just tell me [00:40] tjholowaychuk: im not good at math [00:40] tjholowaychuk: dont worry [00:40] tjholowaychuk: haha [00:40] tjholowaychuk: just mentioning that they are slow (slower than I had thought) [00:40] pyrotechnick: theyre only there for convenience [00:40] pyrotechnick: the public api is [] [00:40] astoon has joined the channel [00:40] pyrotechnick: you can do the math library with prototypes [00:40] pyrotechnick: but we chose arrays for a few reasons [00:41] pyrotechnick: theyre a fraction faster [00:41] tjholowaychuk: with v8 they might be slower actually [00:41] pyrotechnick: and theyre interoperable with webgl [00:41] pyrotechnick: yeah [00:41] tjholowaychuk: I only tried new Point(x,y) vs [x,y] [00:41] tjholowaychuk: well and {x: x, y: y} [00:41] mikew3c has joined the channel [00:41] pyrotechnick: but the convert between arrays and objects is even slower [00:41] tjholowaychuk: which was the worst [00:41] pyrotechnick: i saw that code [00:41] pyrotechnick: but with webgl [00:42] pyrotechnick: it needs to be a typed array [00:42] tjholowaychuk: ah [00:42] pyrotechnick: so theres no point using objects [00:42] MrNibbles: damn i need to go to bed, have fun gents [00:42] pyrotechnick: night nibbles [00:42] pyrotechnick: keep in touch [00:42] MrNibbles: likewise [00:42] blueadept: anyone have xp with a node ftp server? [00:44] aconbere has joined the channel [00:46] mikew3c_ has joined the channel [00:49] bmizerany has joined the channel [00:49] stepheneb has joined the channel [00:52] rphillips has joined the channel [00:52] rphillips has joined the channel [00:53] hdon has joined the channel [00:53] vborja has joined the channel [00:54] linac has joined the channel [00:55] isaacs_ has joined the channel [00:57] olegp_ has joined the channel [00:58] mikeal has joined the channel [00:59] tanepiper: when is the new https module expected to land? 0.3.4 ? [01:00] chapel: well https server is in master [01:00] tanepiper: while i'm brave enough to run 0.3.x not gonna run master :) [01:00] sveimac has joined the channel [01:00] chapel: heh [01:01] benburkert has joined the channel [01:02] rburhum has joined the channel [01:03] ryah: tanepiper: it's in master - it'll be in 0.3.4 [01:04] timemachine3030 has joined the channel [01:04] ryah: it's just one commit, you can cherry pick it onto 0.3.3 if you want [01:04] tanepiper: cool - loving the simplicity of it :) hopfully i'll be able to use it with connect + DNode easily [01:04] ryah: i'll have v0.3.4 at the end of the week [01:04] tanepiper: i can wait till then, working heavily on client side stuff just now anyway [01:08] Phyllio has joined the channel [01:10] pyrotechnick: node(5962,0x7fff700deca0) malloc: *** error for object 0x125f0a718: incorrect checksum for freed object - object was probably modified after being freed. [01:10] pyrotechnick: thats a new one [01:10] pyrotechnick: happened about an hour of running my physics at 1000Hz [01:11] pyrotechnick: gcing on each frame [01:14] pyrotechnick: it may have been a limit thing [01:14] pyrotechnick: it was running for hours [01:15] gabeh has joined the channel [01:19] benburkert has joined the channel [01:19] MikhX_ has joined the channel [01:21] timemachine3030 has joined the channel [01:23] markwubben has joined the channel [01:23] arpegius has joined the channel [01:24] jamund has joined the channel [01:25] themiddleman has joined the channel [01:26] isaacs_ has joined the channel [01:27] mikew3c has joined the channel [01:29] Aria: Or a gamma ray hit your computer. [01:29] Aria: It happens. [01:31] riven has joined the channel [01:32] possibilities has joined the channel [01:33] nym: if you throw your computer, you might hit a gamma ray too [01:35] marcab has joined the channel [01:41] pengwynn has joined the channel [01:43] [[zzz]] has joined the channel [01:47] falconair has joined the channel [01:48] falconair: is there a tutorial or a simple example that shows how to provide your own api (for client and server) by inheriting stream, events, etc.? [01:50] fugoki has joined the channel [01:54] jakehow has joined the channel [01:55] ryah: falconair: hm - not simple but https://github.com/ry/node/blob/94f8368cf9e5077050525e32a24188402f077074/lib/http.js#L950 [01:55] ryah: falconair: https://github.com/ry/node/blob/94f8368cf9e5077050525e32a24188402f077074/lib/http.js#L879 [01:55] ryah: two lines - call the constructor, and use util.inherits() [01:56] MattDiPasquale has joined the channel [01:57] traviscline has joined the channel [02:02] Yuffster has joined the channel [02:04] peritus_ has joined the channel [02:04] peritus has joined the channel [02:05] ceej_ has joined the channel [02:07] falconair: thanks ryah, i'll take a look. For now I'll just inherit from events, just to get the basic version working [02:08] jamund has joined the channel [02:10] aaronblohowiak has joined the channel [02:11] ceej_ has left the channel [02:23] Kai` has left the channel [02:24] derferman has joined the channel [02:27] whyme has joined the channel [02:30] techwraith has joined the channel [02:30] techwraith: r41th.x [02:30] techwraith: lol, whoops. wrong box :P [02:31] techwraith_ has joined the channel [02:32] ryah: is that the root password for github? [02:32] ryah: ACTION tries [02:32] techwraith: nope :P [02:32] ryah: dang [02:32] techwraith: That would be the last 6 characters of my email's password [02:32] techwraith: lol [02:33] Lorentz: So, the password is what, x.t3chr41th.x [02:33] ryah: oh wait, you're not even technoweenie [02:33] techwraith: more numbers, symbols, and capitals [02:34] techwraith: I think it would take something like 10 billion years to brute force it [02:34] techwraith: Nope [02:36] bmizerany has joined the channel [02:36] tim_smart: Hmm the Inception OST is awesome /offtopic [02:37] pyrotechnick: lol [02:37] pyrotechnick: that was me [02:37] robotarmy has joined the channel [02:37] pyrotechnick: oh [02:37] pyrotechnick: i linked it before [02:38] techwraith: tim_smart: It's almost as good as the "The Fountain" OST [02:38] dthompson has joined the channel [02:40] chapel: tim_smart: it is pretty sweet [02:40] chapel: you should check out The Social Network's OST [02:40] aaronblohowiak: OST? [02:40] chapel: official sound track [02:40] aaronblohowiak: soundtrack [02:40] tim_smart: Daft Punk did a pretty good job with Tron, except the movie wasn't very good [02:41] aaronblohowiak: ah. i have the tron ost, but not seen the movie [02:41] chapel: yeah tron ost was good [02:41] tim_smart: Well it had good audio visuals, but the story was lacking [02:41] chapel: eh, I went in expecting fun, not story [02:41] chapel: so I was no disappointed [02:42] aaronblohowiak: i imagine it to be like a daft punk laser light show [02:42] aaronblohowiak: with some dialog [02:42] tim_smart: Yeah I enjoyed it for the same reason, but it I were to review as a whole.... [02:42] tim_smart: aaronblohowiak: Yeah you pretty much got it right [02:42] benburkert has joined the channel [02:42] tim_smart: *but if [02:43] chapel: jeff bridges though, man... he's the man [02:43] chapel: all I could think of was the big lebowski [02:43] aaronblohowiak: coreaudiod takes 10% of my cpu when i listen to this soundtrack, that's how much it rocks [02:44] tim_smart: "The Son of Flynn" and "The Game Has Changed" <3 [02:44] aaronblohowiak: "Derezzed"!!! [02:45] aaronblohowiak: hey ryah: is the job opening at joyent for someone to hack on node-lang or do more application-level things? [02:47] Prometheus has joined the channel [02:49] derferman has joined the channel [02:50] Prometheus has joined the channel [02:50] TooTallNate has joined the channel [02:52] Prometheus has joined the channel [02:55] hornairs has joined the channel [02:55] ceej_ has joined the channel [02:55] ceej_ has left the channel [02:56] ryah: rather v8 things [02:56] ryah: if i could ever find such a person [02:58] matt_c has joined the channel [02:58] aaronblohowiak: ah, cool. thanks. [02:59] rchavik has joined the channel [03:01] chapel: so ryah, joyent plans on building a business around node.js? [03:01] aaronblohowiak: chapel: with no.de it looks like it has already started [03:01] chapel: well there is hosting sure [03:01] chapel: but there is more to node.js than hosting it imo [03:02] chapel: look at HP :) [03:02] aaronblohowiak: =) [03:03] possibilities has joined the channel [03:03] techwraith_ has joined the channel [03:07] jherdman has joined the channel [03:07] alek_br has joined the channel [03:07] possibilities has joined the channel [03:10] davidascher has joined the channel [03:11] aslakhellesoy has joined the channel [03:14] ajpiano has joined the channel [03:14] ajpiano has joined the channel [03:15] ajpiano has joined the channel [03:16] ajpiano has joined the channel [03:16] MattDiPasquale has joined the channel [03:17] bingomanatee_ has joined the channel [03:18] devdrinker has joined the channel [03:20] res99 has joined the channel [03:21] pyrotechnick has joined the channel [03:22] ajpiano has joined the channel [03:23] tmpvar has joined the channel [03:23] tmpvar: yo [03:25] mikeal has joined the channel [03:25] micheil has joined the channel [03:26] sveimac has joined the channel [03:27] aaronblohowiak: hello [03:28] micheil: aaronblohowiak: was that directed at anyone in particular? [03:28] aaronblohowiak: micheil: tmpvar said yo, so i thought i'd be social [03:28] aaronblohowiak: micheil: i am still a fan of evan, btw. :) [03:28] micheil: oh, right; I missed that, I just joined and there's a "hello" :P [03:29] aaronblohowiak: well, hello micheil [03:29] neynenmo has joined the channel [03:29] micheil: haha, hi aaronblohowiak [03:29] aaronblohowiak: or are you tmpvar's other personality [03:29] tmpvar: neg [03:30] chapel: what a twist!! [03:31] tmpvar: looking at getting v8-profiler running to run jsdom against it. has anyone had success with it recently? [03:33] neynenmo has left the channel [03:36] Yuffster has joined the channel [03:38] fugoki_ has joined the channel [03:39] chrischris has joined the channel [03:45] devnieL has joined the channel [03:45] [[zz]] has joined the channel [03:46] saikat has joined the channel [03:47] devnieL has left the channel [03:47] mikew3c has joined the channel [03:48] ryah: chapel: yep [03:49] mikew3c_ has joined the channel [03:51] bingomanatee_: Hey I want to try an experiment with IRC logs - kind of a semantic analyzer. [03:51] bingomanatee_: I want to see if I can detect the spread of a conversation on a given topic based on the context of keyword searches. [03:52] bingomanatee_: Is there any semantic analysis libs already in Node? [03:52] Tan has joined the channel [03:53] shaver: bingomanatee: you mean something like http://www.neilvandyke.org/chat-threader/ ? [03:53] Tan: hi there, im new to nodejs and got some problem when install node [03:54] Tan: its ./configure line22: syntax error: unexpected end of file [03:55] Tan: anyone got same problem and how to fix this ? (so i cant install node ) [03:58] possibilities has joined the channel [04:01] bingomanatee_ has joined the channel [04:02] micheil: Tan: you'd need to provide the full output of ./configure, and `make` [04:02] tfe1 has joined the channel [04:03] arpegius has joined the channel [04:06] possibilities has joined the channel [04:10] bartmax has joined the channel [04:10] bartmax has joined the channel [04:15] jamund has joined the channel [04:16] nym has joined the channel [04:16] derferman has joined the channel [04:17] micheil: ryah: good damn. https.js is only 22 LoC. Now I know why this tls interface is awesome [04:17] sechrist has joined the channel [04:19] bingomanatee_ has joined the channel [04:19] lwille has joined the channel [04:20] cafesofie has joined the channel [04:23] silence has joined the channel [04:23] amerine has joined the channel [04:26] pyrotechnick has joined the channel [04:26] micheil: anyone know how jsdom compares to the other DOM implementations out there? (php, ruby, etc) [04:26] tmpvar: in what regard? [04:26] Aria: It's the only one that matches the DOM in the browser. [04:26] Aria: Since it's, y'know, Javascript. [04:27] dthompson has joined the channel [04:27] tmpvar: oh hai Aria [04:29] Aria: Heya. [04:29] bingomanatee_: greets [04:30] micheil: tmpvar: well, I mean, what actually makes jsdom "slow" [04:30] tmpvar: everything is a getter/setter [04:31] tmpvar: all the query results are "live" [04:31] tmpvar: and now there are mutation events whenever you modify elements/attributes/etc [04:31] jamund has joined the channel [04:31] aaronblohowiak: oof [04:32] micheil: tmpvar: what happens if you made it not use getters/setters? [04:32] tmpvar: then it wouldnt work [04:32] tmpvar: but it would be really fast ;) [04:32] micheil: right. [04:32] markstory: browser DOMs are all live linked too. [04:32] micheil: tmpvar: so, what's something like chrome doing to get performant DOM then? [04:33] markstory: tmpvar: does jsdom implement querySelector as a static list? [04:33] Aria: Well, it's a wrapper over C++ objects, for one. [04:33] Aria: Not a javascript implementation [04:33] tmpvar: markstory, no [04:33] tmpvar: markstory, it is also a live list [04:33] markstory: ooh [04:33] tmpvar: micheil, it's also a different use case [04:34] mikeal: yeah, Webkit and Firefox render pixels :) [04:34] tmpvar: the user is ok with waiting 30ms for a page to parse/render [04:34] aaronblohowiak: how do i fake install an npm package so it is symlinks instead of a cp ? [04:34] tmpvar: node users are not ok with that, as we'd only be able to do that 30 times a second [04:34] Aria: If only it was 30ms with the parsers we've got ;-) [04:34] tmpvar: haha [04:35] tmpvar: very true [04:35] mikeal: theoretically, we should be able to have a faster DOM than the browser [04:35] Aria: I'm still trying to find out where the html5 parser's slowdown is. String creation is one bit. [04:35] mikeal: because we don't have to render anyhting [04:35] tmpvar: yeah, in theory [04:35] Aria: True. Though it might mean writing a LOT of C++ (or stealing it from webkit) [04:35] TheEmpath2 has joined the channel [04:36] mikeal: about http://xerces.apache.org/xerces-c/ [04:36] Aria: All the string creation in the parsing is done C-side in browsers. [04:36] mikeal: what about rather [04:36] Aria: Xerces is nice and all. [04:36] Aria: Until you need to deal with HTML [04:36] Aria: (Rather than XML) [04:36] mikeal: dammit [04:36] tmpvar: Dav Glass did some experiments with o3 or whatever, with little speed improvement [04:37] Aria: But there's an HTML5 parser in C, and the algorithm, while complex in places, isn't too hard. [04:37] tmpvar: its the c++->js bridge that is problematic in that case [04:37] Aria: Pushing things across [04:37] Aria: Yeah. That. [04:37] mikeal: http://stackoverflow.com/questions/170686/best-open-xml-parser-for-c [04:37] mikeal: my main bottleneck is creation of new instances [04:37] mikeal: tmpvar: is there any way to create a dom with jsdom and then cheaply copy it? [04:38] Aria: Heh. If only. This is pretty much exactly how V8 sucks. [04:38] tmpvar: mikeal, not that im aware of [04:38] tmpvar: document fragments perhaps [04:39] mikeal: ok, so question, which we probably need to benchmark [04:39] tmpvar: we need a better profiler [04:39] tmpvar: v8-profiler barely works.. [04:39] mikeal: what is more expensive, getters and setters in v8, or crossing the C++ js bridge in host object calls for the same? [04:40] nonnikcam has joined the channel [04:40] tmpvar: bah, brb [04:41] micheil: tmpvar: hmm, so, jsdom actually parses a string into a dom tree, right? [04:41] Aria: jsdom is just a DOM [04:41] Aria: htmlparser or the html5 library do the parsing. (htmlparser by default) [04:42] micheil: ACTION is slightly confused there [04:42] jamescarr has joined the channel [04:42] Aria: I'd imagine the C++-to-JS barrier is the real sticky point. It's what bit ryah with buffers, and it seems to be what bites me with strings in the HTML5 library. [04:43] kriszyp_ has joined the channel [04:44] fmeyer has joined the channel [04:45] meik_ has joined the channel [04:45] meik_: Happy New Year! [04:46] meik_: I've got a quick q... [04:46] meik_: I'm trying to get Node.js to compile on Windows 7 [04:46] ryah: meik_: sigh [04:46] meik_: however, I'm getting "Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a}" [04:46] ryah: i need to fix the build [04:46] ryah: it's broken on head [04:46] meik_: LOL [04:46] ryah: meik_: which version are you tyring to compile [04:47] meik_: v0.3.3 [04:47] meik_: ? [04:47] ryah: yeah - it's broken [04:47] micheil: meik_: try the latest 0.2.X branch [04:48] micheil: hmm.. tmpvar how fast is jsdom's level 1 cloneNode? [04:48] tmpvar: faster than level2 im guessing [04:48] tmpvar: no mutation events [04:48] micheil: iirc there was a v8 level thing where using variables in switch statements made them not compile down to static code or something [04:48] meik_: thanks ryah & michel, I'll try 0.2 [04:49] micheil: I'm pretty sure felixge and tim_smart mentioned something along those lines, at least. [04:49] micheil: it was noticed in the redis they'd been doing [04:49] micheil: or the parsers work [04:50] ryah: ACTION is the build fixing monkey [04:54] micheil: ryah: what actually broke the windows build in 0.3.3? [04:56] ryah: v8's api changed the cygwin patch didn't get updated [04:56] ryah: it's a simple fix [04:57] ryah: but i have to boot into windows to test it [04:57] ryah: but i need to do that anyway [04:57] meik_: ryah: I'll be happy to test [04:58] patrickr has joined the channel [05:00] silence has joined the channel [05:01] sudoer has joined the channel [05:01] cafesofie has joined the channel [05:02] meso__ has joined the channel [05:02] Yuffster_work has joined the channel [05:04] micheil: ryah: btw, I was meaning to ask, who was working on the cmake changes? [05:04] stride: morning [05:04] micheil: because the outputs from make doc and cmake doc are different [05:04] micheil: morn' stride [05:05] meso___ has joined the channel [05:06] soniczen has joined the channel [05:07] ryah: micheil: tom hughes [05:07] ryah: you can find his email in the ocmmit logs [05:08] arlolra has joined the channel [05:11] meik_: ryah: v0.2.6 builds and runs on Win 7 [05:15] desaiu has joined the channel [05:16] devdrinker has joined the channel [05:17] devdrink_ has joined the channel [05:18] keeto has joined the channel [05:18] briznad1 has joined the channel [05:19] briznad1 has joined the channel [05:19] Rixius has joined the channel [05:20] blaines has joined the channel [05:20] cardona507 has joined the channel [05:21] shripadk has joined the channel [05:21] shripadk: hello all [05:21] shripadk: anyone here using node-mongodb-native? [05:21] rphillips has joined the channel [05:23] shripadk: i'm having an issue with storing timestamps... in node-mongodb-native, the timestamp is stored as NumberLong while mongo by itself stores the timestamp as a regular int. Anyone else faced this issue? [05:25] devdrinker has joined the channel [05:27] temp01 has joined the channel [05:29] ezmobius has joined the channel [05:30] blaines has joined the channel [05:37] rphillips has joined the channel [05:40] JusticeFries has joined the channel [05:40] mgutz has joined the channel [05:40] slaskis has joined the channel [05:45] bingomanatee_: are you referring to the _id object's timestamp? [05:45] bingomanatee_: or the date object? [05:46] meik_ has joined the channel [05:46] bingomanatee_: I use the node-mongodb-native library - not as thoroughly as I might need to to answer your question. [05:48] CrypticSwarm has joined the channel [05:48] sveimac has joined the channel [05:51] cafesofie has joined the channel [05:54] shripadk: bingomanatee_: date object [05:54] shripadk: db.test.insert({date: (new Date).getTime()}); // this returns a int [05:55] shripadk: if i do the same in node-mongodb-native it stores it as NumberLong type [05:57] shripadk: i'm currently storing a string representation of the timestamp along with NumberLong type so as to enable filtering of results. However, this is bad (code smell and duplication) [05:59] stepheneb has joined the channel [05:59] ajpiano has joined the channel [06:02] rphillips has joined the channel [06:03] joelklabo has joined the channel [06:05] j_ has joined the channel [06:16] benburkert has joined the channel [06:18] jamund has joined the channel [06:20] bingomanatee_: okay I understand the context [06:20] bingomanatee_: let me see if I can trace this in code. [06:23] bingomanatee_: this is a superficial analysis but from what I can see the JS parser converts mongo native dates to JavaScript Date objecs. [06:35] teemow has joined the channel [06:41] shripadk: mongo native dates? [06:41] shripadk: the NumberLong type is converted to an object having a _high and _low [06:43] shripadk: for instance, if i store a timestamp : 1294122551277, the value returned from a query to mongodb is an object with {high_: 301, low_:1337395181} [06:45] shripadk: is this something to do with C BSON implementation used in n-m-n? [06:47] muhqu has joined the channel [06:48] bingomanatee_: You might want to track down christkov himself and get these answers - he seems pretty good at tracing the issues on the git repos. [06:51] shripadk: true... just thought i ask here incase someone already encountered this... (probably patched it too) as filtering on timestamps is pretty common :) [06:53] andrewfff has joined the channel [06:55] bingomanatee_: reasonable... [06:56] bingomanatee_: might ask the learnboost crowd - they have more mongodb/cristkov experience than anyone else [06:56] zemanel has joined the channel [06:59] wilmoore has joined the channel [07:02] isaacs has joined the channel [07:03] derren13 has joined the channel [07:04] pyrotechnick: how do i do this http gateway to mongo thing [07:05] aaronblohowiak: they say http is a gateway protocol [07:06] cardona507 has joined the channel [07:06] amerine: lol [07:06] aaronblohowiak: you start with http, then https and before you know it, you've UPGRADE'd to websockets [07:06] aaronblohowiak: keep kids off http [07:06] amerine: or json-rpc.... [07:06] aaronblohowiak: the horror [07:06] aaronblohowiak: the horror [07:06] meso__ has joined the channel [07:08] slaskis has joined the channel [07:08] cafesofie has joined the channel [07:16] neynenmo has joined the channel [07:20] neynenmo has joined the channel [07:21] AAA_awright_ has joined the channel [07:26] amerine has joined the channel [07:29] EyePulp has joined the channel [07:32] rphillips has joined the channel [07:39] sveimac has joined the channel [07:41] kjeldahl has joined the channel [07:44] JojoBoss: it's true, before you know it they'l be sniffin packets. [07:44] evanmeagher has joined the channel [07:53] chapel: imagine the horror of your kids on udp [07:53] chapel: no order, no control [07:53] jae1: sup noders… [07:54] virtuo has joined the channel [07:54] jae1: i was trying to debug my node build but export NODE_DEBUG=4 wasn't printing anything new [07:55] jae1: then i tried to go modify my installed node lib modules (like http) but i couldn't find them [07:56] jae1: where are the lib/*.js files installed by default? [08:00] sveimac has joined the channel [08:01] fjakobs has joined the channel [08:02] sechrist has joined the channel [08:02] mraleph has joined the channel [08:03] SamuraiJack has joined the channel [08:04] yozlet has joined the channel [08:06] meso__ has joined the channel [08:08] fangel has joined the channel [08:08] ajpiano has joined the channel [08:12] mAritz has joined the channel [08:14] derferman has joined the channel [08:17] evanmeagher has joined the channel [08:23] m64253 has joined the channel [08:24] jetienne has joined the channel [08:25] Gruni has joined the channel [08:27] sechrist: wow [08:27] sechrist: I take my ps3 out of a box I moved it in [08:27] sechrist: and it's ylod [08:27] sechrist: piece of crap [08:28] fly-away has joined the channel [08:30] bingomanatee_: hi all - doing an express project at https://github.com/bignomanatee/noogle and for some reason public/style.css is not being provided [08:30] hjjaa has joined the channel [08:30] bingomanatee_: I pretty much cloned it from another project that does have working routing so... any suggestions would be appreciated [08:31] m64253 has joined the channel [08:34] V1 has joined the channel [08:34] chapel: sechrist: that sucks [08:34] sechrist: pisses me off [08:34] sechrist: I bought it off of ebay, played with it for 2 days, it yloded, shipped it back to ebayer, got it back, then moved [08:34] sechrist: and didn't test it throughly [08:34] sechrist: it's a big paper weight [08:35] chapel: if you can get a replacement, at least you can run run homebrew code [08:35] sechrist: nah can't get a replacement [08:35] sechrist: i'm tempted just to go buy a new slim [08:35] chapel: how much did you pay? [08:35] sechrist: $240 shipped originally, in august [08:36] sechrist: it's a backwards compatible one [08:37] crohr has joined the channel [08:37] sechrist: I'm thinking about just going out and buying a slim [08:39] chapel: yeah [08:39] chapel: well again, with the new encryption flaws, I am sure you could run ps1/2 games soon [08:39] chapel: regardless of the ps3 you have [08:40] sechrist: that's more of a hardware thing [08:40] sechrist: there's a physical emotion engine chip in the older ps3s that the newer ones lack [08:40] mraleph has joined the channel [08:40] sechrist: the ones without that, that maintain bc, I believe use some degree of software emulation. I'm not sure if that will directly run on later consoles though. [08:46] V1: Hmzz... net split [08:48] Connorhd_ has joined the channel [08:48] DoNaLd` has joined the channel [08:48] aegir has joined the channel [08:48] rbranson has joined the channel [08:48] adamholt has joined the channel [08:48] mexis has joined the channel [08:48] caligula_ has joined the channel [08:48] Nevtus has joined the channel [08:48] iFire has joined the channel [08:48] peteatolia has joined the channel [08:48] Guest13140 has joined the channel [08:48] Roelven has joined the channel [08:48] shajith has joined the channel [08:48] tladuke has joined the channel [08:48] dothebart has joined the channel [08:48] olegp_ has joined the channel [08:48] cafesofie has joined the channel [08:48] amerine has joined the channel [08:48] fly-away has joined the channel [08:48] mrtrosen has joined the channel [08:48] Silks has joined the channel [08:48] walkah has joined the channel [08:48] tmzt has joined the channel [08:48] ollie has joined the channel [08:48] mape has joined the channel [08:48] naturalethic has joined the channel [08:48] Sami_ZzZ has joined the channel [08:48] skm has joined the channel [08:48] dspree has joined the channel [08:48] JojoBoss has joined the channel [08:48] namelessnotion has joined the channel [08:48] yrashk has joined the channel [08:48] marlun has joined the channel [08:48] volve has joined the channel [08:48] kawaz_work has joined the channel [08:48] cainus has joined the channel [08:48] mgc has joined the channel [08:48] joeshaw___ has joined the channel [08:48] zhesto has joined the channel [08:48] huh has joined the channel [08:48] siong1987_ has joined the channel [08:48] naneau has joined the channel [08:48] nefD has joined the channel [08:48] persson has joined the channel [08:48] tswicegood has joined the channel [08:48] nolan_d has joined the channel [08:48] phiggins_ has joined the channel [08:48] Sembiance has joined the channel [08:48] case__ has joined the channel [08:48] ddollar` has joined the channel [08:48] sth_ has joined the channel [08:48] su_aska has joined the channel [08:48] mojombo has joined the channel [08:48] v8bot has joined the channel [08:48] ashb has joined the channel [08:48] wereHamster has joined the channel [08:48] kgf has joined the channel [08:48] __sri has joined the channel [08:48] jvolkman-work has joined the channel [08:48] stephank has joined the channel [08:48] mif86 has joined the channel [08:48] Pilate has joined the channel [08:48] coffeecup has joined the channel [08:48] guybrush has joined the channel [08:48] T-Co has joined the channel [08:48] heavysixer has joined the channel [08:48] stagas has joined the channel [08:48] jamesarosen has joined the channel [08:48] rednul has joined the channel [08:48] eee_c has joined the channel [08:48] MrNibbles has joined the channel [08:48] marcab has joined the channel [08:48] alek_br has joined the channel [08:48] [[zz]] has joined the channel [08:48] soniczen has joined the channel [08:48] cgcardona has joined the channel [08:48] hjjaa has joined the channel [08:48] benburkert has joined the channel [08:48] matjas has joined the channel [08:48] mraleph has joined the channel [08:48] crohr has joined the channel [08:48] Gruni has joined the channel [08:48] jetienne has joined the channel [08:48] derferman has joined the channel [08:48] mAritz has joined the channel [08:48] ajpiano has joined the channel [08:48] fangel has joined the channel [08:48] yozlet has joined the channel [08:48] SamuraiJack has joined the channel [08:48] sechrist has joined the channel [08:48] fjakobs has joined the channel [08:48] sveimac has joined the channel [08:48] virtuo has joined the channel [08:48] kjeldahl has joined the channel [08:48] rphillips has joined the channel [08:48] AAA_awright_ has joined the channel [08:48] isaacs has joined the channel [08:48] zemanel has joined the channel [08:48] muhqu has joined the channel [08:48] stepheneb has joined the channel [08:48] CrypticSwarm has joined the channel [08:48] devdrinker has joined the channel [08:48] keeto has joined the channel [08:48] Yuffster_work has joined the channel [08:48] jamescarr has joined the channel [08:48] pyrotechnick has joined the channel [08:48] bingomanatee_ has joined the channel [08:48] tfe1 has joined the channel [08:48] mikew3c has joined the channel [08:48] chrischris has joined the channel [08:48] rchavik has joined the channel [08:48] matt_c has joined the channel [08:48] Prometheus has joined the channel [08:48] TooTallNate has joined the channel [08:48] bmizerany has joined the channel [08:48] whyme has joined the channel [08:48] jakehow has joined the channel [08:48] falconair has joined the channel [08:48] riven has joined the channel [08:48] timemachine3030 has joined the channel [08:48] MikhX has joined the channel [08:48] vborja has joined the channel [08:48] pt_tr has joined the channel [08:48] herbySk has joined the channel [08:48] thebigbad has joined the channel [08:48] galaxywatcher has joined the channel [08:48] PyroPeter has joined the channel [08:48] sonnym has joined the channel [08:48] Atmoz has joined the channel [08:48] jae1 has joined the channel [08:48] hunterloftis has joined the channel [08:48] gf3 has joined the channel [08:48] rubydiamond has joined the channel [08:48] zentooo has joined the channel [08:48] tim_smart has joined the channel [08:48] langworthy has joined the channel [08:48] onar has joined the channel [08:48] WaterCooled has joined the channel [08:48] adrienf has joined the channel [08:48] wattz has joined the channel [08:48] sitron has joined the channel [08:48] hober has joined the channel [08:48] jimt has joined the channel [08:48] liar has joined the channel [08:48] TheEmpath has joined the channel [08:48] quest88 has joined the channel [08:48] opengeard has joined the channel [08:48] jakob has joined the channel [08:48] modular has joined the channel [08:48] nook has joined the channel [08:48] bingomanatee has joined the channel [08:48] elijah-mbp has joined the channel [08:48] Ezku\ has joined the channel [08:48] fermion has joined the channel [08:48] wink_ has joined the channel [08:48] vileda has joined the channel [08:48] wao has joined the channel [08:48] BHSPitMo1kay has joined the channel [08:48] SubStack has joined the channel [08:48] Gregor has joined the channel [08:48] beppu_ has joined the channel [08:48] thedjinn has joined the channel [08:48] aakour has joined the channel [08:48] kkaefer has joined the channel [08:48] EGreg_ has joined the channel [08:48] dispalt has joined the channel [08:48] killfill has joined the channel [08:48] rjack has joined the channel [08:48] zedas has joined the channel [08:48] tanepiper has joined the channel [08:48] mfernest has joined the channel [08:48] aconran__ has joined the channel [08:48] cnu has joined the channel [08:48] Twelve-60 has joined the channel [08:48] Tidwell has joined the channel [08:48] freeformz has joined the channel [08:48] lstoll has joined the channel [08:48] shachaf has joined the channel [08:48] tg has joined the channel [08:48] rasactive has joined the channel [08:48] mr_daniel has joined the channel [08:48] Vertice has joined the channel [08:48] zorzar has joined the channel [08:48] davidc_ has joined the channel [08:48] SvenDowideit has joined the channel [08:48] sideshow has joined the channel [08:48] tk has joined the channel [08:48] Kudos has joined the channel [08:48] xSmurf has joined the channel [08:48] hassox has joined the channel [08:48] baoist has joined the channel [08:48] janne has joined the channel [08:48] mriley has joined the channel [08:48] mrkurt has joined the channel [08:48] sstephenson_ has joined the channel [08:48] under___ has joined the channel [08:48] webben has joined the channel [08:48] L_star has joined the channel [08:48] muk_mb has joined the channel [08:48] mfb has joined the channel [08:48] rwaldron has joined the channel [08:48] aurynn has joined the channel [08:48] bruse has joined the channel [08:48] jesusabdullah has joined the channel [08:48] meder has joined the channel [08:48] maru_cc_ has joined the channel [08:48] stalled has joined the channel [08:48] KyleXY has joined the channel [08:48] synoptase`off has joined the channel [08:48] bluegene has joined the channel [08:48] Dreamer3 has joined the channel [08:48] ybit has joined the channel [08:48] clarkfischer has joined the channel [08:48] johnnywengluu has joined the channel [08:48] mediacoder has joined the channel [08:48] jtsnow has joined the channel [08:48] mmso has joined the channel [08:48] Lorentz has joined the channel [08:48] Tobias| has joined the channel [08:48] chapel has joined the channel [08:48] sugyan has joined the channel [08:48] MikeW has joined the channel [08:48] JCS0 has joined the channel [08:48] bengl has joined the channel [08:48] node-faq has joined the channel [08:48] nuba has joined the channel [08:48] mischief has joined the channel [08:48] Aikar has joined the channel [08:48] Blackguard has joined the channel [08:48] pekim has joined the channel [08:48] borior has joined the channel [08:48] niclone has joined the channel [08:48] meso has joined the channel [08:48] kawaz_home has joined the channel [08:48] mumphster has joined the channel [08:48] Draggor has joined the channel [08:48] dantalizing has joined the channel [08:48] nail_ has joined the channel [08:48] chrisdickinson has joined the channel [08:48] skampler has joined the channel [08:48] _alex has joined the channel [08:48] Noya has joined the channel [08:48] sid3k has joined the channel [08:48] kloeri has joined the channel [08:48] zilt_ has joined the channel [08:48] jwm has joined the channel [08:48] franck34_ has joined the channel [08:48] nlacasse has joined the channel [08:48] CIA-121 has joined the channel [08:48] crodas has joined the channel [08:48] stride has joined the channel [08:48] sstreza has joined the channel [08:48] viirya has joined the channel [08:48] voodootikigod has joined the channel [08:48] blowery has joined the channel [08:48] zz_raja has joined the channel [08:48] jperras has joined the channel [08:48] sandymahalo has joined the channel [08:48] Nacho has joined the channel [08:48] pquerna has joined the channel [08:48] ircretary has joined the channel [08:48] cha0s has joined the channel [08:48] scoates has joined the channel [08:48] elliottcable has joined the channel [08:48] DoubleV has joined the channel [08:48] cce has joined the channel [08:48] sadiq has joined the channel [08:48] roger_raymond has joined the channel [08:48] brianc has joined the channel [08:48] joshthecoder has joined the channel [08:48] lianj has joined the channel [08:48] steadicat has joined the channel [08:48] shaver has joined the channel [08:48] russell_h has joined the channel [08:48] chilts_ has joined the channel [08:48] themcgruff has joined the channel [08:48] konobi has joined the channel [08:48] zmack has joined the channel [08:48] inimino has joined the channel [08:48] broquaint has joined the channel [08:48] gwoo has joined the channel [08:48] jb55 has joined the channel [08:48] izz has joined the channel [08:48] eirikur has joined the channel [08:48] er1c_ has joined the channel [08:48] yonkeltron has joined the channel [08:48] jan____ has joined the channel [08:48] Epeli has joined the channel [08:48] polyrhythmic has joined the channel [08:48] pzich has joined the channel [08:48] slickplaid has joined the channel [08:48] m3nt0r^aw has joined the channel [08:48] xmux has joined the channel [08:48] mqt has joined the channel [08:48] d0gie has joined the channel [08:48] rwhitby has joined the channel [08:48] wang_ has joined the channel [08:48] ebi has joined the channel [08:48] FMJaggy has joined the channel [08:48] alloc has joined the channel [08:48] ivan has joined the channel [08:48] gbot2 has joined the channel [08:48] Durl has joined the channel [08:48] mlangenberg has joined the channel [08:48] halfhalo has joined the channel [08:48] sechrist: somebody at sony [08:48] under____ has joined the channel [08:48] sechrist: must be shitting pants [08:48] falconair has joined the channel [08:48] chapel: http://www.eurogamer.net/articles/digitalfoundry-ps3-security-in-tatters?page=1 << a good writeup [08:48] mrkurt has joined the channel [08:48] under____ has joined the channel [08:48] sstephenson_ has joined the channel [08:48] zentoooo has joined the channel [08:48] m64253 has joined the channel [08:48] wilmoore has joined the channel [08:48] temp01 has joined the channel [08:48] shripadk has joined the channel [08:48] micheil has joined the channel [08:48] webr3 has joined the channel [08:48] rsms has joined the channel [08:48] cognominal has joined the channel [08:48] al-maisan has joined the channel [08:48] jwcooper has joined the channel [08:48] rudebwoy has joined the channel [08:48] brainproxy has joined the channel [08:48] papyromancer has joined the channel [08:48] mysterion has joined the channel [08:48] MrWarGames has joined the channel [08:48] devinus has joined the channel [08:48] r00s has joined the channel [08:48] stbuehler has joined the channel [08:48] cyraxx has joined the channel [08:48] gkatsev has joined the channel [08:48] geeks_bot has joined the channel [08:48] justinlilly has joined the channel [08:48] morgabra has joined the channel [08:48] doffm has joined the channel [08:48] mde has joined the channel [08:48] MaSch has joined the channel [08:48] disq has joined the channel [08:48] zhware has joined the channel [08:48] shripadk has left the channel [08:48] saschagehlich has joined the channel [08:48] shripadk has joined the channel [08:49] Rixius has joined the channel [08:49] shripadk has left the channel [08:49] under____ has joined the channel [08:49] sstephenson_ has joined the channel [08:49] mrkurt has joined the channel [08:50] sechrist: so it seems [08:50] sechrist: right now, the 360 is more safe than the ps3 [08:50] ntelford has joined the channel [08:50] riven has joined the channel [08:51] shripadk has joined the channel [08:51] shripadk: bingomanatee_: can u check which dir __dirname points to in the mvc.js file (console.log(__dirname))? It should work fine as far as the code goes... [08:51] bingomanatee_: shrapadk: will do 1 sec [08:52] bingomanatee_: just noticed that I was using 0.2.3. on laptop, 0.2.4 on previous build env, so working to get my env up to date [08:52] shripadk: cool :) [08:53] void_ has joined the channel [08:53] ntelford has joined the channel [08:54] chapel: bingomanatee_: check out nave [08:54] bingomanatee_: I am using it [08:54] bingomanatee_: just not as well as I should be :D [08:55] shripadk: nave? [08:55] void_: v8: "good morning" [08:55] v8bot: void_: "good morning" [08:55] chapel: sechrist: hilarious isnt it? that all this time the ps3 was actually less secure, but their choice to remove linux support opened them up to hackers [08:55] sechrist: protip: ship with linux, don't remove it [08:55] chapel: haha [08:55] chapel: yep [08:55] chapel: or [08:55] chapel: you know [08:55] chapel: sign your keys with a random number [08:55] chapel: haha [08:55] rpbertp13 has joined the channel [08:55] void_: v8: setTimeout( function(){ console.log("hello world") } , 2000 ) [08:55] v8bot: void_: ReferenceError: setTimeout is not defined [08:56] pyrotechnick: lol [08:56] pyrotechnick: nice try [08:56] sechrist: chapel: the even more ironic part.. is that they removed otheros to help combat the hacking [08:56] bingomanatee_: My favorite random number is 7 [08:56] sechrist: geohot's stuff back in last january scared them [08:57] V1: oh, if we can run linux on a ps3.. we can also run node on a ps3.. \o/? [08:58] sechrist: if v8 compiles for powerpc [08:58] sechrist: which it does not [08:59] V1: :*( [08:59] adambeynon has joined the channel [08:59] case__: anyway, without SPU optimisations, it won't be fantastic... [09:00] guybrush: npm bundle can be used to bundle a package with a fork of another package, right? e.g.: `npm bundle install http://github.com/guybrush/connect/tarball/master` will bundle the package with my fork of connect? [09:01] void_: you can always checkout source code and do `npm link` [09:01] isaacs: guybrush: yeah, but give it a tarball, not a webpage [09:01] isaacs: oh, you did that [09:01] isaacs: sorry, tis late :) [09:02] guybrush: and it will not overwrite the current active connect-package on the users system? [09:03] guybrush: `require('awesamePackage')` will use the bundled connect, and `require('connect')` will still point to the original connect [09:03] pyrotechnick: http://www.exploringbinary.com/php-hangs-on-numeric-value-2-2250738585072011e-308/ [09:04] mikedeboer has joined the channel [09:07] bingomanatee_: sripadk: it is what I expect, the root of the project. [09:07] SamHasler has joined the channel [09:08] wilmoore has joined the channel [09:10] sriley has joined the channel [09:11] m0rph3v5 has joined the channel [09:11] davidvanleeuwen has joined the channel [09:11] wilmoore_ has joined the channel [09:12] m0rph3v5: hi [09:12] davidvanleeuwen: w00t [09:12] shripadk: bingomanatee_: weird... haven't encountered this issue before. not able to access on http://localhost:3000/style.css via browser? [09:12] bingomanatee_: yup. [09:13] bingomanatee_: I suspect this is a local issue as (a) I am using classic "out of the box" express example code and (b) It worked fine on my old box. [09:13] derren13 has joined the channel [09:13] shripadk: i see that u using express as a submodule in that app [09:13] shripadk: tried npm? [09:16] m0rph3v5: was wondering if anyone could help me out, -> http://stackoverflow.com/questions/4586109/node-js-proxy-dealing-with-gzip-compression [09:16] m0rph3v5: it's been bugging me for a while now [09:17] markwubben has joined the channel [09:19] tisba has joined the channel [09:24] bingomanatee_: shirpadk yes - let me try some sample express projects just for a point of reference. [09:25] micheil: mikeal: I'm noticing something odd in your request library.. [09:25] sechrist: micheil: what is it? I've probably hit it [09:26] rchavik has joined the channel [09:26] micheil: the request is never being made. [09:26] micheil: or it never calls the callback [09:26] cwo has joined the channel [09:26] sechrist: paste [09:27] mape: micheil: https [09:27] isaacs has joined the channel [09:27] micheil: yeah [09:27] xla has joined the channel [09:28] mape: micheil: had the same issue yesterday [09:28] mape: micheil: https://gist.github.com/764187 [09:28] micheil: oh. shit. yeah https client is borked [09:28] mape: So node is broke, not request :/ [09:28] isaqual has joined the channel [09:28] mape: Ended up using curl for my google analytics api thingy [09:29] micheil: ffuuu. [09:29] mape: :P [09:29] micheil: ryah: any ETA on a working https client? [09:30] mape: 00:54:59 < ryah> mape: client isn't done yet [09:30] chapel: yeah https client has been borked for a while [09:30] chapel: :) [09:30] mape: Seems like splitting the http and https in the client will take some time [09:30] fjakobs has left the channel [09:30] micheil: ACTION reverts back to 0.2, to check [09:30] mape: micheil: works in 0.30 [09:30] mape: *0.3.0 [09:30] adambeynon has joined the channel [09:31] mape: micheil: At least on 8c6a7b5de4bd59a03efe90f1a02d81c16b0c12a5 running on my laptop [09:31] micheil: hmm, it's fine, we're using 0.2.5 currently on our "production" machine [09:33] svnlto has joined the channel [09:33] chapel: https client just doesn't work with master and what not [09:33] micheil: hmm.. [09:35] TomY_ has joined the channel [09:35] Rv has joined the channel [09:39] augustl has joined the channel [09:39] mraleph has joined the channel [09:39] m64253 has joined the channel [09:41] micheil: sweet. my latest project actually does work. [09:41] chapel: what is your latest project? [09:43] jae1: i kinda want to work on finishing this http/https business [09:45] romeo_ordos has joined the channel [09:45] romeo_ordos has left the channel [09:46] rudebwoy has joined the channel [09:50] guid_ has joined the channel [09:53] sveimac has joined the channel [09:54] m0rph3v5: anyone here that can help me out with gunzipping ? [09:54] mikew3c has joined the channel [09:56] bzinger has joined the channel [09:57] linac has joined the channel [09:58] thinkingpotato has joined the channel [09:58] rudebwoy has joined the channel [10:00] femtoo has joined the channel [10:03] pyrotechnick: m0rph3v5: ask in #care [10:03] femtooo has joined the channel [10:03] ph^ has joined the channel [10:05] ph^ has joined the channel [10:05] m0rph3v5: thanks! Really helpful. [10:06] teemow has joined the channel [10:08] ph^ has joined the channel [10:09] MikhX has joined the channel [10:09] ph^ has joined the channel [10:11] viirya has joined the channel [10:17] hellp has joined the channel [10:18] pietern has joined the channel [10:27] ttpva has joined the channel [10:27] kolor has joined the channel [10:29] masahiroh has joined the channel [10:34] m64253 has joined the channel [10:34] beawesomeinstead has joined the channel [10:36] aklt has joined the channel [10:37] siong1987 has joined the channel [10:39] ewdafa has joined the channel [10:44] PyroPete1 has joined the channel [10:50] jimt_ has joined the channel [10:50] gJ|Alex has joined the channel [10:57] |fly| has joined the channel [10:58] shripadk has left the channel [10:58] siong1987 has joined the channel [11:00] sveimac has joined the channel [11:01] siong1987 has joined the channel [11:02] sixtus421 has joined the channel [11:05] brainproxy: trying something a bit different, for kicks and giggles .. watching for event 'request' on instance of http.Server apart from .createServer() [11:05] PyroPete1 has joined the channel [11:05] brainproxy: when an event fires, I can inspect the request object, but if I try to access the response object, it says it's undefined [11:08] zorzar has joined the channel [11:10] zemanel has joined the channel [11:10] zomgbie has joined the channel [11:13] sveimac has joined the channel [11:20] mr_daniel has joined the channel [11:25] sveimac has joined the channel [11:25] vineyard has joined the channel [11:28] pgte has joined the channel [11:30] nooder has joined the channel [11:31] sveimac has joined the channel [11:38] pdelgallego has joined the channel [11:39] pyrotechnick: anyone done file uploads? [11:39] pyrotechnick: does anyone have a snippet? [11:39] dsirijus has joined the channel [11:40] ttpva has joined the channel [11:40] Menztrual has joined the channel [11:41] pgte: pyrotechnick: using express? [11:41] fangel: pyrotechnick: if you want to use Formidable, then https://github.com/felixge/node-formidable/blob/master/example/upload.js [11:44] ph^_ has joined the channel [11:45] fermion has joined the channel [11:49] zemanel: is there anything out there for file encryption/decryption ? [11:51] pyrotechnick: pgte: yes express [11:51] pgte: pyrotechnick: http://nodetuts.com/tutorials/12-file-uploads-using-nodejs-and-express.html#video [11:52] m64253 has joined the channel [11:52] pyrotechnick: thanks pgte and fangel [11:53] pyrotechnick: i appreciate that. google didnt turn up anything [11:54] pyrotechnick: will blog it. [11:54] pyrotechnick: ta [11:59] andrewfff has joined the channel [12:03] Rohland has joined the channel [12:03] sveimac has joined the channel [12:03] zomgbie has joined the channel [12:05] pdcawley has joined the channel [12:11] pyrotechnick: are there any code examples of express being used with mongo anywhere? [12:11] pyrotechnick: i am doing it ATM but it doesnt feel like the right or easiest way [12:13] ph^ has joined the channel [12:23] sth: Has aony used jsdom on node 0.3.X? [12:23] pyrotechnick: yes we use it with zappa [12:23] pyrotechnick: on 0.3.3 [12:24] sth: mmm [12:24] sth: Everytime I use it, I get a code dump [12:24] pyrotechnick: show me the stack trace [12:24] pyrotechnick: gitst.github.com [12:24] pyrotechnick: fuck [12:24] pyrotechnick: gist.github.com [12:24] pyrotechnick: show me your stacktrace [12:25] sth: https://gist.github.com/764719 [12:25] sth: No stack trace presented [12:25] sth: And I'm only running the example code [12:26] xmux has joined the channel [12:26] pyrotechnick: hmm [12:26] pyrotechnick: node -v [12:26] pyrotechnick: you didnt compile from edge did you? [12:26] pyrotechnick: how did you install [12:26] sth: 0.3.2 [12:27] pyrotechnick: clone git [12:27] sth: I'm going to update node to 0.3.3 [12:27] pyrotechnick: i mean [12:27] pyrotechnick: yeah [12:27] pyrotechnick: do that [12:27] sth: :) [12:27] pyrotechnick: its working for us [12:27] pyrotechnick: ;) [12:27] sth: Well, I'll give 0.3.3 a go [12:28] pdcawley: ACTION grins "Works for me!" the most useful bit of tech help ever. [12:28] pdcawley: :) [12:28] sth: up :) [12:28] sth: yup* [12:28] stephank has joined the channel [12:28] maushu has joined the channel [12:29] maushu: Captcha: unegged deadcat- [12:29] pdcawley: Even more useful than RFTM. [12:29] pdcawley: Which is not to say that I have any more helpful suggestions of my own. Sorry. [12:30] sth: Is the --debug flag for debug node or for enabling the debugger for scripts? [12:30] sth: (in configure) [12:36] Connorhd has joined the channel [12:37] mmso has joined the channel [12:41] Rv: hi [12:42] Artem_S has joined the channel [12:42] Artem_S: Hi all! Is there a way to abort incoming http stream and catch an event when it was aborted? [12:43] Rv: question: in express app when line app.use(app.router); is above app.use(express.staticProvider(__dirname + '/public')); stylesheets does not work... anyone can tell me why? [12:45] arrty has joined the channel [12:50] xmux has joined the channel [12:52] Connorhd has joined the channel [12:53] Sembiance: morning [12:54] sth: woot, 0.3.3 fixes it [12:56] zum has joined the channel [12:58] sideshow has joined the channel [13:03] pyrotechnick: sth: sweet [13:04] unomi has joined the channel [13:07] kolor: is there some kind of a library that will allow me to use websockets syntax and provide fallback to flash/comet for non-supported browsers? i am not sure what sockets.io does [13:08] jae1: i haven't used it but it sounds like you want socket.io [13:09] case__: yes socket.io is for you [13:11] Artem_S: Sorry folks, just to rephrase my question - I get an IncomingMessage instance (a stream, basically) in my callback for server response. [13:11] Artem_S: I just wonder if I could forcefully close this stream _AND_ get an event emitted when the stream is closed? Thanks! [13:12] sveimac has joined the channel [13:12] zemanel has joined the channel [13:14] ianward has joined the channel [13:18] kriszyp has joined the channel [13:19] ajpiano has joined the channel [13:21] Artem_S has left the channel [13:21] zemanel: im starting this tool if anyone's interested in backups on the cli https://github.com/zemanel/node-restbackup-client [13:37] ajpiano has joined the channel [13:37] micheil: is there a Jonathan Chatwynd in here? [13:41] eee_c has joined the channel [13:44] agnoster has joined the channel [13:47] agnoster has left the channel [13:47] agnoster has joined the channel [13:52] sth: Although... I still a slight issue [13:52] dnolen has joined the channel [13:53] herbySk has joined the channel [13:53] olegp_ has joined the channel [13:54] arpegius has joined the channel [13:54] stepheneb has joined the channel [13:55] broofa has joined the channel [13:58] MattJ has joined the channel [13:58] paulrobinson has joined the channel [13:59] statik has joined the channel [13:59] malkomalko has joined the channel [14:02] m64253 has joined the channel [14:03] leepa has joined the channel [14:04] felixge has joined the channel [14:04] leepa has joined the channel [14:07] wink_ has joined the channel [14:08] amacleod has joined the channel [14:08] tanepiper: zemanel: cool - i've been looking at backup solutions for our app, didn't know of restbackup [14:08] tanepiper: been looking at http://boxbackup.org/ and https://github.com/apenwarr/bup [14:09] zemanel: ye im talking to the owner, hes a cool one [14:09] zemanel: Mike_L [14:09] tanepiper: basically we just need CouchDB instance files backed up [14:09] tanepiper: and since they are append-only files, rsync should work well with them [14:09] fumanchu182 has joined the channel [14:10] kolor: does sockets.io work only with node.js or i can use php-socket based server with phpwebsockets? [14:10] Mike_L has joined the channel [14:10] tanepiper: socket.io is the client-side implementation afaik so should work with phpsockets [14:10] zemanel: tanepiper: ive been trying out restbackup api and it works great [14:11] Mike_L: ACTION wanders in [14:11] zemanel: that node api im thinking about is to make it easier to use on the CLI [14:11] SamHasler has joined the channel [14:12] zemanel: although you can implement anything you want with at least curl [14:12] masahiroh has joined the channel [14:14] davglass has joined the channel [14:18] Mike_L: tanepiper: hi, I'm the creator of RestBackup [14:19] Mike_L: tanepiper: I can give you a beta-test account if you'd like to try it out [14:20] themiddleman has joined the channel [14:21] ben_alman has joined the channel [14:22] jherdman has joined the channel [14:23] EyePulp has joined the channel [14:27] mikedeboer: does anyone have experience with proxying the xhr-multipart transport of socket.io through a NodeJS proxy? It's working for all the other socket.io transports... [14:27] mikedeboer: ... but not for xhr-multipart [14:27] davidsklar has joined the channel [14:28] tanepiper: Mike_L: cool, how long is the beta as i won't be working on the backup stuff probably until later this month/early feb [14:29] micheil: kolor: I wouldn't recommend using a php implementation of websockets, to be honest. [14:29] rsms has joined the channel [14:30] micheil: kolor: provided your php-websocket thing understands the socket.io protocol, then it would work, as socket.io uses a subprotocol of websockets [14:30] arpegius_ has joined the channel [14:30] micheil: also provided that your php-websocket thing understands the relevant fallbacks [14:31] micheil: kolor: also, fwiw, you're probably not going to find too much love for php in here. [14:32] bentruyman has joined the channel [14:36] chrischris has joined the channel [14:37] malkomalko has joined the channel [14:38] beta_ has joined the channel [14:38] Mike_L: tanepiper: the Beta will probably last until March [14:39] micheil: tanepiper: if you're using couchone, talk with mikeal. [14:39] tanepiper: cool, i'll message you my email [14:39] tanepiper: micheil: only using couchone for dev, we'll be hosting our own couchdb instances within a vlan when we go to beta [14:40] c4milo has joined the channel [14:41] micheil: tanepiper: either way, I suggest talking to mikeal [14:41] tanepiper: about what specifically? [14:41] JusticeFries has joined the channel [14:41] kolor: micheil ok then i should probably rewrite my server to nodejs [14:41] micheil: heh [14:42] micheil: tanepiper: couchdb, backups, etc. [14:42] derren13 has joined the channel [14:42] chrischr_ has joined the channel [14:42] tanepiper: oh i think i've figured it out, there will be a 'live' couchdb, a master replication db on another machine, and rsync-style backups of the replication machine's couchdb storage files [14:43] figital has joined the channel [14:44] themiddleman has joined the channel [14:45] Ond has joined the channel [14:45] saschagehlich has joined the channel [14:46] Mike_L: does couchdb write transaction logs? [14:46] sveimac has joined the channel [14:47] eee_c has joined the channel [14:48] tanepiper: Mike_L: it's an append-only filesystem [14:48] tanepiper: so basically each db is a file, and you only need to sync the appendages [14:49] funkatron has joined the channel [14:50] Mike_L: wouldn't that be really slow to load after a crash? [14:50] Pausenbrot has joined the channel [14:50] tanepiper: no, because all the data is indexed in b-trees at write time [14:51] d0k has joined the channel [14:51] zemanel: tanepiper: so you just need to upload db files from time to time? [14:52] tanepiper: basically yes, and with rsync it will work well because you're only updating the change delta, not the whole file [14:52] davidwalsh has joined the channel [14:54] zemanel: so why were you looking for solutions when you can do it with rsync? [14:55] zemanel: out of curiosity [14:55] rsms has left the channel [14:55] tanepiper: well i haven't settled on anything yet, since i won't be doing that feature till at least around another month [14:55] tanepiper: just keeping my options open [14:56] zemanel: ah [14:56] zemanel: anyway i'll punch some code into that lib when i can, if you have any suggestions let me know [14:56] astoon has joined the channel [14:56] zemanel: or punch it on the issues [14:56] fjakobs has joined the channel [14:57] fjakobs: the node http client segfaults when receiving multipart messages [14:58] fjakobs: are there any known bugs? [14:58] fjakobs: looks like the http parser can't handle my request [14:58] fjakobs: node.js:63 [14:58] fjakobs: throw e; [14:58] fjakobs: ^ [14:58] fjakobs: Error: Parse Error [14:58] fjakobs: at Client.onData [as ondata] (http:848:27) [14:58] fjakobs: at IOWatcher.callback (net:494:29) [14:58] fjakobs: at node.js:772:9 [14:59] tanepiper: are you doing file upload? [14:59] fjakobs: I'm trying to proxy xhr-multipart from socket.io [15:00] fjakobs: I'm using 0.2.6 BTW [15:00] tanepiper: hmm not sure from socket.io myself, if it was just a standard form you could look at https://github.com/felixge/node-formidable [15:01] Tidwell has joined the channel [15:01] sriley has left the channel [15:02] akahn has joined the channel [15:02] fjakobs: this is the wrong direction - I have the problem in the http client code [15:02] fjakobs: formidable implements a multipart server, which works fine [15:03] BillyBreen has joined the channel [15:03] Tidwell: Anyone have documentation for how node's implementation of JS 'delete' works? [15:04] fjakobs: check out this http://perfectionkills.com/understanding-delete/ [15:04] sth: Same as a browsers. [15:04] sth: 's* [15:05] funkatron: hey, anyone here using Zombie that I could bounce a couple questions off? having some issues getting it working [15:06] alloc has joined the channel [15:06] onar has joined the channel [15:09] liar has joined the channel [15:09] boaz_ has joined the channel [15:10] bzinger has joined the channel [15:11] losing has joined the channel [15:11] Mike_L: talk to you folks later :) [15:14] fjakobs: same problem on the latest 0.3 version [15:15] maushu: ryah: Why is node.js called node.js? [15:15] tanepiper: fjakobs: maybe make a test case for it and post it on the nodejs-dev list? [15:16] fjakobs: yes, trying to reduce it at the moment [15:19] unomi has joined the channel [15:20] ceej has joined the channel [15:21] Ari-Ugwu has joined the channel [15:22] vineyard has joined the channel [15:24] meik_ has joined the channel [15:25] muhqu_ has joined the channel [15:27] rhio_ has joined the channel [15:27] Yuffster has joined the channel [15:28] 52AAABFWR has joined the channel [15:28] 13WAAYWIH has joined the channel [15:31] skohorn has joined the channel [15:32] davidascher has joined the channel [15:34] binarypie has joined the channel [15:34] rhio_ has left the channel [15:35] alek_br has joined the channel [15:37] c4milo has joined the channel [15:39] sriley has joined the channel [15:40] shinmei has joined the channel [15:41] proppy has joined the channel [15:41] proppy: is there a node.js implementation of bson ? or a similar binary json-like serialization ? [15:41] proppy: (Hi!) [15:42] sixtus421: proppy: it's not bson, but there is https://github.com/pgriess/node-msgpack [15:43] Sembiance: v8: test [15:43] v8bot: Sembiance: ReferenceError: test is not defined [15:43] Sembiance: v8: var a = [], i = -1; for(a[++i] in {a: 1}); a; [15:43] v8bot: Sembiance: ["a"] [15:43] sixtus421: wtf? [15:46] mraleph: javascipt is so horrible :-( [15:46] matt_c has joined the channel [15:47] nefD: mraleph is so horrible :-( [15:47] sriley: mraleph: why...? js is a great language [15:47] nefD: lets go to #c++ and talk about how terrible c++ is [15:47] guid has joined the channel [15:48] nefD: i'm sure it'll result in some agreeable, non-biased discussion [15:49] jetienne: http://wtfjs.com/for some js horribleness [15:49] jetienne: http://wtfjs.com i meant [15:50] mraleph: sriley: great language would not allow code like: for(a[++i] in {a: 1}); imho [15:50] Sembiance: v8: 9999999999999999 [15:50] v8bot: Sembiance: 10000000000000000 [15:50] sriley: you can write complete jibberish in any language [15:50] Tocacar has joined the channel [15:51] FearTheCowboy has joined the channel [15:51] sivy has joined the channel [15:51] mraleph: sriley: that's a different matter. [15:51] sriley: how so? [15:52] Sembiance: v8: ( (![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]] ) [15:52] mraleph: javascript contains gibberish language constructs and strange design decisions. [15:52] v8bot: Sembiance: "fail" [15:52] leepa has joined the channel [15:53] sriley: as do all languages [15:54] jetienne: sriley: :) [15:54] mraleph: indeed. but proportion matters: 80% of JS is strange. [15:54] mikew3c has joined the channel [15:54] sriley: not really badly written js is strange [15:55] gnrfan has joined the channel [15:55] sriley: just cos var a = [], i = -1; for(a[++i] in {a: 1}); a; does something shouldnt mean that you should ever ever see it used [15:55] nefD: mraleph: isn't "strange" relative? [15:55] jetienne: sriley: notice that all implementors tell that js is crap from a design pov [15:55] jetienne: sriley: i mean it has to mean something [15:56] Sembiance: v8: 1000 === 1E3 [15:56] v8bot: Sembiance: true [15:56] danoyoung has joined the channel [15:56] danoyoung has left the channel [15:56] jetienne: sriley: go ask python implementors or ruby implementors if they think "their" language is crap [15:56] sriley: not really it has some oddities, but then all languages do. most people confuse the dom and its cross browser issues as js issues [15:57] mraleph: we are going in circles. as I said it's a different matter. imho any language should be elegant by itself. but nefD is right: it's all relative. [15:57] sriley: most people dont know js though, they know jquery and as such they think js sucks [15:57] nook has joined the channel [15:57] nefD: jetienne: in all fairness, regardless of the language, there will be people who praise the language in question, and people who thinks its "crap" [15:58] jetienne: nefD: yep. but all implementors in the "who thinks its crap" group... this mean something [15:58] nefD: at the end of the day, the quality programmer finds ways to leverage a languages quirks, rather than dismissing it as crap [15:58] pdelgallego has joined the channel [15:58] jetienne: js got a big advantage. it is implemented everywhere. and everybody on the planet want it to be fast [15:59] jetienne: and this is much bigger advantage than a good design [15:59] jetienne: in my opinion at least :) [15:59] nefD: well, to each his own [15:59] jchris has joined the channel [15:59] jamund has joined the channel [16:00] mape: Hmm there is no way of disconnecting at socket.io client? [16:00] jetienne: mape: there is. but not obvious [16:00] eee_c has joined the channel [16:00] jetienne: mape: client = in browser, correc t ? [16:00] mape: jetienne: Yes [16:01] mape: I want to drop connections if the user count is getting to high [16:01] void_: wouldn't it make more sense to put such logic on server side? [16:01] possibilities has joined the channel [16:01] bartmax has joined the channel [16:01] bartmax has joined the channel [16:01] mape: void_: Oh yeah, I want to disconnect the client from the server side end [16:02] eee_c1 has joined the channel [16:02] mape: guess I can just send it a disconnect message back, but that seems wasteful if the reason I want to drop it is that I have to many users [16:02] sixtus42 has joined the channel [16:03] cronopio has joined the channel [16:03] jetienne: https://github.com/jeromeetienne/html5-pong/blob/master/lib/server.js#L102 <- mape this is what i got on server side [16:03] jetienne: mape: i asked in the mailing list for the client side, but i cant find the code anymore [16:03] traviscline has left the channel [16:03] mape: jetienne: there is a .disconnect() for the frontend part? [16:04] mape: Just wanted something like it for backend [16:04] mape: jetienne: And ioClient is suppose to be the user connection? [16:04] jetienne: http://groups.google.com/group/socket_io/browse_thread/thread/b574cfad4513a4c8/3fbd0bb38e9517b5?lnk=gst&q=close#3fbd0bb38e9517b5 <- for the client side [16:05] Sembiance: mape: It's open source, I'm sure you can probably add server side support for dropping the connection hard. [16:05] jetienne: mape: in the link to my code, yes. ioClient is the user connection returned by socket.io [16:05] nook has joined the channel [16:05] mape: jetienne: hmm k, https://gist.github.com/71e5fbf3c2e4f86ee686 that is what I get from that conn object [16:05] jetienne: Sembiance: it is not that simple as socket.io support many transport. all the fallbacks. not only websocket [16:06] mape: Sembiance: Sure it is os, but then I would have to support my changes as it gets updated :) [16:06] Sembiance: jetienne: true, good point. Plus, the client may just try to reconnect over and over. Your best bet is to send a message to it, telling it to go away :) [16:06] jetienne: mape: try console.dir() instead. [16:06] dmcquay has joined the channel [16:06] masahiroh has joined the channel [16:08] mape: jetienne: same, just expanded [16:08] Sembiance: v8: 3 > 2 > 1 [16:08] v8bot: Sembiance: false [16:08] technoweenie has joined the channel [16:08] jetienne: mape: you got what i got [16:10] jae1: failed to implement https [16:11] ttpva has joined the channel [16:14] altamic has joined the channel [16:15] sugardave has joined the channel [16:16] BillyBreen has joined the channel [16:17] easternbloc has joined the channel [16:17] Sembiance: v8: (true + true) === 2 [16:17] v8bot: Sembiance: true [16:17] Sembiance: v8: true === 2; [16:17] v8bot: Sembiance: false [16:17] Sembiance: v8: true === 1; [16:17] v8bot: Sembiance: false [16:17] RichardJ: Sembiance: +true === 1 [16:17] Sembiance: v8: (true) === 1; [16:17] v8bot: Sembiance: false [16:18] RichardJ: v8: +true === 1 [16:18] v8bot: RichardJ: true [16:18] ph^ has joined the channel [16:18] zemanel: v8: amIRichYet === true [16:18] v8bot: zemanel: ReferenceError: amIRichYet is not defined [16:18] Sembiance: interesting :) [16:18] eee_c has joined the channel [16:18] Sembiance: v8: for (var i=0; i<100000; i++) { i; } [16:18] v8bot: Sembiance: 99999 [16:18] easternbloc: hey guys, can someone point me to any info on the standard way of passing messages between node instances? [16:19] RichardJ: Sembiance: makes sense, when used with the + operator [16:19] RichardJ: as long as no operand is a string, both operands are converted to number [16:19] jetienne: easternbloc: webworker would be ok ? [16:19] Sembiance: easternbloc: hehe, my guess is there is no 'standard' way, but rather multiple different ways :) [16:19] easternbloc: yeah i figured that might be the case [16:19] tjholowaychuk has joined the channel [16:19] easternbloc: also figured that webworkers were possibly the way to go [16:20] easternbloc: i saw an implementation of a webworkerMQ [16:20] kriszyp: yeah, if you are using multi-node to launch the instances, it provides message passing, but the are certainly other ways [16:20] easternbloc: sorry [16:20] RichardJ: v8: (3 > 2) >= 1 [16:20] v8bot: RichardJ: true [16:20] easternbloc: actually, don't you mean a websocket? not webworker [16:20] RichardJ: pah, 3 > 2 === true, +true === 1 :-) [16:20] jetienne: http://developer.yahoo.com/blogs/ydn/posts/2010/07/multicore_http_server_with_nodejs/ <- easternbloc for a example of webworker [16:20] easternbloc: I saw an implementation on websockets [16:20] easternbloc: ah ok [16:20] Sembiance: v8: Number.MIN_VALUE [16:20] v8bot: Sembiance: 5e-324 [16:21] Sembiance: v8: Number.MIN_VALUE > 1 [16:21] v8bot: Sembiance: false [16:21] kriszyp: yeah, multi-node basically uses the websocket protocol to do message passing (minus all the handshake stuff) [16:21] eee_c1 has joined the channel [16:21] RichardJ: v8: Number.MIN_VALUE + Number.MAX_VALUE [16:21] v8bot: RichardJ: 1.7976931348623157e+308 [16:21] jetienne: kriszyp: im not aware of a websocket client in node [16:22] Sembiance: v8: typeof NaN [16:22] v8bot: Sembiance: "number" [16:22] jpld has joined the channel [16:22] RichardJ: v8: " \t\n\r " == 0 [16:22] v8bot: RichardJ: false [16:22] RichardJ: hey, that's weird [16:22] Tocacar has left the channel [16:22] RichardJ: hold on :) [16:23] Sembiance: v8: 111111111111111111111 [16:23] v8bot: Sembiance: 111111111111111110000 [16:23] jetienne: try to store a 64bits :) [16:23] jetienne: twitter api friends i salute you :) [16:24] davidascher has joined the channel [16:24] tbeseda has joined the channel [16:25] Sembiance: jetienne: I've already had to create a C compiled node.js module so I could do some 64bit number manipulation and bit shifting :) [16:25] jetienne: v8: Math.pow(2, 53) == Math.pow(2, 53) + 1 [16:25] v8bot: jetienne: true [16:25] Sembiance: jetienne: works great, I just return things as strings to node ;) [16:25] jetienne: Sembiance: hehe twitter did the same [16:26] altamic has joined the channel [16:27] oal has joined the channel [16:27] RichardJ: v8: ' ' == 0 [16:27] v8bot: RichardJ: true [16:27] RichardJ: v8: ' \t\t ' == 0 [16:27] v8bot: RichardJ: true [16:27] RichardJ: v8: ' \t\n\r ' == 0 [16:27] v8bot: RichardJ: false [16:27] RichardJ: so \r isn't whitespace? :) [16:27] xla has joined the channel [16:28] shaver: horizontal whitespace, I believe [16:28] RichardJ: no, carriage return [16:28] shaver: but I can't be assed to open 262-5 to check [16:28] shaver: horizontal whitespace is skipped, I mean [16:28] shaver: v8: +' \t\r' [16:28] v8bot: shaver: NaN [16:28] shaver: v8: +' \t' [16:28] v8bot: shaver: 0 [16:28] RichardJ: when I execute " \r\n\t " == 0 with node -e it says true :) [16:28] RichardJ: so I guess it depends on platform or something? [16:29] jetienne: RichardJ: this is true in chrome [16:29] shaver: the shell is doing the substitution on you there [16:29] RichardJ: anyway, that's one instance of type coercion I *really* hate [16:29] mraleph: v8: +'\r' [16:29] v8bot: mraleph: NaN [16:29] mraleph: v8: +'\t\r\n' [16:29] v8bot: mraleph: NaN [16:29] shaver: it's really just the parseInt stuff [16:29] shaver: parseFloat, rather [16:29] mraleph: v8: +' \t\n\r ' [16:29] v8bot: mraleph: NaN [16:30] RichardJ: when I execute +' \r\n\t ' in chrome it says 0 [16:30] jetienne: shaver: serious ? parseFloat is used for internal conversion ? [16:30] RichardJ: no, of course not [16:30] shaver: same algorithm [16:30] shaver: usually shared code [16:30] mraleph: v8: +' ' [16:30] v8bot: mraleph: 0 [16:30] mraleph: v8: +'\n' [16:30] v8bot: mraleph: NaN [16:30] RichardJ: parseFloat proceeds up until the point there's no more "numbery" stuff [16:30] shaver: yeah [16:30] RichardJ: + gives you NaN if it has any non-number stuff [16:31] RichardJ: but of course, the algorithm for converting the "number string" to a number is the same [16:31] RichardJ: at least, you could do that :) [16:31] jetienne: v8: +"\n" == 0 [16:31] v8bot: jetienne: false [16:32] shaver: +' \t' [16:32] shaver: v8: +' \t' [16:32] v8bot: shaver: 0 [16:32] RichardJ: v8: +' \n' [16:32] v8bot: RichardJ: NaN [16:32] RichardJ: v8: +' \n ' [16:32] v8bot: RichardJ: NaN [16:32] RichardJ: v8: +' \t\n ' [16:32] v8bot: RichardJ: NaN [16:32] shaver: I don't think \t is numbery stuff [16:32] RichardJ: wow, now it gets weird :) [16:32] shaver: but your descriiption is close [16:32] siculars has joined the channel [16:32] jetienne: well +"\n" == 0 is true in chrome and chromium [16:32] RichardJ: well, the spec has something to say about this... pretty nasty [16:32] RichardJ: that's why I always recommend using === [16:33] RichardJ: if you aren't certain of the types, just cast your operands [16:33] mraleph: yeah. it says: The MV of StringNumericLiteral ::: StrWhiteSpace is 0. [16:33] RichardJ: beautiful isn't it? [16:35] mraleph: it works correctly in shell v8 3.0.5 [16:35] mraleph: v8: '\r' [16:35] v8bot: mraleph: "\r" [16:35] mraleph: v8: '\r'.charCodeAt(0) [16:35] v8bot: mraleph: 92 [16:35] mraleph: v8: '\r'.length() [16:35] v8bot: mraleph: TypeError: Property 'length' of object \r is not a function [16:35] mraleph: v8: '\r'.length [16:35] v8bot: mraleph: 2 [16:36] mraleph: ah [16:36] mraleph: here you go [16:36] jetienne: mraleph: on mac ? [16:36] mraleph: i tested on linux. but it is platform independent. [16:37] jetienne: mraleph: "\r".length === 1 here on linux [16:37] mraleph: v8bot just does not handle escape sequence correctly [16:38] jetienne: oh ok [16:39] mraleph: v8: '\u000D'.length [16:39] v8bot: mraleph: 1 [16:39] briznad has joined the channel [16:39] mraleph: v8: +'\u000D' [16:39] v8bot: mraleph: 0 [16:39] sixtus42 has joined the channel [16:39] mraleph: there is some problem with \r [16:39] cferris has joined the channel [16:39] mraleph: everything else is handled correctly. [16:40] mraleph: v8: '\u000A' == '\n' [16:40] v8bot: mraleph: false [16:40] jetienne: v8: "\\"+"a" [16:40] v8bot: jetienne: "\a" [16:40] mraleph: v8: '\n'.length [16:40] v8bot: mraleph: 2 [16:40] jetienne: v8: "\\n"+"a" [16:40] mraleph: v8: '\t'.length [16:40] v8bot: mraleph: 1 [16:40] mraleph: rofl [16:40] jetienne: "\\n"+"a" cause v8bot not to answer [16:40] mraleph: \n and \r is not allowed, by \t is handled correctly [16:41] neynenmo has joined the channel [16:41] dguttman has joined the channel [16:41] jakehow has joined the channel [16:42] jetienne: > "\\n"+"a" [16:42] jetienne: '\\na' [16:42] jetienne: this is in node shell [16:42] jetienne: ok end of the day [16:42] dnolen has joined the channel [16:43] nonnikcam has joined the channel [16:43] ewdafa has joined the channel [16:43] shaver: later, jerome [16:44] bingomanatee_ has joined the channel [16:52] daniellindsley has joined the channel [16:52] webr3 has joined the channel [16:53] slaskis has joined the channel [16:54] possibilities has joined the channel [16:54] pietern has joined the channel [16:55] SamuraiJack_ has joined the channel [16:56] sixtus42 has left the channel [16:58] davglass has joined the channel [17:00] qnt4b has joined the channel [17:01] eee_c has joined the channel [17:01] slaskis: what's a good way to scrape a website with node.js? [17:01] rickharrison has joined the channel [17:01] eee_c1 has joined the channel [17:01] slaskis: is jsdom/jquery the way to go? [17:02] tjholowaychuk: slaskis: its slow [17:02] slaskis: that's ok, it's just a one time thing, unless by slow you mean 30s/request... [17:03] slaskis: tjholowaychuk: didn't you make a scrape tool for node? [17:03] tjholowaychuk: slaskis: nope that was mape i think [17:03] bingomanatee_: tjholowaychuk: I am ending up with an odd build on a laptop - if I were to tell you that express was not properly displaying style sheets (and other items in public) in express - does that suggest any specific problem to you? (given that the other aspects of the Express page ARE working) [17:03] slaskis: tjholowaychuk: oh, haha, i even had it up as a tab in chrome [17:04] strmpnk has joined the channel [17:04] mape: https://github.com/mape/node-scraper :) [17:04] tjholowaychuk: bingomanatee_: expressjs.com ?? [17:04] tjholowaychuk: hm [17:04] hobodave has joined the channel [17:04] bingomanatee_: yep [17:04] tjholowaychuk: I dont know, I have only really looked at it in chrome / safari / FF [17:04] tjholowaychuk: on osx [17:04] bingomanatee_: no - the express system examples. [17:04] bingomanatee_: in other words - have a problem that is probably an odd local build of node . [17:05] slaskis: mape: looks great [17:05] tjholowaychuk: bingomanatee_: ohh i see, not sure man [17:05] tjholowaychuk: version issue maye [17:05] mape: slaskis: Jup pretty neat, only issue is jsdom is slow so yeah, use with care ;) [17:05] tjholowaychuk: maybe* [17:05] stagas_ has joined the channel [17:05] bingomanatee_: thx anyway [17:05] jetienne: slaskis: recent experience. to parse a 500kbyte page is 10+sec on modern computer [17:05] noahcampbell has joined the channel [17:06] slaskis: wow, now that is slow [17:06] tjholowaychuk: woah [17:06] tjholowaychuk: lol [17:06] tjholowaychuk: htmlparser is sketchy [17:06] tjholowaychuk: not a fan [17:06] slaskis: oh, it's htmlparser that's the culprit? [17:06] tjholowaychuk: both I think [17:09] eee_c has joined the channel [17:09] spetrea has joined the channel [17:10] JusticeFries has joined the channel [17:10] davidascher has joined the channel [17:10] herbySk has joined the channel [17:12] soniczen has joined the channel [17:12] slloyd has joined the channel [17:12] eee_c1 has joined the channel [17:12] slloyd has joined the channel [17:13] fmeyer has joined the channel [17:13] Squax has joined the channel [17:14] stepheneb has joined the channel [17:14] wilken has joined the channel [17:15] daniellindsley has joined the channel [17:15] sivy: is there an inline docs format for node/js yet? [17:15] bingomanatee_: tjholowaychuk (when you have a moment ) in trying to get my CSS file firom public I am getting "non_object_property_store" _keys - is that significant to anyone? [17:15] sivy: like javadoc or perldoc? [17:16] bingomanatee_: BTW I have burned my local install of node and NPM to the ground and installed v. 0.2.4 [17:16] tjholowaychuk: bingomanatee_: ah, lets see your code, do you have a route without a callback? [17:16] tjholowaychuk: I ran into that error the other day while I was setting up some routes [17:16] tjholowaychuk: but I didnt have a callback function [17:17] tjholowaychuk: because in connect's router I do fn._keys = [placeholder1, placeholder2] etc [17:17] yozlet has joined the channel [17:17] Me1000 has joined the channel [17:18] bingomanatee_: Tj: the repo is at https://github.com/bignomanatee/noogle [17:18] SamuraiJack_ has joined the channel [17:19] fmeyer has joined the channel [17:19] bingomanatee_: it is pretty shallow at this point [17:20] creationix has joined the channel [17:20] tjholowaychuk: bingomanatee_: hmmmmm [17:21] JusticeFries has joined the channel [17:21] micheil: sivy: you could use jsdoc, but I think community preference is to write dedicated documentation out of source. [17:23] msekimura has joined the channel [17:24] sivy: micheil: ok, cool [17:24] sivy: thanks [17:26] arpegius has joined the channel [17:27] aconbere has joined the channel [17:28] bingomanatee_: I am fairly certain I need to look at the processes in the express.staticProvider - where do I find that in the code? [17:30] tjholowaychuk: bingomanatee_: that error is from the router middleware [17:30] tjholowaychuk: but yeah your other issue might be [17:30] tjholowaychuk: its connect's ./lib/connect/middleware/staticProvider [17:30] bingomanatee_: thanks [17:31] tilgovi has joined the channel [17:31] siculars_ has joined the channel [17:31] jamund has joined the channel [17:31] hornairs has joined the channel [17:32] fangel has joined the channel [17:32] svenlito has joined the channel [17:34] cardona507 has joined the channel [17:34] stagas has joined the channel [17:35] qFox has joined the channel [17:37] stagas has joined the channel [17:38] binarypie has joined the channel [17:38] prettyrobots has joined the channel [17:39] sprout has joined the channel [17:39] softdrink has joined the channel [17:40] eee_c has joined the channel [17:41] broofa has joined the channel [17:44] cafesofie has joined the channel [17:46] benburkert has joined the channel [17:47] bingomanatee_: is _keys some sort of JS magic thing that kicks in in iteration? [17:48] tjholowaychuk: bingomanatee_: nope [17:48] jstemmer has joined the channel [17:49] bingomanatee_: because my problem SEEMS like it would kick in when the staticProvider is called - yet I don't see any entry into the staticProvider's methods before I get the non_object_property_store :: _keys is undefined error [17:49] tjholowaychuk: its in router [17:49] tjholowaychuk: lol [17:49] tjholowaychuk: i said that [17:50] bingomanatee_: ah. [17:50] tjholowaychuk: must be omitting a route callback or something [17:50] yrashk has joined the channel [17:50] bingomanatee_: thats a file in connect right? [17:50] tjholowaychuk: yup [17:51] yrashk has joined the channel [17:52] yrashk has joined the channel [17:52] micheil: anyone know much about upstart? [17:52] bingomanatee_: thx [17:52] SamuraiJack__ has joined the channel [17:53] davglass has joined the channel [17:54] hornairs has joined the channel [17:55] eee_c has joined the channel [17:57] langworthy has joined the channel [18:03] CrypticSwarm has joined the channel [18:03] Gruni has joined the channel [18:05] siculars_ has joined the channel [18:06] slaskis: how do i easiest make an eventemitter? [18:07] slaskis: i can't find any examples in the docs [18:07] yonkeltron: var events = require('events') [18:07] yonkeltron: new events.EventEmitter() [18:07] yonkeltron: try it? [18:08] creationix: micheil: I use it, but nothing advanced [18:08] slaskis: hmm, ok, sorry i meant how can i make my prototype an event emitter [18:08] baoist has joined the channel [18:08] micheil: that, or, if you want to inherit from within a constructor, then you need to use util.inherits and events.EventEmitter.call(this) in your constructor [18:08] micheil: creationix: heh, it's fine, I solved my issue. >> vs > [18:08] creationix: slaskis: function Foo(){}, Foo.prototype.__proto__ = EventEmitter.prototype [18:08] possibilities has joined the channel [18:08] micheil: or that. [18:09] slaskis: creationix: wow that looks hacky [18:09] creationix: slaskis: or is you don't like __proto__ Object.create works too [18:09] mjr_ has joined the channel [18:09] creationix: hacky? Other than the underscores, it's very direct [18:09] cferris has joined the channel [18:10] creationix: slaskis: basically __proto__ lets you override the prototype of any object directly, and if you want to inherit from a "class", then you need to inherit from it's .prototype property [18:10] slaskis: yeah, i guess it's the underscores that does it [18:10] creationix: the reason there are underscores is because it's non-standard [18:10] slaskis: is that what util.inherits does? [18:10] creationix: but there is no standard way to override the prototype of an object [18:10] micheil: slaskis: personally, I prefer util.inherits rather then __proto__ [18:10] creationix: sortof [18:10] creationix: util.inherits is even less standard [18:10] creationix: it only works in node [18:11] micheil: orly? [18:11] voodootikigod: mikeal: hey [18:11] voodootikigod: yt [18:11] creationix: at least __proto__ works in most browsers [18:11] micheil: iirc, it's more reliable, no? [18:11] slaskis: does sys have inherits? (on 0.2.6) [18:11] micheil: sys does [18:11] creationix: slaskis: yeah, it's pretty old [18:11] creationix: was a private api for a long time though [18:11] slaskis: great [18:11] ecclesia has joined the channel [18:12] creationix: seriously, setting __proto__ is way simpler, if you really want to be standards compliant then use Object.create and replace your prototype [18:12] tjholowaychuk: its to annoying to require a mod just to inherit [18:12] creationix: Child.prototype = Object.create(Parent.prototype); Child.prototype.constructor = Child [18:12] micheil: slaskis: https://github.com/ry/node/#L402-407 [18:12] briznad has joined the channel [18:12] slaskis: so is this the proper way? sys.inherits(Thing,require("events").EventEmitter) [18:13] slaskis: micheil: that url is probably incorrect? [18:13] micheil: dammit. github sometimes sucks >_> [18:13] tjholowaychuk: +1 for __proto__ [18:13] slaskis: haha [18:13] micheil: https://github.com/ry/node/tree/94f8368cf9e5077050525e32a24188402f077074/lib#L402-407 [18:13] creationix: I figure __proto__ might as well be a standard [18:13] creationix: it's implemented by EVERY browser that implements the rest of ES5 [18:14] slaskis: micheil: no luck today huh? ;) [18:14] creationix: micheil: try again [18:15] siculars_ has joined the channel [18:15] micheil: >_> https://github.com/ry/node/blob/94f8368cf9e5077050525e32a24188402f077074/lib/util.js#L402-407 [18:15] tjholowaychuk: hmm cssom is not very visitor friendly [18:15] tjholowaychuk: boo [18:16] creationix: note that util.inherits must be called before you set any properties on your prototype since it replaces it with a new object [18:16] creationix: and I find the .super property annoying [18:16] creationix: but that's just me [18:16] creationix: the Object.create line in there is great [18:16] tjholowaychuk: haha yeah that just sets us up for failure [18:17] markt has joined the channel [18:18] creationix: slaskis: basically, there is no single proper way to do anything in JavaScript, so it's important to understand what every does and choose for yourself [18:19] slaskis: creationix: yeah, i've been over this before but everytime it feels so unnatural i have to ask :P [18:19] kulesa_ has joined the channel [18:19] creationix: slaskis: well, I'm glad to see util.inherits is written in JS now, it used to be C++ code that did basically the same thing [18:20] creationix has left the channel [18:20] slaskis: so it's not node-only now then [18:20] creationix has joined the channel [18:21] slaskis: mape: if i want to follow an url with node-scraper (pagination) is there a method or do i just scraper(url,fn) again? [18:21] dmcquay has joined the channel [18:21] mape: slaskis: you can supply an array for the url [18:22] tlrobinson has joined the channel [18:22] mape: that will do them in parallel, and if you want to throttle you can add {'reqPerSec': 0.2} to only hit the site every 5sec [18:23] mape: like in the parallel example [18:23] micheil: voodootikigod: that form on the site is pretty awesome. [18:23] voodootikigod: props all go to mikeal [18:23] micheil: either way. [18:23] voodootikigod: i just stole it and launched on time [18:23] voodootikigod: :) [18:24] mape: what page? [18:24] creationix: voodootikigod: which site? [18:24] voodootikigod: his for nodeconf.com should have gone out as well [18:24] voodootikigod: http://2011.jsconf.us [18:24] micheil: voodootikigod: same with nodeconf? [18:24] slaskis: mape: yeah, well i don't really know the urls until i've scraped the first one... [18:24] creationix: yep, the custom fonts have mikeal all over them [18:24] voodootikigod: i can neither confirm nor deny that if you take teh same URL strucutre and apply it will work [18:24] voodootikigod: :) [18:24] mape: slaskis: oh, well then just wrap it and make it recursive :) [18:24] creationix: lol [18:25] slaskis: yeah, figured as much :) [18:25] malkomalko has joined the channel [18:25] slaskis: i just remembered some other scraping tool that had like a next() thing for such [18:25] voodootikigod: ACTION registers as a speaker for nodeconf even before its open! [18:25] micheil: voodootikigod: smooth. [18:25] slaskis: but it seems pointless really [18:25] bingomanatee_: tjholowaychuk: when I echo the routes from connect I see two entries for the "index" path - both a function and a missiong function. [18:25] bingomanatee_: https://gist.github.com/765162 [18:26] micheil: voodootikigod: looks like I need to get my thinking cap on. [18:26] Me1000 has joined the channel [18:26] bingomanatee_: I've flensed my controllers - they are pretty solid - [18:27] tjholowaychuk: bingomanatee_: hmm might be a router bug but all my tests in connect / express pass [18:27] bingomanatee_: what are you speakikng on voodootikigod? [18:27] tjholowaychuk: and I did run into that when I forgot a function [18:28] bingomanatee_: as in, no 'index' function in a controller module? [18:28] sprout has joined the channel [18:28] mape: slaskis: figured I'd keep the api really simple so it can be used in any situation without beink clonky [18:28] tjholowaychuk: bingomanatee_: any call to app.get() and friends without a function [18:28] spetrea has joined the channel [18:29] bingomanatee_: ya I have throws that detect that. [18:29] bingomanatee_: thanks ... [18:30] mraleph has joined the channel [18:31] funkatron has joined the channel [18:36] dguttman has joined the channel [18:36] CIA-121: node: 03Ryan Dahl 07master * r73f4ec5 10/ lib/http.js : hack for ending https connections - http://bit.ly/hsuO1O [18:37] langworthy has joined the channel [18:37] mikedeboer has joined the channel [18:39] ryah: we need an api for closing sockets but only after drain [18:39] ryah: (as opposed to shutdown()-ing sockets after drain, end()) [18:43] peritus has joined the channel [18:44] stride: huh? something like foo.close = function(hard, callback) { if (hard) { /* what's there now */ } else { var self = this; this.once('drain', function() { self.close(true); }) }}? [18:46] stride: mh.. sorry.. just got home from work.. my point was: wouldn't it make sense to default to draining before really closing the stream with an option to override that? [18:48] maushu has joined the channel [18:49] bingomanatee_: Is there an ubuntu command to reset your system completely? [18:50] SubStack: you can if you're using unionfs or some other difference-based file system [18:50] SubStack: that's what the eee pcs do [18:50] hornairs has joined the channel [18:50] RichardJ: bingomanatee_: reset in which sense? [18:51] Kryckan has joined the channel [18:51] RichardJ: in the sense of a factory reset: no, I'm pretty certain you'd have to do a clean install [18:51] bingomanatee_: k thx [18:52] sudoer has joined the channel [18:52] bingomanatee_: goodbye cruel world! [18:53] RichardJ: good luck! [18:53] ryah: stride: yes, something like that [18:54] ryah: destroySoon() ? :) [18:55] femtoo has joined the channel [18:55] stride: yeah, plus cases like when there's nothing that would trigger the drain event obviously.. too much Java today to get any more code right.. :) I'd opt for shootUnicorn() [18:57] steffkes has joined the channel [18:58] masahiroh has joined the channel [18:59] tisba_ has joined the channel [18:59] arpegius has joined the channel [18:59] Kryckan has joined the channel [19:01] prettyrobots has joined the channel [19:01] pietern: ryah: hi [19:01] romainhuet has joined the channel [19:02] pietern: I have a problem since v8 2.5.7 (0.3.2) I was wondering you could help me with for hiredis (redis ext) [19:02] SubStack: yes, that is what this place is for [19:02] ryah: pietern: sure [19:02] pietern: I'm currently allocating objects inside a single handlescope, and setting them in an array [19:03] dthompson has joined the channel [19:03] derren13 has joined the channel [19:03] pietern: but when the handlescope is closed with the root object, the array itself [19:03] pietern: its elements are no longer accessible and node segfaults [19:03] mjr_: pietern: have a link to your code on github? [19:03] pietern: https://github.com/pietern/hiredis-node/blob/master/reader.cc#L21 [19:03] Kudos: would anyone care to critique some early code for a themoviedb.org module i'm working on? [19:03] SubStack: mjr_: I'm hacking on the payment system \o/ [19:04] mjr_: SubStack: nice. [19:04] Kudos: just started with nodejs at the weekend, and with this module an hour ago [19:04] pietern: should I use a persistent handle there? (I was thinking the array object would take over ownership of the object) [19:04] ryah: it should... [19:04] mjr_: ryah: I think this issue might be why hiredis doesn't trigger as much GC as the JS Redis parser. [19:04] ttpva has joined the channel [19:05] ryah: https://github.com/pietern/hiredis-node/blob/master/reader.cc#L27 <-- this looks wrong [19:05] c4milo has joined the channel [19:05] mjr_: Wow pietern, you are really V8-ing around in there. [19:06] ryah: https://github.com/pietern/hiredis-node/blob/master/reader.h#L28 [19:06] ryah: ^-- you can't hold locals like this [19:06] ryah: they need to be persisted [19:07] pietern: ryah: ah! [19:07] arpegius has joined the channel [19:07] pietern: not even if I know they will live only for the duration of a single handlescope? [19:07] ryah: well - that sounds like it would work [19:07] ryah: but why store them in the object? why not on the stack [19:08] pdelgallego has joined the channel [19:08] yozlet has joined the channel [19:08] pietern: these functions are callbacks for the hiredis C library [19:08] ryah: you know - it's c++ - so magical destructors happen everywhere [19:08] ryah: (i hate c++) [19:08] pietern: and it *could* be that a full object cannot be retrieved in a call [19:08] drudge: who doesn't [19:08] pietern: so the handles need to be persisted in that case [19:09] KrisJordan has joined the channel [19:09] KrisJordan has left the channel [19:09] pietern: that's why I keep the ref to them, or GC will clean them up [19:09] pietern: ryah: yeah I might need to get a little more in that mindset [19:09] ryah: Local itself has a destructor that does magic [19:09] pietern: my understanding was that local handles are cleaned up with closing the handlescope [19:10] tjholowaychuk: c-- [19:10] v8bot: tjholowaychuk has taken a beer from c. c now has 2 beers. [19:10] ryah: pietern: i think that assumption may be too broad [19:10] Ond has joined the channel [19:10] ryah: everytime you leave a function they get cleaned [19:10] pietern: ryah: ok, so my best bet is to make persistent handles for the stuff I want to get back [19:10] ryah: (perhaps) [19:11] pietern: ryah: I was hoping that it is explicitly attached to a handlescope [19:11] pietern: but the deconstructor on return makes sense as well [19:11] pietern: in retrospect: v8 more or less pushes you to use a handlescope per function body, right? [19:11] ryah: yeah, i don't know - it looks like this may be your problem though [19:12] ryah: yes (although i do break that in few cases inside node, i think) [19:12] blowery has joined the channel [19:13] tladuke has left the channel [19:13] pietern: ryah: great, thanks, I'm going to hack a little [19:13] pietern: and see where it goes [19:13] Kudos: can I get some eyes on this please https://gist.github.com/7fc2b3a61725207c3e2a [19:13] Kudos: it's not much code [19:13] Kudos: just want any bad practices pointed out before i get deeper [19:13] indexzero has joined the channel [19:13] ryah: pietern: good luck [19:14] pietern: ryah: thanks for you help! [19:14] mjr_: Kudos: if you aren't keeping per-object state, there's no need to use the new / class syntax. [19:14] mjr_: You could just have the module export a search function, and then call that whenever you like. [19:15] Kudos: what about the apiKey? [19:15] mjr_: Kudos: that's done across the whole module though, right? [19:16] Kudos: yes, every method needs that key [19:16] augustl has joined the channel [19:16] joelklabo has joined the channel [19:16] Kudos: also, there's session state to be held in the future [19:16] Kudos: the api allows for writing changes [19:16] Kudos: you need to auth for that [19:17] mjr_: Oh, OK. Well it's probably what you need then. [19:17] mjr_: ship it [19:18] Kudos: see anything else i'm doing wrong? [19:18] Kudos: (the callback needs to be validated, i guess) [19:19] mjr_: Seems fine. [19:19] mjr_: You'll want to explore how the various errors will show up. [19:19] joelklabo: Is the JSON library included with node, or do I have to require it? [19:19] mjr_: Like what if you get back invalid JSON, what if the outgoing connection is refused, hangs, returns non-200, etc. [19:20] mjr_: JSON is part of V8 [19:20] jae1: i tried to git checkout v0.3.3 but it aint working. what am i missing? [19:20] joelklabo: mjr_ thanks [19:20] jae1: git tag -l only shows up to v0.1.99, weird. [19:20] Kudos: is there any guide or article on error flows in node that you know of? [19:21] sveimac has joined the channel [19:23] Sembiance: pietern: what motivated you do create another redis library? What is your goal for yours? [19:23] CIA-121: node: 03Ryan Dahl 07master * r2957382 10/ (5 files in 2 dirs): [19:23] CIA-121: node: Implement new stream method, destroySoon [19:23] CIA-121: node: Still missing on fs.WriteStream - http://bit.ly/gsXWwI [19:23] Sembiance: pietern: I ask because I'm currently using node.js + redis in a production environment so I'm interested in other potential redis libs :) [19:23] pietern: Sembiance: it is not another redis client ;) [19:24] pietern: I wrote hiredis, which is the default C redis lib [19:24] Sembiance: pietern: I mean another node.js redis client :) [19:24] pietern: does I/O, formatting, reply parsing, etc etc etc [19:24] mjr_: Sembiance: node_redis uses hiredis if you have it installed [19:24] pietern: and this speeds up the reply parsing process [19:24] Sembiance: pietern: I spent the past 10 minutes reading about HIREDIS :) [19:24] mjr_: Sembiance: if you do: npm install redis hiredis [19:24] mjr_: you'll get the benefit of them both [19:25] tjholowaychuk has joined the channel [19:25] pietern: Sembiance: see these benchmarks that mjr_ did: https://github.com/mranney/node_redis [19:25] KrisJordan has joined the channel [19:25] pietern: depends on the type of load you have if you'll see (big) improvements [19:25] Sembiance: mjr_: I use https://github.com/mranney/node_redis [19:26] mjr_: Sembiance: yeah, that's what you get if you do: npm install redis [19:26] Sembiance: mjr_: I don't use npm :) [19:26] mjr_: well then [19:26] Sembiance: hehe [19:26] CIA-121: node: 03Ryan Dahl 07master * rbc1d758 10/ lib/net.js : net.js: Check that readWatcher exists before pause, resume - http://bit.ly/hOoZ3t [19:26] mjr_: you need to do more work if you want to use them together. [19:27] Sembiance: mjr_: I'm going to look into this when I get home tonight [19:28] Sembiance: mjr_: my server has been running node.js + redis for about 10 days now. node.js has handled 39 millon requests and redis has processed 849 million commands [19:28] pietern: Sembiance: woot! [19:28] Sembiance: mjr_: thanks for the tips :) [19:29] pietern: Sembiance: btw, hiredis was extracted from redis-benchmark, redis-cli in the first place [19:29] mjr_: that's cool [19:29] pietern: later, it was extended etc, and now redis-benchmark and redis-cli have it as dependency [19:29] mjr_: Sembiance: what does your app do [19:29] mjr_: ? [19:29] mraleph has joined the channel [19:29] Sembiance: mjr_: http://worldofsolitaire.com [19:30] Sembiance: mjr_: so the node.js shuffles data into and out of redis. [19:30] pietern: Sembiance: did you post a message somewhere about using sets to store decks? [19:30] Sembiance: pietern: I wrote a message a while ago asking about how to store top 10 lists [19:31] pietern: ah ok, this app sounds/looks familiar ;) [19:31] Sembiance: hehe [19:31] Sembiance: I've been very happy/surprised by both node.js' [19:31] Sembiance: 's stability and redis's stablity :) [19:32] mjr_: Any memory leaks? [19:32] teddy_ has joined the channel [19:32] wink_: the solitaire game looks really nice, well done [19:32] felixge has joined the channel [19:33] Sembiance: mjr_: none that I know of. certainly don't see any of the node.js instances eating memory [19:33] mjr_: BTW, in case you didn't figure it out, I wrote node_redis, and pietern is a primary author of Redis itself. [19:33] Sembiance: mjr_: I figured that out about 13 seconds ago ;) [19:33] tjholowaychuk: pietern: little patch https://github.com/visionmedia/redis/commit/9d8cc5ce96a587d2ed4bbf7abb52048c55db963b [19:34] mjr_: Sembiance: do you serve all HTTP through node? [19:34] pietern: tjholowaychuk: thanks [19:34] pietern: tjholowaychuk: I used "help @" all the time ;) [19:34] meandi has joined the channel [19:34] tjholowaychuk: :D [19:34] tjholowaychuk: I just forget the group names haha [19:34] Sembiance: mjr_: everything comes in to nginx. It serves up CSS, HTML, etc. anything to /node/ gets sent through to node.js I'm using fugue and express [19:36] Sembiance: mjr_: 75% of the requests nginx handles are /node/ requests. about 3.3 million node requests a day [19:36] felixge: ryah: What would you expect WriteStream.destroySoon() todo? Afaik .end() is already behaving like it [19:36] mjr_: Sembiance: that's awesome. Thanks for sharing the stats. [19:37] mjr_: I love to hear about people putting real world loads on node. [19:37] Sembiance: pietern: thank you very much for your work on redis, it's super duper awesome and I see myself using it again in future projects :) [19:37] Sembiance: mjr_: thank you very much for node_redis :) [19:37] teemow has joined the channel [19:37] Sembiance: mjr_: I've been meaning to e-mail the folks who authored modules I use, to thank them and let them know I'm using it in production :) [19:37] isaacs has joined the channel [19:37] AAA_awright_ has joined the channel [19:38] mjr_: express is tjholowaychuk, BTW [19:38] Sembiance: mjr_: it has held up amazingly well so far :) [19:38] tjholowaychuk: what? [19:38] ryah: felixge: oh right, i guess on files it can be the same as end() [19:38] tjholowaychuk: missed something [19:38] ryah: i'll alias it [19:38] Sembiance: tjholowaychuk: hehe, hello. I use express to handle 3.3 million requests a day on http://worldofsolitaire.com :) [19:38] tjholowaychuk: Sembiance: oh :) rad!! [19:38] felixge: ryah: I can make the patch if you want :) [19:38] Sembiance: tjholowaychuk: I switched to using node.js on the back end about 10 days ago [19:38] tjholowaychuk: Sembiance: I can put you on expressjs.com if you want [19:39] Sembiance: tjholowaychuk: sure, that sounds good to me :) [19:39] Sembiance: tjholowaychuk: thanks a lot for creating it :) [19:39] mjr_: Sembiance: what were you using before ndoe? [19:39] yonkeltron: Sembiance: wow, that's epic [19:39] tjholowaychuk: no problem, nice numbers :) [19:39] CIA-121: node: 03Ryan Dahl 07master * rcda4d56 10/ lib/fs.js : Implement WriteStream.destroySoon - http://bit.ly/dZuj7T [19:39] yonkeltron: Sembiance: what does your setup look like? [19:39] felixge: ryah: too little, too late, I guess :) [19:40] ryah: :) [19:40] HAITI has joined the channel [19:40] Sembiance: yonkeltron: 2 servers. 1 server is just nginx and it just handles image requests (Card images) and some other static files. The other server is nginx -> fugue -> express -> node_redis -> redis [19:40] V1_ has joined the channel [19:41] yonkeltron: Sembiance: wow, man [19:41] Sembiance: it's a pretty simple setup ;) [19:41] muhqu has joined the channel [19:41] yonkeltron: Sembiance: i bet with some creating caching and HTML5 goodies, you could keep the number of requests down [19:41] tapwater has joined the channel [19:41] yonkeltron: but pretty amazing [19:41] ryah: felixge: have you tried the debugger yet? [19:42] Sembiance: yonkeltron: yah, probably. but nginx, node.js and redis are so very lightweight, my server isn't really being taxed at all, even with the large amount of traffic [19:42] isaacs has joined the channel [19:42] yonkeltron: amazing [19:42] felixge: ryah: not yet, unit tests seem more efficient :) [19:43] tlrobinson has joined the channel [19:43] felixge: ryah: but I want to play with it, I read the docs. Looks like gdb for JS [19:43] felixge: it's a little weird to put the breakpoints in the code [19:43] felixge: rather than telling the debugger where to break [19:43] ttpva has joined the channel [19:43] ryah: going to have that too -just haven't added it yet [19:43] Sembiance: this channel is great. I got to thank ptge yesterday for 'fugue', and today I got to thank mjr_, pietern and tjholowaychuk for all the other modules that I use :) [19:44] Sembiance: ryah: oh yah, thanks a lot for node.js, it's great :) it has me really excited :) [19:44] ryah: i'm trying to get people to start poking around the debugger and hopefully adding fixes [19:44] Sembiance: scratch another one off the list :) [19:44] stepheneb has joined the channel [19:44] pietern: Sembiance: yw, don't forget antirez for redis! ;) [19:44] ryah: and linus [19:45] felixge: ryah: the debugger is limited to v8 right? I mean it can't bridge between C++ and JS? [19:45] ryah: felixge: no it can't [19:45] felixge: ok, makes sense [19:45] ryah: however mraleph is working on one that can [19:45] felixge: ohhhh, that would be nice [19:46] felixge: my biggest "debugging" problem is still the node-mysql performance [19:46] ryah: felixge: https://github.com/ry/node/tree/gdbjit [19:46] felixge: I did some standalone buffer->string benchmarks, and they look rather fast [19:46] felixge: but for some reason things are really slow when executed in the context of my driver [19:46] felixge: not sure what variables I have not accounted for yet [19:46] Sembiance: before I discovered node.js, I built my own server side javascript wrapper around spidermonkey. Didn't get very far. But I wrote an Eclipse plugin that talked to spidermonkey to handle breakpoints, stepping, etc. [19:47] Sembiance: then I discovered that Google has an eclipse plugin that talks with V8, and around the same time I discovered node.js :) [19:47] tjholowaychuk: Sembiance: make decent $$$ of all those requests? [19:47] felixge: ryah: gdbjit looks cool [19:48] mraleph: felixge: it will not allow you to track performance problems though [19:48] Sembiance: tjholowaychuk: yup. if I wasn't married I would have quit my day job by now and I'd be coding whatever I want to, but being married I need to think about things a bit more :) [19:48] tjholowaychuk: very true :) [19:48] tjholowaychuk: cool man, good job [19:48] Sembiance: thanks :) [19:48] hellp has joined the channel [19:49] felixge: mraleph: Yeah, but it seems like a great tool regardless [19:49] pietern: ryah: persistent handles don't help.. the weird thing: I'm putting a printf just before the Object::Set and everything works out fine [19:49] mjr_: felixge: have you tried the oprofile module on Linux? [19:49] felixge: mjr_: no, I haven't heard of that [19:49] Sembiance: tjholowaychuk: although I never wanted to make any money with it. For the first year or so the site was up, I didn't have any ads or anything. but my girlfriend and soon to be wife thought I should at least try and ad, to see if it could earn enough to pay for the server costs. So I put an ad up, making sure I put a 'Hide this ad' link right above it so users could hide it. It turned out to be a great move :) [19:50] pietern: ryah: are there specific steps I need to take to compile node against v8 trunk, or can I slap it right in? [19:50] AAA_awright has joined the channel [19:50] felixge: mjr_: link? [19:50] mjr_: felixge: ./configure --oprofile [19:50] tjholowaychuk: Sembiance: haha :D rad [19:50] felixge: mjr_: how do I use it? [19:50] felixge: mjr_: and what does it do? [19:51] mjr_: felixge: well, you need Linux. oprofile is a system-wide CPU profilier. With V8 oprofile support, oprofile can observe, in theory, time spent in JS functions by name. [19:52] mjr_: felixge: so you could, I imagine, get a view of where time is spent on your entire computer while the test is running, so it would include V8, node's C++, all of node's libs, the kernel, the C library, etc. [19:52] felixge: mjr_: does it also track time spend in C++ bindings called by JS functions? [19:52] mjr_: Oh yes [19:52] matt_c has joined the channel [19:53] felixge: mjr_: how do I analyze such a log? [19:53] mjr_: Well, it works like "CPU Sampler" in Instruments. It wakes up on an interval and notices where the stack is. [19:53] mjr_: oprofile has a built-in reporting tool, opreport. [19:53] mraleph: felixge: it even tracks time spent in kernel if you have kernel image with symbols. really cool stuff [19:54] ryah: pietern: you can do ./configure --shared-v8-libpath=somedir [19:54] mjr_: The first step is to just get oprofile running on your computer and see how it works. Once you have that, then you worry about adding the fancy V8 addon. [19:54] felixge: mjr_ / mraleph: Ok, I guess that's what I need to try next :) [19:54] pietern: ryah: thanks [19:54] matt_c_ has joined the channel [19:55] xla has joined the channel [19:56] mjr_: felixge: then write a blog post. Not enough people know about this. [19:56] felixge: mjr_: will do [19:57] MikhX has joined the channel [19:57] Benhard has joined the channel [19:58] muhqu has joined the channel [19:58] Benhard: hey there [19:58] mraleph: pietern: what's your problem with https://github.com/pietern/hiredis-node/blob/master/reader.cc#L21? does it crash or what? [19:59] pietern: mraleph: it seems the array doesn't take ownership [19:59] pietern: and node crashes when I do a console log on such an object [20:00] Benhard: i hope somebody can give me a hint - i am trying to establish a https connection and compiled it with openssl enabled (./configure found it as well). With the following example node just tells me "Object # has no method 'setSecure'" -> http://www.silassewell.com/blog/2010/06/03/node-js-https-ssl-server-example/ [20:00] pietern: when I don't add any objects the array (and only comment that specific line out), it works like a charm [20:00] pietern: weird thing is: when I printf() a couple of things there, it doesn't segfault [20:00] ryah: Benhard: ssl api has changed in recent versions [20:01] pietern: so it seems there are a couple assumptions, in my code or v8, that have changed over time [20:01] ryah: Benhard: and generally is under development - it's not working [20:01] pietern: because this is not an issue on node 0.2 (v8 2.5 I think), but starting with v8 2.5.7 it started segfaulting [20:02] Benhard: ryah: thought that it might changed but couldn't find much information about it. Too bad it isn't working atm - hope that will change ;) [20:02] Benhard: ryah: Thx for your info [20:02] Benhard: ..and help :) [20:02] femtooo has joined the channel [20:05] mraleph: pietern: it is a bit difficult to understand the code. but do you guarantee that no Local<> handle is used after it's HandleScope were destroyed? [20:05] pietern: mraleph: yes, when I have a reply, it is returned via scope.Close() [20:05] mraleph: pietern: handle array looks a bit suspicious to me. [20:05] mraleph: ok [20:06] pietern: otherwise, I create persistent handles for the local handles I temporarily store [20:06] pietern: and restore those on subsequent calls [20:07] jimt has joined the channel [20:07] pietern: mraleph: I've just tried using an array with persistent handles there, but without luck [20:08] pietern: my reasoning for using the handle array with local handles, is that they only live for the duration of a single handlescope, that is created in the outermost c++ function [20:08] jpick has joined the channel [20:08] pietern: might be a little v8 trickery there, but it worked like a charm [20:10] mraleph: pietern: can you through your code into gdb and then show me backtrace of the crash? (with debug version of node/v8). I might be able to figure something out. [20:10] pietern: mraleph: sure, thanks! [20:10] pietern: I hope it gives me useful info [20:12] isaacs_ has joined the channel [20:13] augustl: anyone know about something like node-paperboy, but with unit tests? :S [20:13] augustl: also, I'd like to be able to only serve static files on i.e. /_static [20:13] gakusei has joined the channel [20:14] augustl: which paperboy can do, so nvm. Would still like to see something with tests though. [20:15] jchris has joined the channel [20:15] felixge: augustl: sorry, about the missing tests for paperboy :) [20:15] augustl: felixge: are you working on it? That's good enough for me [20:16] felixge: augustl: I wrote it, yes [20:16] augustl: I meant, working on writing tests [20:16] felixge: augustl: and there are no bugs afaik [20:16] felixge: augustl: no, I won't have time for that soon [20:16] augustl: if I started working on tests, would you have time to look over the patches? [20:16] felixge: augustl: definitely! [20:16] augustl: I'd rather do that than starting from scratch on my own lib [20:16] augustl: cool [20:17] gakusei: is it ok to ask node.js user questions in here? [20:17] pietern: mraleph: see: https://gist.github.com/765341 [20:17] pietern: testing if node_g isn't crashing for earlier versions to be sure [20:18] augustl: gakusei: not sure what you mean by "user questions", but it's a node.js channel so I guess the answer is yes [20:18] mraleph: pietern: holy cow. [20:18] gakusei: I load scripts like that: [20:18] gakusei: var a = require('./path/a'); [20:18] gakusei: var b = require('./path/b'); [20:18] gakusei: node.js:63 [20:19] gakusei: throw e; [20:19] gakusei: ^ [20:19] gakusei: ReferenceError: classCreate is not defined [20:19] gakusei: but classCreate is defined in a [20:20] stride: when is the error thrown? [20:21] mraleph: pietern: can you post gdb backtrace for this crash? [20:21] stride: at the time your require a? [20:21] gakusei: stride: the error is thrown at var b = require('./path/b'; I guess they are not in the same "name space" [20:22] pietern: mraleph: sorry, yep [20:22] pietern: mraleph: updated [20:22] tilgovi has joined the channel [20:22] pietern: mraleph: this is on osx for node master [20:22] stride: gakusei: huh? if you want B to know about something in A you'd have to require A inside of B or expose A (or what you need of it) by passing a reference into B [20:23] pietern: testing node 0.3.1 now (where the same code works for regular node, so testing node_g to be sure) [20:24] gakusei: stride: I want to create a DOM like environment with jsdom without rewriting the whole program, so I hope there is a chance to "introduce" a to b without changing b [20:24] pietern: mraleph: the same (recompiled) code works as expected against node 0.3.1 (and v8 2.5.3) [20:25] gakusei: stride: a and b work in the browser e.g. chromium [20:25] stride: gakusei: does b offer any way to initialize it or something? [20:26] stride: if not, an alternative might be to require a and run b inside a script context which exposes a as a global or something [20:27] nonnikcam has joined the channel [20:28] mraleph: pietern: ah. I think I know what causes this particular assertion. let me check. [20:28] gakusei: stride: it is not only a and b in fact it is a - z; so I hope there is a recipe on how to "translate" a html page into a sth.js script and then call into the program like the button.go() funciton [20:28] stride: a-z? clearly enterprise ready! :> [20:28] gakusei: stride: hmm it is 30K [20:29] pietern: mraleph: if you need the code I'm using to trigger the segfault let me know [20:30] bingomanatee_ has joined the channel [20:30] tfe1 has joined the channel [20:31] jakehow has joined the channel [20:31] bingomanatee_: I'm back baby! [20:32] stride: gakusei: are a-z CommonJS compliant modules? [20:33] ryah: 1/names [20:34] mraleph: pietern: hmm. I was incorrect. so how can I reproduce it? [20:34] gakusei: stride: that is something I do not know, but It is said to run on "all" browsers so I have the best hopes; I know that someone managed to run at least parts of it but he has more experiience with node.js than I have [20:35] pdelgallego has joined the channel [20:35] dylang has joined the channel [20:35] gakusei: stride: I tried to contact him but no luck so far :-( [20:35] jchris has joined the channel [20:36] pietern: mraleph: I run node from master, the hiredis-node repo without changes: https://github.com/pietern/hiredis-node [20:36] pietern: (node-waf clean configure build) [20:36] stride: gakusei: him? :) [20:37] stride: gakusei: well, the fact that they run in browsers might be a hint that they're simply not intended to be require()d in node [20:37] gakusei: stride: the person that I contacted regarding the source [20:38] mraleph: pietern: rebuilding node [20:38] stride: gakusei: take a look at the Script stuff in the node docs, you might be able to read the script-files yourself, put them all in a script context and run that afterwards [20:38] gakusei: stride: but YUI runs on node; I can not imagine that it was intended to run [20:38] stride: gakusei: and for the dom-side of things, the script object has a context that you can change to include jsdom or something I guess [20:39] CrypticSwarm_ has joined the channel [20:39] ossareh has joined the channel [20:39] stride: gakusei: not the unmodified browser-version of YUI, right? [20:39] mraleph: jesus I should definetely buy some fancy workstation... JOBS=4 make kills my laptop. :-( [20:39] pietern: mraleph: this snippet segfaults it: https://gist.github.com/765378 [20:40] pietern: and works fine for node 0.3.1 [20:40] gakusei: stride: I read through the 27 page PDF for node.js which was not very helpful so far; am am looking for something more concrete like a sample or something which is not as complex as YUI [20:43] isaacs has joined the channel [20:44] ArthurClemens has joined the channel [20:47] mraleph: pietern: I can't build hiredis [20:47] mraleph: pietern: ld: symbol(s) not found for architecture i386 [20:47] pietern: on osx? [20:47] bingomanatee__ has joined the channel [20:47] mraleph: yep [20:47] pietern: that's weird... checking it out [20:48] pietern: I had that issue before for the ruby bindings [20:48] pietern: and thought I had taken care of that [20:48] ArthurClemens: it is possible to call node with a verbatim script instead of a script filepath? [20:48] mraleph: pietern: I cloned this one https://github.com/antirez/hiredis.git [20:48] mraleph: pietern: and just said make [20:49] pietern: mraleph: ah, very weird [20:49] pietern: not required though, [20:49] mraleph: ah [20:49] pietern: it's bundled with hiredis-node [20:49] pietern: as a dependency [20:49] gf3 has joined the channel [20:49] mraleph: pietern: strange [20:50] pietern: so you can just do "node-waf clean configure build" from its root [20:50] pietern: and it should work out [20:50] pietern: are you running 32 bit osx? [20:50] mraleph: pietern: hiredis-node does not compile as well. it says that hiredis/hiredis.h was not found. [20:51] mraleph: pietern: no. I think osx nowdays is 64bit only =) [20:51] mraleph: pietern: I have 32bit node js though. [20:51] pietern: mraleph: this weirds me out, doing a fresh checkout, one sec [20:51] stride: ArthurClemens: don't think something like that is currently in node. you can replicate that behaviour with process.openStdin() and the evals (or vm in newer node versions) module though. rough start would be something like https://gist.github.com/765390 (which you can pipe stuff in) [20:52] pietern: mraleph: I AM NOOB [20:52] darthdeus has joined the channel [20:52] pietern: gitsubmodule init [20:52] pietern: sorry [20:52] ArthurClemens: stride: thanks, I'll give that a try [20:52] pietern: mraleph: git submodule init && git submodule update [20:52] CIA-121: node: 03Mihai Călin Bazon 07master * r131546e 10/ src/node.js : realpath files during module load - http://bit.ly/grf9AQ [20:52] mraleph: holy cow. this is darkish git magic. never used modules in my git-life :-) [20:53] pietern: I should add it in raw, this has bitten me before [20:53] pietern: I always forget about them... ;) [20:53] mraleph: now it says: ld: library not found for -lhiredis [20:53] SubStack: whenever I use submodules the hate starts to rise [20:54] mraleph: but at least it compiled something and is trying to link it all together [20:54] pietern: mraleph: ok, could you go into deps/hiredis and do a make [20:54] ryah: ACTION sighs heavily and boots into windows [20:54] mraleph: pietern: ld: symbol(s) not found for architecture i386 [20:55] SubStack: delicious falafel [20:55] mjr_: I think I'd rather use git submodules than Windows. [20:55] pietern: mraleph: OBJARCH="" make [20:56] mraleph: ryah: mjr_: windows should die peacefully :-) the only thing I love there is windbg. [20:56] pietern: I didn't think I would have an exquisite build environment, but it appears so ;) [20:56] mraleph: pietern: same error [20:56] dguttman_ has joined the channel [20:57] pietern: mraleph: do you have xcode gcc or a custom one? [20:57] mraleph: pietern: xcode one I think [20:57] mraleph: pietern: but I am not running snowleopard so devtools are not up to date. [20:57] pietern: mraleph: ah, that might be it [20:58] yene has joined the channel [20:58] losing has joined the channel [20:59] ryah: win 7 is kind of nice [20:59] pietern: mraleph: I don't have access to a regular leopard machine [20:59] mraleph: pietern: let me try to resolve this linking error by googling :-) [20:59] pietern: mraleph: could you try "make 32bit"? [20:59] pietern: that sets the arch to 32 bit explicitly [21:00] pietern: that would hopefully include some i386 symbols ;) [21:00] nym_ has joined the channel [21:00] fumanchu182: When working with crypto I would assume that it it should be required like any other module, so crypto.createHash('sha1'); produces an empty object, has anyone else had this problem? [21:00] mraleph: pietern: same error. I think libtool command line is incomplete or something. [21:00] nym: hey, does anyone here use nginx with node? [21:01] wink_: nym: people do, yes [21:01] wink_: you missed a guy earlier who was using nginx to forward 3.3 million reqs/day to his node backend [21:01] pietern: mraleph: so only libtool gives errors? compiling works fine? [21:02] mraleph: pietern: yep [21:02] nym: i'm not sure i want node.js serving up my backend, although not sure if it makes more sense to let node run on it's own port, and just have 80 be vanilla static [21:02] fumanchu182: I also have OpenSSL installed so don't think that could be an underlying issue. [21:02] nym: i mean node.js serving up my html [21:03] pietern: mraleph: otherwise "make static"? [21:03] pietern: long shot, but worth trying [21:05] gakusei: does anybody know a simple example on how to port an app from the browser to node? [21:05] prettyrobots has joined the channel [21:05] gf3 has joined the channel [21:05] wink_: gakusei: i doubt you're going to find such a thing, it's really going to depend on your 'app' [21:06] pietern: mraleph: another option: OBJARCH="-arch i386" make static [21:06] stride: fumanchu182: it's something like var hash = Crypto.createHash('md5').update(mailaddress).digest('hex'); are you sure the object's empty? [21:06] gakusei: wink_: sure but my up does not work on node [21:07] akahn has left the channel [21:07] banjiewen has joined the channel [21:07] matjas has joined the channel [21:08] rickharrison has joined the channel [21:08] stride: fumanchu182: not sure why but console.log simply doesn't render it correctly. try typeof yourhash.update [21:08] fumanchu182: stride, http://pastebin.com/ayYmanCQ [21:08] fumanchu182: okay [21:08] tg has joined the channel [21:08] fumanchu182: I get 'function' as a result. [21:08] nym: i guess for now i'll let nginx serve 80, and run node on 9202 [21:08] fumanchu182: Okay, sys.inspect is also affected. [21:08] stride: hm. inspect(hash, true) also shows an empty object. strange [21:09] fumanchu182: Bug report? [21:09] stride: fumanchu182: anyway. it should be working nevertheless :) [21:09] fumanchu182: okay i will look at the hash functionality then [21:09] fumanchu182: and test/play [21:09] stride: yeah, I guess. no idea how the crypto stuff is implemented [21:09] fumanchu182: just was trying to figure out what hte object looked like [21:10] stride: for a hash it's basically what I posted before, create, update and digest [21:11] fumanchu182: stride, it is all good. Just usually when I am playing with a new module I inspect the objects to see what is in my arsenal. [21:11] stride: heh, yeah :) [21:12] fumanchu182: sys.log(x.update('foo').digest('hex')); produced what I needed, maybe since Crypto contains the certificates it might be hidden from sys.log or console.log? [21:13] stagas has joined the channel [21:13] felixge: ryah: do you still plan on making Stream.pause() take effect right away? [21:13] felixge: ryah: it is still emitting a few 'data' events after pause() right now, no? [21:13] isaacs has joined the channel [21:13] mraleph: pietern: after some meditation I figured out that adding -lgcc_s.1 fixes linkage... [21:14] mraleph: it pretty obvious wtf is going on if you think about it :-) [21:14] gf3 has joined the channel [21:15] mraleph: pietern: ok. hiredis-node build done. running your snippet now. [21:15] ryah: felixge: i still plan on it, yes [21:15] pietern: mraleph: that's pretty bad-ass :P [21:15] amerine has joined the channel [21:15] pietern: but weird that it doesn't work out of the box [21:15] felixge: ryah: is that something I could help with? Or were you planning on some libev magic? [21:15] ph^ has joined the channel [21:16] MikhX_ has joined the channel [21:17] briznad has joined the channel [21:17] ryah: the problem is mostly in the http module - i did a big rewrite of the parser to allow it to pause [21:17] mraleph: pietern: not wierd at all. bad news: your snippet does not crash :-) [21:17] ryah: it needs to be bound to js still [21:18] ryah: but probably i should do it - because mroe changes to the parser are probably required [21:18] pietern: mraleph: hmm [21:18] felixge: ryah: ok. It's the most frequently reported bug for formidable [21:18] pietern: mraleph: it might have something to do with the build env then? trying on a linux box [21:19] mraleph: pietern: let me try x64 build now [21:19] pyrotechnick: i have an xhr that only hangs in chrome and firefox but works in reqong…anyone know what that might be? [21:19] felixge: ryah: people do something non-blocking to determine if they want to handle an upload which causes issues [21:19] pyrotechnick: we're using express [21:19] dgathright has joined the channel [21:19] pietern: mraleph: great, didn't mention that but I'm indeed using 64 bit node [21:20] mraleph: pietern: I noticed that in you backtrace [21:20] Hello71 has joined the channel [21:20] Hello71 has joined the channel [21:20] tjholowaychuk: pyrotechnick: can you gist the request? [21:20] pietern: of course... [21:21] mraleph: pietern: are you using statically linked hiredis? [21:21] pyrotechnick: tjholowaychuk: https://gist.github.com/ccebd1db0b5cbbdbc5ad [21:22] pietern: mraleph: yes [21:22] pyrotechnick: we're using backbone. the other ajax requests are fine. it's just the "index" or collection refresh one [21:22] mraleph: pietern: ok [21:22] bmizerany has joined the channel [21:23] rickharrison_ has joined the channel [21:23] pyrotechnick: tjholowaychuk: i've tried different node versions, different express versions, taking socket.io out, lots of things [21:23] pyrotechnick: its weird because it doesnt happen in rekonq which is webkit [21:24] pyrotechnick: the request doesnt come up in ff/chrome until you stop the server. in chromium 10 it comes up as 'pending' [21:24] zemanel has joined the channel [21:24] tjholowaychuk: pyrotechnick: hmm something in the route is obviously never getting through, and if you dont next() explicitly then connect cant handle it either [21:24] sveimac has joined the channel [21:24] pyrotechnick: TBH we're using zappa [21:25] pyrotechnick: but we're probably going to drop it now. i think it's causing too many headaches [21:25] tjholowaychuk: cant help you there then haha [21:25] pyrotechnick: i dont want to perse we like using it, but [21:25] fumanchu182: does calling hash.digest() destroy the current object context and require you to rebuilt the hash algo? [21:25] pyrotechnick: this is a weird problem and it's probably zappas fault [21:25] pyrotechnick: i just find it strange how it's that one route [21:25] romainhuet has joined the channel [21:25] tjholowaychuk: pyrotechnick: just make sure you reply at all times [21:26] tjholowaychuk: it could be based on Accept if you are utilizing that, that is the only inconsistant thing I can think of off hand [21:26] tjholowaychuk: dunno [21:26] pyrotechnick: thanks for the heads up [21:26] stagas has joined the channel [21:27] tjholowaychuk: fuck yeahhh you can registerExtension .js [21:27] tjholowaychuk: awesome [21:27] tjholowaychuk: sooo awesome [21:27] pyrotechnick: like overrride .js loading? [21:27] tjholowaychuk: yeah [21:27] tjholowaychuk: i have a plan [21:27] pyrotechnick: with hotswapping or something? [21:27] tjholowaychuk: and this totally saves me [21:27] pietern: mraleph: did you get it to crash? [21:27] pietern: on 64 bit linux it gives me another backtrace [21:29] kschzt has joined the channel [21:29] pyrotechnick: tjholowaychuk: express can do the actual HTTP verbs right? [21:29] pyrotechnick: i dont have to emulate them? [21:29] tjholowaychuk: that is correct [21:29] pietern: mraleph: https://gist.github.com/765341#file_linux_x64 [21:30] tjholowaychuk: pyrotechnick: methodOverride middleware supports a few ways to override them [21:30] tjholowaychuk: if needed [21:30] mraleph: pietern: now I cannot build x64 version of hiredis-node. it just defaults to ia32 for some reason [21:30] pyrotechnick: what i need is connect.logger() [21:30] pyrotechnick: see if its even getting to my server [21:30] pyrotechnick: brb [21:31] pietern: mraleph: OBJARCH="-arch x86_64" make static ? [21:31] tjholowaychuk: pyrotechnick: I had started a middleware that wraps/profiles all the middleware so you can instrument the requests [21:31] tjholowaychuk: didnt finish yet though [21:31] tjholowaychuk: but that would help lol [21:31] pyrotechnick: thats cool [21:31] pietern: in theory that would only build 64 bit objects [21:32] pyrotechnick: tjholowaychuk: anything wrong with these ? https://gist.github.com/9eaefb92e355cdd3b823 [21:32] mraleph: pietern: hiredis is fine. node-waf defaults to ia32 build for some reason [21:32] mraleph: pietern: node itself is x64 [21:33] tjholowaychuk: pyrotechnick: looks ok, maybe adding use(@http_server.router) at the bottom [21:33] tjholowaychuk: and move staticProvider below that [21:33] tjholowaychuk: so your routes can take precedence [21:33] pyrotechnick: ok [21:33] tjholowaychuk: and logger at the top to wrap or w/e [21:33] tjholowaychuk: you can pass logger({ format: ':method :url - :response-time' }) etc [21:34] chrisdickinson: brianc: just out of curiousity, re: node-pg, have you decided on a format for getting the number of affected rows back from a query? [21:34] pietern: mraleph: very weird.... [21:34] pietern: apparently is also doesn't pass the --targets configure option to gcc [21:35] pyrotechnick: tjholowaychuk: where does logger log to [21:35] tjholowaychuk: pyrotechnick: stdout [21:35] tjholowaychuk: by default [21:35] tjholowaychuk: you can pass a stream to { stream: ... } [21:35] pyrotechnick: ffs not even that is working [21:35] tjholowaychuk: it logs on end() so if it never ends [21:35] tjholowaychuk: you wont see anything [21:35] mraleph: ryah: is there a way to force node-waf to build 64-bit target? it defaults to ia32 for some reason. [21:36] pyrotechnick: ok here we go [21:36] pyrotechnick: the request is never even getting through [21:36] pyrotechnick: that ajax call must be borked [21:37] pyrotechnick: ill have to try this against a little node http server maybe [21:37] tjholowaychuk: yeah shit. my tracer thing would help pinpoint that [21:37] tjholowaychuk: or ryans debugger :D haha [21:37] pyrotechnick: both would be dandy right now lol [21:37] tjholowaychuk: im really stoked for that thing [21:38] tjholowaychuk: GAH github stop failing me [21:38] pyrotechnick: still having problems is it? [21:38] pyrotechnick: we had to do the ole git@feisty.co last night [21:38] pyrotechnick: somehow hosting your own git repos or doing p2p git seems so much more hardcore [21:39] wapcaplet has joined the channel [21:39] tjholowaychuk: sucks, i need my submods to be from github [21:39] tjholowaychuk: but its all borked right now [21:39] pyrotechnick: ahh guess what i think it is [21:39] pyrotechnick: if its this im going to cry [21:40] slaskis: does jsdom do some hacks to Error or something, everything that's thrown seems to include a bunch of jsdom data [21:41] bmizerany has joined the channel [21:41] matt_c has joined the channel [21:41] pyrotechnick: tjholowaychuk: when i stop the page load. it logs /favicon.ico [21:41] pyrotechnick: meaning i think that request is like blocking all the others, including the ajax [21:41] tjholowaychuk: haha [21:41] tjholowaychuk: fuck [21:41] tjholowaychuk: got damn favicons [21:41] pyrotechnick: i hate them [21:41] pyrotechnick: should i [21:41] tjholowaychuk: add express.favicon() at the top [21:41] tjholowaychuk: try that [21:41] pyrotechnick: use that connect middlewear? [21:41] pyrotechnick: i tried putting it in public [21:42] pyrotechnick: fails [21:42] tjholowaychuk: hmm [21:42] softdrink: does anyone have any idea what controls the order of your watched repositories on github? [21:42] pyrotechnick: date i think [21:42] pyrotechnick: update date [21:42] pyrotechnick: i think [21:42] pyrotechnick: but its probably weighted by something else [21:43] isaacs_ has joined the channel [21:44] bantic has joined the channel [21:45] mraleph: pietern: I linked it by hand [21:45] dguttman has joined the channel [21:45] mraleph: pietern: and it works just fine [21:45] mraleph: pietern: fuuuuu [21:45] pietern: mraleph: cool, but it doesn't segfault [21:45] pietern: grrr [21:45] pyrotechnick: tjholowaychuk: this all seems a bit voodoo [21:45] pyrotechnick: tjholowaychuk: like one request can screw up all the future ones [21:46] mikew3c_ has joined the channel [21:46] tjholowaychuk: pyrotechnick: if your logic is messed or you res.send() multiple times etc yeah you can [21:46] pyrotechnick: is there a way to make it a bit more robust [21:46] pyrotechnick: like sandbox that kinda stuff or something [21:47] pyrotechnick: fucking favicon [21:47] pyrotechnick: it looks like we're going to have to drop zappa just because of fucking favicons [21:47] mraleph: pietern: ok. let me medidate on the assertion failures a little bit. [21:47] 77CAAJ5NE: mikeal: The "request" module still follows redirect if you set the followRedirects's option to false. ( tested under node v0.2.5 ) [21:47] pietern: mraleph: it crashes node on linux as well, but with different errors [21:47] pietern: https://gist.github.com/765341#file_linux_x64 [21:47] 77CAAJ5NE: oh [21:47] softdrink: so cool that even if github gets nuked from orbit, there are all those cloned repos out there [21:47] tjholowaychuk: pyrotechnick: well it might not be zappa [21:47] tjholowaychuk: but I dont know what it does [21:47] pietern: but v8 has a fair amount of platform dependent code of course [21:47] mraleph: pietern: are you sure that you run it without any modifications? [21:47] tjholowaychuk: so I cant comment lol [21:47] pietern: mraleph: yes [21:47] pyrotechnick: tjholowaychuk: you're not going to like it [21:47] pyrotechnick: https://github.com/mauricemach/zappa [21:48] pyrotechnick: but we love it [21:48] pietern: 100% [21:48] pietern: both hiredis-node and node vanilla [21:48] Thorn has joined the channel [21:48] pietern: the segfault on linux is also completly vanilla [21:49] tjholowaychuk: pyrotechnick: is broadcast a call on "this" ? [21:49] tg has joined the channel [21:49] pyrotechnick: no they're locals [21:49] pyrotechnick: it does some scoping voodoo [21:49] pietern: mraleph: I'm calling it a day for today, if I find other things I'll ping back here [21:49] pyrotechnick: dsl you know [21:50] tjholowaychuk: loves me some ambiguity [21:50] pyrotechnick: lol [21:50] pyrotechnick: it's cool [21:50] tjholowaychuk: exactly what I hated about ruby lol [21:50] tjholowaychuk: its cool until its someone else reading your code [21:50] mraleph: pietern: okay [21:50] SubStack: coping with scoping! [21:50] pietern: mraleph: I could send you my binaries though, would that work? [21:51] mikeal: V1: that sucks [21:51] pyrotechnick: tjholowaychuk: yeah we're not convinced zappa is the best thing for this project. we'll probably go back to raw express today [21:51] pyrotechnick: its nice [21:51] pyrotechnick: for throw-away 5 minute stuff [21:51] pyrotechnick: but i think for anything more important [21:51] pyrotechnick: its still a bit immature [21:51] tg has joined the channel [21:52] mraleph: pietern: I doubt. especially because we are on different versions of os x [21:52] pietern: yeah probably [21:52] V1: mikeal: Yeh it kinda does suck, but the same counts for the port option.. it does not work either ;! So i have to manually add the port number to the uri and it works.. But something really fishy is going on there [21:52] mikeal: port? [21:52] mraleph: pietern: i will try it on linux tomorrow. [21:52] pietern: mraleph: matt ranney was having the same segfault [21:52] pyrotechnick: we do like it though. for a couple of reasons. one you can have everything nicely in the one file, or include it in and it's all "watched" because it's a child of "app.coffee" [21:52] mikeal: the port needs to be in the uri [21:52] pietern: on o10.6, so I think it's not my build env [21:52] mikeal: there isn't another way to specify that [21:53] pyrotechnick: anyway tjholowaychuk we seriously only want a pass-through rest/mongo at this point [21:53] pyrotechnick: tjholowaychuk: do you have a demo or example? [21:53] tjholowaychuk: haha [21:53] tjholowaychuk: no example no [21:53] pyrotechnick: dont want to reinvent the wheel [21:53] pyrotechnick: okay [21:53] tjholowaychuk: would be nice to have but im waiting on the new mongoose [21:53] pyrotechnick: so are we ;P [21:54] pietern: mraleph: we'll talk later, I hope we can find out what this is [21:54] pietern: later! [21:54] pyrotechnick: anyway thanks for your assistance [21:54] softdrink: dear js, let me alias function to ƒ [21:54] pyrotechnick: ill get stuck into it [21:54] tjholowaychuk: good luck [21:54] pyrotechnick: have you tried express on 0.3.3 yet? [21:54] mikeal: V1: don't see how it would be failing [21:54] tjholowaychuk: not really no [21:54] pyrotechnick: i went back to 0.2.4 for this stuff [21:54] pyrotechnick: but ill go back to 33 now [21:55] pyrotechnick: ill let you know [21:55] pyrotechnick: how it goes [21:55] pyrotechnick: ill try to use as much crap as possible [21:55] pyrotechnick: see if i cant break anything [21:55] pyrotechnick: like favicons... [21:55] tjholowaychuk: oh probably lol [21:56] Kryckan has left the channel [21:56] c4milo has joined the channel [21:56] yene has left the channel [21:59] V1: mikeal the port thing is my mistake, I did not see that uri should have been an object I just plainly added it to the object =_= but the followRedirect bug still holds [22:00] softdrink: i *hate* that webkit requests a favicon even if there's not one defined in the head [22:00] mikeal: V1: can you put a debug statement [22:01] mikeal: there is a line that sets the default [22:01] cwo has joined the channel [22:01] mikeal: print after that the it is when you set it to false [22:02] V1: mikeal: Will do in a sec [22:03] softdrink: oh neat, Icon Composer (which comes with XCode) will do .ico [22:04] KrisJordan: @softdrink: re alias function -> f ... CoffeeScript's notation is great [22:04] softdrink: i don't want another step between me and the browser though [22:04] V1: mikeal: i did a console.log after the " options.followRedirect = (options.followRedirect !== undefined) ? options.followRedirect : true;" and it reported options.followRedirect as false [22:04] softdrink: coffescript = not my cup of tea (TEE HEE) [22:05] mikeal: rm... [22:06] KrisJordan: @softdrink - that's unfortunate, it's pretty deliciuos [22:06] V1: mikeal: I suspect the version in npm is out of date... [22:06] V1: mikeal: As it all of the sudden stopped following the redirects :! [22:06] mikeal: that might be the case [22:07] mikeal: i should push a new version [22:07] mikeal: master has support for proxies [22:08] V1: Ok, than it's solved mikeal. Thanks [22:08] springmeyer has joined the channel [22:08] mikeal: np [22:08] bmizerany has joined the channel [22:09] tg has joined the channel [22:12] dthompson has joined the channel [22:12] cardona507 has joined the channel [22:13] tim_smart has joined the channel [22:13] robrighter has joined the channel [22:14] cardona507 has joined the channel [22:14] isaacs has joined the channel [22:16] wilken has joined the channel [22:17] cardona507 has joined the channel [22:17] ryah: does anyone use windows here? [22:18] mikeal: you told us not to ryah :P [22:18] tim_smart: People are too afraid to say yes [22:19] tim_smart: In case they get torched and stoned. [22:19] PyroPeter has joined the channel [22:19] mikeal: Steve Martin is a twitter animal [22:19] bartt has joined the channel [22:19] mikeal: he doesn't stop all day [22:19] mikeal: it's insane [22:19] cafesofie has joined the channel [22:20] beta_ has joined the channel [22:22] fangel has joined the channel [22:22] tjholowaychuk: require.registerExtension('.js') is possibly the best thing ever [22:24] pdelgallego has joined the channel [22:24] tim_smart: tjholowaychuk: registerExtension got fired I thought [22:24] tjholowaychuk: tim_smart: did it? in .3? [22:24] creationix has joined the channel [22:24] tim_smart: Yeah [22:25] tjholowaychuk: fuck [22:25] tim_smart: require.extension['.js'] = function (module, filename) { }; instead [22:25] tjholowaychuk: oh haha ok, I thought you meant that functionality all together [22:25] tjholowaychuk: fewf [22:26] gakusei has left the channel [22:27] springmeyer_ has joined the channel [22:28] msilverman2 has joined the channel [22:29] tim_smart: The internals use it: https://github.com/ry/node/blob/master/src/node.js#L368 [22:29] opengeard has joined the channel [22:30] ryah: ACTION stabs himself [22:30] ryah: (trying to use windows - ignore me) [22:31] omni5cience has joined the channel [22:33] tjholowaychuk: tim_smart: kinda sucks you cant layer them with that api [22:33] derferman has joined the channel [22:33] tjholowaychuk: tim_smart: for example this is what im doing https://gist.github.com/765580 [22:33] tjholowaychuk: but you could later in some profiling stuff [22:33] tjholowaychuk: (doing that as well) [22:34] piscisaureus has joined the channel [22:38] piscisaureus: ryah: I use windows :-) [22:40] ryah: piscisaureus: ah, you're here [22:40] ryah: im trying to build your branch [22:41] ryah: can you aid me in getting my env set up? i installed "git msys" [22:41] ryah: which gave me a shell [22:41] ryah: also Python27 [22:41] ryah: also mingw [22:41] ryah: the problem is there seems to be two shells - the git one and the mingw one [22:41] ryah: which should i use? [22:41] ossareh has joined the channel [22:41] piscisaureus: yeah, that really sucks [22:42] piscisaureus: use the mingw one [22:42] ryah: how do i access git via the mingw one? [22:42] piscisaureus: doesn't work for me either [22:43] piscisaureus: but should be doable by adding the git dir to the path in the mingw shell [22:43] ryah: ok [22:43] stagas has joined the channel [22:43] ryah: i just google searched setting the path - is it correct that i have to right click on "my computer" and edit it from a dialog? [22:44] piscisaureus: yep. that's the way [22:44] piscisaureus: you're on 7 or xp? [22:44] ryah: 7 [22:44] kolor has joined the channel [22:44] isaacs has joined the channel [22:44] sechrist has joined the channel [22:46] sudoer has joined the channel [22:47] piscisaureus: right click my computer, [22:47] piscisaureus: then click 'advanced system settings' (or something like that; my windows is in dutch) [22:47] piscisaureus: the popup that opens should have a 'environment' button [22:50] tjholowaychuk: cool little debugging trick: https://gist.github.com/765580 [22:50] drudge: devilish [22:51] ryah: piscisaureus: from mingw term, is it possible to get to C:/Users/ryan ? [22:51] ryah: (that's where i did the git-checkout) [22:51] tjholowaychuk: drudge: using something similar for contextual profiling too :D [22:51] piscisaureus: cd /c/users/ryah [22:52] ryah: piscisaureus: ! [22:52] ryah: got it [22:52] ryah: i couldn't see /c when i ls'ed there [22:52] piscisaureus: it sucks I know [22:53] ryah: compiling :) [22:54] piscisaureus: should switch to msvc when garrett is done with his holidays [22:54] saikat_ has joined the channel [22:54] drudge: anyone listen to the new decemberists? [22:55] admc has joined the channel [22:56] ryah: piscisaureus: compiled! [22:57] T-Co: Does someone happen to be familiar with DSS APIModules? [22:57] piscisaureus: now run node_chat :-) [22:57] ryah: is it possible to copy/paste from mingw? [22:57] ryah: :) [22:57] ryah: such lovely tools you have here in in windows land [22:58] piscisaureus: ehm yeah [22:58] piscisaureus: click the icon of the console window [22:58] piscisaureus: choose edit -> select [22:59] piscisaureus: press enter when you're done [22:59] ryah: ryan@ryan-THINK /c/Users/ryan/node [22:59] ryah: $ ./node x.js [22:59] ryah: hello world [22:59] ryah: Not implemented: void Stdio::Flush() [22:59] ryah: Not implemented: void Stdio::DisableRawMode(int fd) [22:59] ryah: ryan@ryan-THINK /c/Users/ryan/node [22:59] ryah: :) [22:59] piscisaureus: yeah [22:59] pyrotechnick: ryah++ [22:59] v8bot: pyrotechnick has given a beer to ryah. ryah now has 1 beers. [22:59] softdrink: ryah: what's scary is that i've worked with developers that don't know any better. [22:59] pyrotechnick: v8bot keeps resetting your beers [22:59] ryah: i know [22:59] piscisaureus: stdio isn't there [23:00] ryah: piscisaureus: what do you use to edit this? [23:00] piscisaureus: eclipse [23:00] piscisaureus: if that's too heavy for you, use notepad++ or notepad2 [23:00] ryah: unfortunately i only have a 20 gig partition and i believe installing mingw, python, chrome, and git have filled it [23:00] ryah: :/ [23:01] softdrink: you'd need a whole separate machine for eclipse [23:01] softdrink: ¬¬ [23:01] piscisaureus: really??? weird [23:01] piscisaureus: On my machine eclipse+python+mingw takes 600 meg [23:02] ryah: only 106 mb left... [23:02] piscisaureus: a lot still but not really like 20gig [23:02] ryah: how big is the windows OS? [23:02] piscisaureus: big. few gig, like 5 or so [23:02] piscisaureus: trash bin? [23:03] twoism has joined the channel [23:03] piscisaureus: okay its more, 18GB is closer [23:03] ArthurClemens has left the channel [23:04] ryah: the git install was over a gig [23:04] ryah: -_ [23:04] ryah: - [23:04] piscisaureus: you may also try to run "vssadmin delete shadows /all" from cmd [23:04] piscisaureus: will system recovery shadow copies [23:05] ryah: is there an easy way to resize partitions? [23:05] piscisaureus: well if your hd is bigger than 20 GB :-) [23:05] ryah: it is [23:06] piscisaureus: hold on [23:06] piscisaureus: open the start menu [23:07] piscisaureus: search for 'computer' or something like that until you find 'computer management' [23:07] chapel: stagas: ping [23:07] piscisaureus: ryah: tell if if you can get there [23:07] stagas: chapel: pong [23:07] pyrotechnick: tjholowaychuk: the "yeild" method in express is named 'body' [23:07] chapel: :) [23:07] pyrotechnick: tjholowaychuk: right? [23:08] chapel: stagas: you see the recent changes with redis? [23:08] tjholowaychuk: its not a method [23:08] tjholowaychuk: its just a local [23:08] pyrotechnick: ok [23:08] tjholowaychuk: this aint ruby boy :p [23:08] pyrotechnick: how do i rename it [23:08] pyrotechnick: HAH [23:08] stagas: chapel: the vm thing? [23:08] tjholowaychuk: you dont :p [23:08] pyrotechnick: i know but i dont know what else to call it mate [23:08] chapel: how they are going to an actual on disk store and having in memory data be only whats being fetched [23:08] pyrotechnick: tjholowaychuk: i need to [23:08] chapel: http://groups.google.com/group/redis-db/browse_thread/thread/d444bc786689bde9?pli=1 [23:08] pyrotechnick: using coffeekup [23:08] pyrotechnick: and it has body defined [23:08] tjholowaychuk: oh [23:08] tjholowaychuk: lame [23:08] tjholowaychuk: lol [23:08] stagas: chapel: saw it yeah [23:08] pyrotechnick: well [23:08] piscisaureus: ryah: tell me when you're there. [23:08] pyrotechnick: you know [23:08] pyrotechnick: it is a html element [23:08] pyrotechnick: so you cant blame it [23:08] stagas: chapel: it's going to rule [23:08] tjholowaychuk: pyrotechnick: oh right that is the dsl thinger [23:09] tjholowaychuk: hmm [23:09] chapel: well just reminded me that they are doing what chaos does for the on disk store [23:09] pyrotechnick: i think it should be called something else, or at least renamable [23:09] chapel: :) [23:09] pyrotechnick: yes tjholowaychuk [23:09] pyrotechnick: it's snazzy [23:09] pyrotechnick: anyway just say it wasnt coffeekip [23:09] pyrotechnick: say it was like [23:09] pyrotechnick: jshtml or something [23:09] pyrotechnick: and it declared a body() [23:09] pyrotechnick: then it would still clash [23:09] pyrotechnick: it's not specific to coffeekup [23:09] pyrotechnick: so where do i hack this in [23:09] pyrotechnick: and how do i make it configurable [23:09] pyrotechnick: if you point me to a line number [23:09] pyrotechnick: ill try do a patch [23:09] tjholowaychuk: yeah it would be nice to configure via app.set('view options') [23:09] tjholowaychuk: in render() [23:10] pyrotechnick: ok [23:10] pyrotechnick: let me take a stab at it [23:10] pyrotechnick: cheers [23:11] heavysixer has joined the channel [23:11] TheEmpath: Actual conversation at the job: Programmer1: "Who wrote 'It's on like Donkey Kong' when you counter this error?" [23:11] TheEmpath: Programmer2: "I bet it was Lee." [23:11] TheEmpath: Lee: "WTF why me?" [23:11] TheEmpath: Programmer3: "Because you're a troll." [23:11] stagas: chapel: oh yeah pretty much the same :P [23:12] TheEmpath: Lee: "Why would I write 'It's on like Donkey Dong?'" [23:13] softdrink: holy hell. http://twitter.com/#!/jussil/status/12048190433918976 ('bout 8100 ads/sec) [23:13] pyrotechnick: yeah man [23:13] pyrotechnick: it's happening [23:13] cronopio has joined the channel [23:13] pyrotechnick: node is dominating [23:13] pyrotechnick: and so it should [23:13] pyrotechnick: VIVA LA NODEJS [23:13] softdrink: nonblocking async everything ftw [23:14] pyrotechnick: except readFileSync [23:14] softdrink: well yeah [23:14] softdrink: hehe [23:14] pyrotechnick: and writeFileSync [23:14] softdrink: ryah: if you're ever in utah, i'm so buying you dinner. [23:14] pyrotechnick: and for i in [0…10e10] [23:14] softdrink: hehe [23:14] pyrotechnick: ryah: if you're ever in brisbane you can have my girlfriend [23:14] pyrotechnick: but only if you're async with here [23:14] tanepiper: wait till you use DNode, you're going to piss yourself with excitement! [23:15] isaacs has joined the channel [23:15] pyrotechnick: yeah dnode is the bomb [23:15] SubStack: ^_^ [23:15] softdrink: that's what https://github.com/caolan/async is for [23:15] pyrotechnick: we used to use druby or watever it was called [23:15] jchris has joined the channel [23:15] SubStack: pyrotechnick: tehe, me too [23:15] pyrotechnick: i thought druby was nice [23:15] pyrotechnick: until i found node and dnode [23:15] pyrotechnick: my life changed. [23:16] SubStack: after I tie up some loose ends I'll hack together goggles [23:16] tanepiper: me too, i've re-written an app from scratch in about a week that i've been working on for about 6m [23:16] pyrotechnick: goggles [23:17] pyrotechnick: like google goggles [23:17] tanepiper: although in that 6m there was some time at the start i was trying to use django [23:17] softdrink: ACTION adds dnode to his watch list [23:17] piscisaureus: ryah: btw what git did you install then? [23:17] ryah: piscisaureus: sorry, i was afk for a sec [23:17] pyrotechnick: SubStack: goggles? [23:17] pyrotechnick: SubStack: google goggles? [23:17] SubStack: goggles is this thing in my head that lets you tie together dnode processes nicely [23:17] ryah: piscisaureus: the msys one? [23:17] pyrotechnick: ohh [23:17] SubStack: no relation to google [23:17] pyrotechnick: do continue SubStack [23:17] SubStack: it basically just abstracts the way that browserling is tied together [23:18] funkatron has joined the channel [23:18] SubStack: where each node automatically reconnects to the others when any links drop [23:18] pyrotechnick: nice [23:18] piscisaureus: ryah: there must be something wrong with it. it takes 30 meg here [23:18] SubStack: so you can restart processes while the rest of the system is still running [23:18] pyrotechnick: that's hot. [23:18] pyrotechnick: we need that. [23:18] pyrotechnick: so we'd be keen to contrbute. [23:18] SubStack: also telescreen for managing that further [23:19] pyrotechnick: physics, game, app nodes for our game [23:19] SubStack: across lots of systems [23:19] pyrotechnick: all need to be balanced and linked and stable [23:19] isaacs: BAAHAHAHaahaha [23:19] pyrotechnick: what's so funny [23:19] ryah: ACTION downloads notepad++ [23:19] chapel: haha [23:20] isaacs: check out the smallest package: http://isaacs.couchone.com/jsregistry/_design/app/_list/passthrough/howBigIsYourPackage/ [23:20] SubStack: telescreen will also report you to the ministry of truth for using synchronous functions [23:20] isaacs: that's a list of all packages sorted by the number of bytes in tarball weight they're hosting [23:20] softdrink: isaacs: oh my. lol [23:20] pyrotechnick: why do we have to write our own script to get the answer [23:20] tanepiper: women will tell you, dicks are always small packages [23:20] pyrotechnick: dicks? [23:20] pyrotechnick: i get joked. [23:20] pyrotechnick: AHAHA cloud9 is the biggest? [23:20] pyrotechnick: it's so cool [23:20] tanepiper: isaacs: lists are awesome :D [23:20] pyrotechnick: but SO bloated [23:21] pyrotechnick: that project is the biggest goliath i have ever tried to hack in [23:21] pyrotechnick: gave up. [23:21] tanepiper: i discovered couchdb update functions for design docs today [23:21] tanepiper: every day i get happier i chose a full javascript stack for this app :D [23:22] BillyBreen has joined the channel [23:22] SubStack: the bulk of most of my modules is unit tests [23:22] pyrotechnick: what do you guys think of mongo vs. couch [23:23] pyrotechnick: if mongo had futon id be down so much more than i am atm, we're using it, but we want futon [23:23] tanepiper: couch all the way for me :D [23:23] bbttxu has joined the channel [23:23] creationix: isaacs: how are those numbers calculated [23:23] pyrotechnick: we also dont know if the http thing is worth it [23:23] creationix: it says nvm is bigger than connect [23:23] pyrotechnick: creationix: by tarball size [23:23] creationix: that's impossible [23:23] isaacs: creationix: addition of the file sizes. yeah, i was weirded out by that, too [23:23] SubStack: planning on switching over to couch as soon as our crappy sqlite files start to buckle under the load [23:23] tanepiper: every time i tried to do stuff in mongo it just wouldn't happen, but never been suprised by couchdb in a bad way [23:23] pyrotechnick: SubStack: sqlite isnt as bad as people say [23:23] pyrotechnick: we've run it in production for years [23:24] pyrotechnick: nothing major, but nothing minor eaither [23:24] SubStack: pyrotechnick: well, for node it is pretty bad still [23:24] pyrotechnick: and that was behind datamapper [23:24] isaacs: creationix: perhaps published from the nvm folder, including the installed/etc versions of node? [23:24] pyrotechnick: yeah definately [23:24] isaacs: creationix: note that 0.0.3 is tiny [23:24] pyrotechnick: really [23:24] pyrotechnick: really bad [23:24] isaacs: creationix: and 0.0.4 and 5 are gigantic [23:24] SubStack: and there are some bugs when you've got multiple handles open [23:24] creationix: isaacs: hmm [23:24] tjholowaychuk: because I didnt have .npmignore in there [23:24] SubStack: but so far they only pop up in tests [23:25] SubStack: not in practice [23:25] tjholowaychuk: isaacs: do you ignore .gitignore stuff ? [23:25] tjholowaychuk: or just .npmignore [23:25] isaacs: tjholowaychuk: just .npmignore [23:25] creationix: I've never used .npmignore [23:25] isaacs: tjholowaychuk: tar has a different format than gitignore [23:25] creationix: I guess I should now [23:25] creationix: it's just tar's format? [23:25] isaacs: creationix: yeah [23:26] creationix: ACTION googles tar ignore format... [23:26] isaacs: creationix: or you can have a .npminclude [23:26] creationix: also tar format? [23:26] isaacs: creationix: it's just globs, but without the git-specific extensions [23:26] isaacs: yeah [23:26] tbeseda has joined the channel [23:27] ryah: i thought visual c++ was what everyone used on windows [23:28] aguynamedben has joined the channel [23:28] creationix: isaacs: do I need to include package.json or is that assumed? [23:28] creationix: and what about the .npminclude file itself? [23:28] isaacs: creationix: um... i'm not sure what'll happen if .npminclude doesn't include package.json [23:28] isaacs: creationix: you don't need to include .npminclude itself, no [23:28] airhorns has joined the channel [23:28] piscisaureus: ryah: maybe it is. but it's not really useful unless you're also using msvc [23:28] creationix: isaacs: cool, will push soon... [23:28] piscisaureus: and it is even heavier than eclipse [23:28] ryah: piscisaureus: can we use that? [23:29] piscisaureus: ryah: we should. but it was a step too big to take at once [23:29] ryah: ok [23:30] piscisaureus: ryah: garrett will help us with that. he's the expert [23:30] pyrotechnick: what we need [23:30] ryah: so- yeah, we need to get these changes merged. [23:30] isaacs: creationix: i'm giong to start warning soon if it's publishing the whole folder, just to get people a bit more in the habit of using .npmignore/.npminclude or a "files" array (not yet implemented) [23:30] pyrotechnick: is a cloud9 that isnt horrible to hack [23:30] pyrotechnick: that would be really good for node [23:30] ryah: and i need to get back into linux before i kill myself [23:30] ryah: brb [23:30] creationix: isaacs: hmm, I'm getting errors when trying to publish [23:30] isaacs: creationix: gist, plz [23:31] pyrotechnick: isaacs: +1 for files [] [23:31] creationix: isaacs: https://gist.github.com/40dab01666871611f5fd [23:31] pyrotechnick: we'd prefer that [23:31] pyrotechnick: not that i dont like ignore and include [23:31] pyrotechnick: just prefer files [23:31] pyrotechnick: less files [23:31] pyrotechnick: one place [23:31] pyrotechnick: etc [23:34] creationix: isaacs: when I run the command manually, I get "tar: .nvm: Cannot stat: No such file or directory" [23:34] bmizerany has joined the channel [23:34] quest88 has joined the channel [23:34] astoon has joined the channel [23:34] pyrotechnick: isaacs: thought anymore about the GUI for npm init [23:34] isaacs: pyrotechnick: hoping someone else will do it. ;) [23:34] isaacs: pyrotechnick: my gui-building days are over. [23:34] isaacs: (fornow) [23:34] pyrotechnick: there's some nice "GUI" libraries for node in the works [23:35] isaacs: creationix: can you do `npm install` in that folder? [23:35] pyrotechnick: so you could probably just do it all from CLI [23:35] SubStack: gui for npm init? Seems a bit much. [23:35] pyrotechnick: optional [23:35] pyrotechnick: npm init --graphical [23:35] pyrotechnick: npm init —gui [23:36] ryah: piscisaureus: so- can you merge with ry/master ? [23:36] isaacs: pyrotechnick: write the gui. i'll happily shell out to it. [23:36] piscisaureus: ryah: sure [23:36] pyrotechnick: are you opposed to it being a webapp [23:36] isaacs: creationix: what's in the .npminclude file? [23:36] isaacs: pyrotechnick: if it doesn't require changes to npm itself, you don't need my sign-off on it. [23:36] Jeffrey_ has joined the channel [23:36] pyrotechnick: yeah [23:36] isaacs: pyrotechnick: in fact, `npm init` should probably just be a separate program anyway. [23:36] pyrotechnick: yeah [23:36] pyrotechnick: i was just thinking that [23:36] blueadept has joined the channel [23:36] pyrotechnick: maybe ill build it into courier [23:37] isaacs: pyrotechnick: it was just a little one-off hack, really. [23:37] pyrotechnick: alright [23:37] pyrotechnick: because we make a shittonne of projects all the time [23:37] pyrotechnick: it's important to us [23:37] Jeffrey_: I had a quick question about how EventEmitters work. If I do a obj.on('data', function() {}) many times on the same object I assume that it will callback that function multiple times correct? [23:38] pyrotechnick: tjholowaychuk: lol @ minimarkdown [23:38] pyrotechnick: that is sweet [23:38] tjholowaychuk: hehe :D [23:38] pyrotechnick: totally nicking it [23:38] tjholowaychuk: didnt want any xss shit goin down [23:38] chapel: link tjholowaychuk ? [23:38] tjholowaychuk: chapel: for which? [23:38] pyrotechnick: minimarkdown? [23:38] tjholowaychuk: its just a few regexps [23:38] pyrotechnick: SPAM [23:38] pyrotechnick: exports.miniMarkdown = function(str){ [23:38] pyrotechnick: return String(str) [23:38] pyrotechnick: .replace(/(__|\*\*)(.*?)\1/g, '$2') [23:38] pyrotechnick: .replace(/(_|\*)(.*?)\1/g, '$2') [23:38] pyrotechnick: .replace(/\[([^\]]+)\]\(([^)]+)\)/g, '$1'); [23:38] pyrotechnick: }; [23:39] chapel: ah [23:39] pyrotechnick: do any irc clients on mac do inline gists [23:39] elijah-mbp has joined the channel [23:39] chapel: like /gist [23:39] chapel: and output a link? [23:39] pyrotechnick: like [23:39] tjholowaychuk: linkinus does [23:39] chapel: well [23:39] quest88 has left the channel [23:39] pyrotechnick: done. im sold. [23:39] chapel: I made a script [23:39] chapel: I made it :) [23:40] pyrotechnick: does it replace urls with the code [23:40] pyrotechnick: and do syntax highlighting [23:40] chapel: only if its the raw file link [23:40] chapel: and it only does like 10 lines [23:40] pyrotechnick: what's the script for [23:40] pyrotechnick: what app [23:40] chapel: and dont think it does syntax highlighting but its html/css/js [23:40] chapel: so you could add highlighting if you wanted to [23:40] chapel: Linkinus [23:40] pyrotechnick: so its not bundled [23:40] chapel: www.linkinus.com [23:40] chapel: the script? [23:40] pyrotechnick: yeah [23:40] chapel: no I just made it last week [23:40] pyrotechnick: the gist stuff [23:40] pyrotechnick: can u share [23:41] chapel: sure, you have linkinus already? [23:41] pyrotechnick: im just grabbing a trial for now [23:41] pyrotechnick: if its nice ill buy [23:41] pyrotechnick: does it work in trial? [23:41] chapel: yeah [23:41] pyrotechnick: sick [23:41] pyrotechnick: didnt someone write link [23:41] pyrotechnick: in here [23:41] pyrotechnick: you? [23:41] pyrotechnick: there was talk of getting node.js into it [23:41] pyrotechnick: i'm interested now [23:41] pyrotechnick: what do you script in atm [23:41] pyrotechnick: js? [23:42] pyrotechnick: is there any talk of macnode [23:42] pyrotechnick: like macruby [23:42] pyrotechnick: that would be THE BOMB [23:42] chapel: umm, it uses applescript [23:42] chapel: atm [23:42] chapel: for scripts [23:42] pyrotechnick: eww [23:42] pyrotechnick: i love mac [23:42] chapel: you can use node, but it wouldn't be distributable [23:42] pyrotechnick: but hate apple [23:42] pyrotechnick: does that make sense [23:42] chapel: haha [23:43] pyrotechnick: why wudnt it be distributable [23:44] pyrotechnick: show us your applescript then [23:44] chapel: for node it wouldn't [23:44] chapel: because not everyone has node [23:44] pyrotechnick: why not [23:44] pyrotechnick: but bundle node [23:44] chapel: heh, for one script [23:44] chapel: thats a tall order [23:44] pyrotechnick: no [23:44] pyrotechnick: for a plugin API [23:44] pyrotechnick: in link [23:44] chapel: well there are plans [23:44] pyrotechnick: thats what theyre talking about [23:44] pyrotechnick: yeah [23:44] chapel: I am just a user, not apart of the company [23:45] pyrotechnick: yeah [23:45] chapel: just been using linkinus for years [23:45] pyrotechnick: ok [23:45] pyrotechnick: wow its real nice [23:45] chapel: Ive made quite a bit of scripts [23:45] pyrotechnick: bue bye adium [23:45] chapel: heh [23:45] isaacs has joined the channel [23:45] pyrotechnick: show us ur gist one [23:45] pyrotechnic has joined the channel [23:45] pyrotechnic: HAY GUYS [23:45] chapel: hold on making some changes [23:45] ryah: piscisaureus: ping me when you're done [23:45] pyrotechnick has left the channel [23:45] piscisaureus: ryah: okay [23:46] pyrotechnic has left the channel [23:46] pyrotechnic has joined the channel [23:46] pyrotechnic: wtf nick [23:46] pyrotechinck: ffs [23:46] pyrotechinck: watever [23:47] feisty: -> [23:47] feisty: true [23:49] tlrobinson has joined the channel [23:50] pyrotechinck has joined the channel [23:51] pyrotechinck: link is badass [23:52] chapel: :) [23:52] chapel: do /getscript weather [23:52] chapel: Weather for Spokane, WA · 27°F (-3°C) · Humidity: 81% · Overcast · Wind: North at 0 mph · Last Updated on January 4, 2:53 PM PST [23:52] pyrotechinck: nice [23:52] chapel: I made that [23:53] chapel: :) [23:53] pyrotechinck: nice [23:53] pyrotechinck: where is the registry [23:53] pyrotechinck: on their site? [23:53] chapel: atm, none [23:53] chapel: hold on [23:53] pyrotechinck: hows it find it? [23:53] skm has joined the channel [23:53] pyrotechinck: Weather for Brisbane, CA · 52°F (11°C) · Humidity: 71% · Partly Cloudy · Wind: North at 0 mph · Last Updated on January 4, 2:56 PM PST [23:53] pyrotechinck: wtf theres a brisbane there? [23:53] pyrotechinck: bastards [23:53] pyrotechinck: Weather for Brisbane, Queensland · 79°F (26°C) · Humidity: 69% · Mostly Cloudy · Wind: East at 6 mph · Last Updated on January 5, 9:30 AM EST [23:54] pyrotechinck: im done [23:54] chapel: heh [23:54] chapel: that is something they are planning on working on, a website or sorts to handle scripts and such [23:55] chapel: but the priority the last month or more has been in reworking the client to be faster and better [23:55] chapel: though I think this is a bit off topic, if you want to chat more about it, we can do it in #linkinus on irc.conceited.com or PM [23:55] piscisaureus: ryah: using realpath in module loading breaks stuff because realpath doesn't handle backslashes [23:55] piscisaureus: ryah: trying to fix that now [23:56] tanepiper: anyone seen cloudhead recently? [23:56] prettyrobots has joined the channel [23:58] [[zz]] has joined the channel [23:58] pyrotechinck: tjholowaychuk: what key for app.settings[] [23:58] ryah: piscisaureus: oh. *sigh* [23:59] ryah: piscisaureus: we can revert that commit for now [23:59] tjholowaychuk: pyrotechinck: "view options" [23:59] tjholowaychuk: for global stuff [23:59] piscisaureus: ryah: I can quickly fix it but it will not handle all cases on windows correctly [23:59] pyrotechinck: oh its a hash? [23:59] ryah: piscisaureus: ok