[00:00] SubStack: I had really sketchy internet when I pushed a patch [00:00] SubStack: amazingly sketchy [00:00] SubStack: alaskernet [00:00] Raynos: I see [00:00] jesusabdullah: I almost miss alaskanets [00:01] jesusabdullah: at least you know they're too small to be outright assholes like comcast [00:01] jesusabdullah: otoh it's local tiny telecoms struggling to give their users reasonabl dsl service [00:01] SubStack: acs in kenai is terrible [00:01] jesusabdullah: over hundreds of miles of buried cables [00:02] jesusabdullah: It's a hard life for acs ;) [00:02] jesusabdullah: That said, acs is my least fave out of the AK telecoms [00:02] jesusabdullah: MTA is where it's at \m/ [00:02] SubStack: anyways, unpublishing this and republishing [00:02] SubStack: although npm is not being cooperative [00:02] SubStack: ALSO my flight got delayed until 6:33 [00:02] Sorella: SubStack, I knew I had something to tell you =/ [00:03] Sorella: ACTION ended up going with the previous version [00:03] SubStack: isaacs: I keep getting 'socket hang up' trying to unpublish browserify 1.8.3 [00:03] SubStack: I may have put it into an inconsistent state [00:05] astropirate has joined the channel [00:06] JakeSays: so all of the sudden facebook is calling addMonths() on a Date instance.. [00:07] mAritz has joined the channel [00:07] douguk has joined the channel [00:08] mara has left the channel [00:13] devongovett has joined the channel [00:13] EhevuTov has joined the channel [00:18] Sorella_ has joined the channel [00:19] versicolor has joined the channel [00:19] koo3 has joined the channel [00:23] SubStack: isaacs: nevermind, it was crappy airport internet keeping unpublish from working [00:25] ChrisMatthieu has joined the channel [00:26] subbyyy has joined the channel [00:26] SubStack: Sorella: does it work now? [00:26] mandric has joined the channel [00:27] jupiter has joined the channel [00:29] ryanfitz has joined the channel [00:32] heavysixer has joined the channel [00:33] Juan77 has joined the channel [00:34] rwaldron has joined the channel [00:34] kadnare has joined the channel [00:34] gigafied has joined the channel [00:35] mc_greeny1 has joined the channel [00:35] Sorella: SubStack, yep, it werks :3 [00:35] TimTim has joined the channel [00:41] shapeshed has joined the channel [00:42] benvie has joined the channel [00:43] qmx: voodootikigod__: damn 140 chars :P [00:43] gigafied: anybody here use swig for anything? [00:43] qmx: gigafied: used in the past, mixed feelings about it [00:43] dwhittle has joined the channel [00:44] JarrodBell: anybody here from melb, australia? [00:44] joshwnj: @JarrodBell yep [00:44] gigafied: qmx: debating whether or not to use swig or mustache (hogan rather) with express [00:44] JarrodBell: joshwnj: come chat in #nodejs.au [00:46] k1ttty has joined the channel [00:46] qmx: gigafied: heh, you meant and I understood [00:46] qmx: gigafied: btw, ugly name collision [00:46] qmx: :P [00:47] gigafied: qmx: heh [00:48] gigafied: that website makes me want to punch somebody [00:48] voodootikigod_ has joined the channel [00:48] kyonsalt has joined the channel [00:48] xeodox has joined the channel [00:49] xeodox: In express, how do you match a URL that may or may not have that parameter? app.get('/friends/:id*' [00:49] xeodox: I want that to hit regardless if ID is provided [00:49] dylang has joined the channel [00:49] torvalamo: #express [00:51] neoesque has joined the channel [00:52] EuroNerd has joined the channel [00:53] [[zzz]] has joined the channel [00:54] qmx: gigafied: so you can imagine how is working with the original swig :P [00:54] styol has joined the channel [00:56] devongovett has joined the channel [00:57] isufy has joined the channel [00:58] Carmivore has joined the channel [00:58] jaitaiwan has joined the channel [00:59] Shaunzie has joined the channel [01:00] Shaunzie: anyone have any experience with node-mongolian? [01:01] trotter has joined the channel [01:03] briancray has joined the channel [01:05] LukeBrookhart has joined the channel [01:05] LukeBrookhart: I keep getting the after rebooting and then trying to run a local NodeJS app: node: command not found [01:05] LukeBrookhart: Any suggestions? [01:05] LukeBrookhart: did I not install correctly [01:06] erichynds has joined the channel [01:06] Shaunzie: are you on linux or mac? [01:06] Shaunzie: or windows? [01:06] pizthewiz_ has joined the channel [01:07] LukeBrookhart: Mac OSX [01:07] LukeBrookhart: I'm newer to Mac [01:07] Shaunzie: probably a patching issue [01:07] LukeBrookhart: so not as familiar with the install process [01:07] neurodrone has joined the channel [01:08] tbranyen: LukeBrookhart: download the pkg file and install it [01:08] tbranyen: super simple [01:08] Shaunzie: oh that mm… I wouldn't do that [01:08] LukeBrookhart: the pkg file didn't install when I tried it last [01:08] Shaunzie: I'd use brew to install it personally [01:08] LukeBrookhart: since the pkg didn't work [01:08] tbranyen: Shaunzie: its preference, but i've never had the pkg file fail for me [01:08] LukeBrookhart: I found this [01:08] LukeBrookhart: https://gist.github.com/579814 [01:08] LukeBrookhart: and used the first recommendation [01:08] tbranyen: LukeBrookhart: if the pkg file didn't work you have either a screwed up system or you did something very wrong [01:09] LukeBrookhart: hmm [01:09] tbranyen: since its simply installing binaries into the correct path'd folders [01:09] LukeBrookhart: a screwed up system? [01:09] LeMike has joined the channel [01:09] LukeBrookhart: my brand new MacBook Pro? [01:09] tbranyen: yeah, i mean... its not like they put up a broken installer just to f with people [01:09] Shaunzie: LukeBrookhart: try running /usr/local/bin/node --version [01:09] Twisol has joined the channel [01:09] tbranyen: the pkg installer isn't broken, its your system if it doesn't work [01:10] LukeBrookhart: -bash: /usr/local/bin/node: No such file or directory [01:10] LukeBrookhart: I can try the pkg again [01:10] LukeBrookhart: hold on [01:10] nicholasf: hi, is there a better way to see what kind of objects Im using when logging it in a test? The toString() method isn't very friendly (I see [Object object]) [01:10] Shaunzie: LukeBrookhart: how about running which node from terminal [01:11] tbranyen: nicholasf: console.log(obj) [01:11] LukeBrookhart: which node did nothing [01:11] EuroNerd: I know this is a bit off-topic, but does anyone here have experience setting up VPN servers? [01:11] nicholasf: tbranyen: Im doing that, I get [Object object[ [01:11] nicholasf: I'm even calling toString() on the obj [01:11] tbranyen: > var obj = { lol: "hi" }; console.log(obj); [01:11] tbranyen: { lol: 'hi' } [01:11] nicholasf: tbranyen: thanks, yeh my bad [01:12] nicholasf: tbranyen: I was combining it in a string [01:12] tbranyen: separate with commas instead of + if you want strings in there [01:12] nicholasf: tbranyen: thanks! [01:12] Shaunzie: LukeBrookhart: That means it isn't installed. You might want to install it using brew http://mxcl.github.com/homebrew/ [01:13] Shaunzie: LukeBrookhart: https://github.com/mxcl/homebrew/wiki/installation [01:13] LukeBrookhart: weird, becuase I've been running my node app over and over all day [01:13] LukeBrookhart: until I just rebooted a couple mins ago [01:13] hostsamurai has joined the channel [01:16] dgathright has joined the channel [01:16] LukeBrookhart: I just tried the pkg again and it worked fine [01:17] LukeBrookhart: not sure what the issue was the first time [01:17] CIA-109: node: 03Ryan Dahl 07v0.6 * r2cde498 10/ test/simple/test-http-parser-bad-ref.js : Add another test to test-http-parser-bad-ref.js demoing #2438 - http://git.io/cAQ3Hw [01:17] LukeBrookhart: thanks for all your help! [01:18] mandric has joined the channel [01:20] pt_tr has joined the channel [01:24] postwait has joined the channel [01:27] devongovett has joined the channel [01:27] Hanspolo has joined the channel [01:32] Shaunzie_ has joined the channel [01:32] CarterL has joined the channel [01:33] stagas has joined the channel [01:34] rsterner has joined the channel [01:35] githogori has joined the channel [01:37] a_suenami has joined the channel [01:40] jldbasa has joined the channel [01:42] innociv_ has joined the channel [01:42] ditesh|cassini has joined the channel [01:42] ditesh has joined the channel [01:43] swaj: .. (function(cb){ return cb(); }(function() { console.log("works?"); })); [01:43] catb0t: "works?" [01:43] swaj: yay, I've written an unholy mess of anonymous functions that call themselves [01:45] Hanspolo_ has joined the channel [01:46] sarlalian has left the channel [01:47] teadict: swaj: nice, now guess what this returns: http://paste.ubuntu.com/792316/ [01:47] voodootikigod_ has joined the channel [01:48] CIA-109: node: 03Ryan Dahl 07v0.6 * rf3da6c6 10/ (src/node_http_parser.cc test/simple/test-http-parser.js): (log message trimmed) [01:48] CIA-109: node: Potential fix for #2438 [01:48] CIA-109: node: - Save StringPtr if the header hasn't been completely received yet after one [01:48] CIA-109: node: packet. [01:48] CIA-109: node: - Add one to num_fields and num_values. They were actually one less than the [01:48] CIA-109: node: number of fields and values. [01:48] CIA-109: node: - Remove always_inline makes debugging difficult, and has negligible [01:49] swaj: teadict: that returns "42" [01:51] cody-- has joined the channel [01:51] teadict: it might as well return "teadict is a moron" and I wouldn't know [01:51] boehm has joined the channel [01:52] tracker1 has joined the channel [01:52] mikeal has joined the channel [01:56] jaequery has joined the channel [01:56] joshkehn has joined the channel [01:56] joshkehn has left the channel [01:57] swaj: teadict: http://www.wolframalpha.com/input/?i=Answer+to+the+Ultimate+Question+of+Life%2C+the+Universe%2C+and+Everything&lk=1&a=ClashPrefs_*Miscellaneous- [01:57] voodootikigod_ has joined the channel [01:58] zeade has joined the channel [01:59] yuwang has joined the channel [02:02] Carmivore has joined the channel [02:03] pt_tr has joined the channel [02:04] mandric has joined the channel [02:04] euoia has joined the channel [02:06] saikat has joined the channel [02:06] willwhite has joined the channel [02:07] langworthy has joined the channel [02:09] Shaunzie: String.prototype.anchor ..... [02:09] Shaunzie: wtf? O.o [02:09] Shaunzie: I didn't know that was there D: [02:10] mike5w3c has joined the channel [02:11] astropirate: fracking "cloud"... Cloud9 ide is down :S [02:11] RLa: oh, rainy day [02:13] teadict: swaj: heh, right, that joke [02:14] Sorella: Shaunzie, String#blink is still more awesome. [02:14] catshirt has joined the channel [02:15] jxson has joined the channel [02:15] wtfizzle has joined the channel [02:15] criswell has joined the channel [02:17] pifantastic has joined the channel [02:18] corpix has joined the channel [02:18] tomlion has joined the channel [02:18] tommyvyo has joined the channel [02:19] dwhittle has joined the channel [02:20] catshirt has joined the channel [02:21] tilgovi has joined the channel [02:21] tilgovi has joined the channel [02:22] josephmoniz has left the channel [02:22] rurufufuss has joined the channel [02:23] josephmoniz_ has joined the channel [02:24] lorfds has joined the channel [02:25] Shaunzie has joined the channel [02:26] Shaunzie_ has joined the channel [02:26] kishoreyekkanti has joined the channel [02:27] MatthewS has joined the channel [02:29] CrypticSwarm_ has joined the channel [02:31] CrawfordComeaux has joined the channel [02:32] colinclark has joined the channel [02:32] catshirt has joined the channel [02:33] mandric has joined the channel [02:33] dylang has joined the channel [02:33] jacobolus has joined the channel [02:34] jstonne has joined the channel [02:36] cmr has joined the channel [02:37] moonmayoriii has joined the channel [02:39] sharkbird has joined the channel [02:40] sharkbird_ has joined the channel [02:41] jonbaer has joined the channel [02:43] jerrysv has joined the channel [02:45] ryanfitz has joined the channel [02:46] mikeal has joined the channel [02:48] chadskidmore has joined the channel [02:48] redir_ has joined the channel [02:48] clarkfischer_ has joined the channel [02:49] jimmyy111 has joined the channel [02:50] ChrisMatthieu has joined the channel [02:51] spathi has joined the channel [02:53] v_y has joined the channel [02:53] v_y: is there a way to print an object representation into a string? [02:53] cmr: console.dir [02:54] v_y: ? [02:54] v_y: seems to return undefined [02:54] cmr: That's because it prints, it doesn't return anything [02:54] tbranyen: v_y: well you're printing it so why do you care about the return value [02:54] v_y: i said "into a string" [02:55] v_y: i want what console.dir prints but in a string instead of stdout or whatever [02:55] cmr: v_y: That isn't printing... [02:55] v_y: like using pprint.format instead of pprint.pprint in python [02:55] tbranyen: JSON.stringify mayhaps [02:55] tbranyen: i honestly am not sure what you're asking for [02:55] jstonne has joined the channel [02:55] RLa: there is sprint in c [02:56] tbranyen: but thats the only thing that comes to mind that will turn an object into a string [02:56] v_y: alright well wahtever you call it, how do i get the text output by console.dir stored in a string instead of displayed on the console [02:56] v_y: that will fail when it encounters a circular structure [02:56] cmr: v_y: So you want the string representation of an object? [02:56] v_y: yes [02:56] v_y: cmr: yes [02:56] tbranyen: v_y: then learn to read documentation [02:56] v_y: lol [02:56] RLa: maybe you want serialization? [02:57] RLa: it does not have to be string or anything readable [02:57] juske_ has joined the channel [02:57] v_y: RLa: i don't want serialization, i want the represenation given by console.dir [02:57] cmr: That /is/ serialization [02:58] v_y: well whatever, if you guys don't know how to get the object representation given by console.dir into a string, just say so [02:58] xeodox has joined the channel [02:58] tbranyen: v_y: its not possible to get that exact value [02:58] tbranyen: its not "not knowing" [02:58] tbranyen: its not possible [02:58] RLa: you could always look into source [02:58] dshaw_ has joined the channel [02:58] tbranyen: unless you find a shim [02:58] freewil has joined the channel [02:58] freewil has joined the channel [02:59] tbranyen: i'm sure someone has matched the identical output, but console.dir itself you'll never get that value [02:59] RLa: if anything else fails, try to set you own function as handler for stdout and collect output there [02:59] RLa: btw, if object contains function how can you represent them [03:00] tbranyen: RLa: Function.prototype.toString [03:00] tbranyen: heh [03:00] v_y: RLa: the answer turns out to be: var util = require('util'); var stringRepresenation = util.inspect(someObject); [03:00] RLa: oh nice, haven't needed it so far [03:00] RLa: but now we know [03:00] lorfds has joined the channel [03:04] kerang has joined the channel [03:04] criswell has joined the channel [03:06] nicholasf has joined the channel [03:08] jhurliman has joined the channel [03:09] theycallmeswift has joined the channel [03:10] gbanister has joined the channel [03:11] Vennril has joined the channel [03:15] saikat has joined the channel [03:16] c4milo has joined the channel [03:16] aGHz has joined the channel [03:17] corpix has joined the channel [03:17] MatthewS has joined the channel [03:17] shedinja: Would it be possible to get the remote address of a server created with the http module? assuming the script is not ran from a wifi connected spot [03:18] JasonSmith: isaacs: YT? Question about ini? [03:18] isaacs: hey [03:18] JasonSmith: Would you accept a patch that adds newlines between sections? [03:18] redir_ has joined the channel [03:18] cmr: shedinja: Get the remote address from where? You can't get it locally, you'll need to use an external server of some sort [03:18] JasonSmith: for stringify() [03:18] neilk_ has joined the channel [03:19] isaacs: JasonSmith: that'd be kinda nice, i guess [03:19] isaacs: sure [03:19] JasonSmith: I'm thinking, if a section heading is to be output (e.g. [blah]) then prefix it with newline *unless* it is the first line of the output [03:20] shedinja: cmr: a quick ip check from somewhere would work then? [03:20] cmr: shedinja: yep. whatismyip.org is the best IMO [03:20] shedinja: cmr: cool thanks [03:20] JasonSmith: isaacs: Any thoughts about the API? How I could specify that I want that feature? Or are you okay with it just doing that by default? [03:20] isaacs: meh. just make it the default [03:21] isaacs: empty lines are not semantically relevant anyhow [03:21] isaacs: JasonSmith: it'd be nice to not put an extra \n at the end of the file, if possible. [03:21] isaacs: or at the beginning of the file [03:21] JasonSmith: Yeah, it works like the Javascript comma prefix [03:21] JasonSmith: i.e. add a "\n" prefix unless it is the very first line [03:22] isaacs: yep. [03:22] isaacs: go nuts [03:22] JasonSmith: Ok, see you in the pull req! [03:23] isaacs: :D [03:23] JasonSmith: isaacs: Remember when I made your older couch travel into the future and serve production requests? [03:23] JasonSmith: So there was like 10 hours of missing updates? [03:24] isaacs: oh, hahah, yeah [03:24] isaacs: righ [03:24] isaacs: that was hilarious [03:24] isaacs: ;P [03:24] JasonSmith: That is because I was not handling the .ini file correctly after a restore [03:24] isaacs: ahh [03:24] JasonSmith: hence my interest in your package [03:24] isaacs: kewl [03:24] JasonSmith: One hand washes the other [03:25] Swimming_Bird has joined the channel [03:26] LukeBrookhart has joined the channel [03:26] orospakr has joined the channel [03:27] mattrobenolt has joined the channel [03:28] mattrobenolt: Is there a V8 specific way or recommended way to merge two objects? Or extend them? [03:28] mikeal has joined the channel [03:28] mattrobenolt: Basically like the $.extend in jQuery. Just not sure if V8 packs an Object.extend or something. [03:28] RLa: why not composition? [03:29] mattrobenolt: RLa: Me? [03:29] RLa: { object1: o1, object2: o2 } <- something like that [03:29] RLa: yeah [03:29] mattrobenolt: Because I'm not doing any object oriented stuff or classes. [03:29] mikeal1 has joined the channel [03:29] mattrobenolt: Think of defaults, and overriding defaults. [03:30] RLa: ah ok, i see [03:30] JasonSmith: mattrobenolt: I wrote my own for defaultable (although working on many Javascript platforms is one goal of the project) https://github.com/iriscouch/defaultable [03:30] jhbot has joined the channel [03:30] cjm has joined the channel [03:30] mattrobenolt: I have an object with default settings, and I want to override as needed. [03:30] dodo has joined the channel [03:30] JasonSmith: as such it uses the lowest-common denominator implementation https://github.com/iriscouch/defaultable/blob/master/defaultable.js#L97-129 [03:31] mattrobenolt: JasonSmith: Thanks, but that's way too over the top for what I need, haha [03:31] JasonSmith: mattrobenolt: Sure, I was more thinking you are free to pilfer the merge function from the second link [03:31] mattrobenolt: I was just hoping there was something native to V8 that people didn't use in browser land that we could take advantage of in Node. [03:32] RLa: you could always write it as extension in c++ :) [03:33] mattrobenolt: That's completely unnecessary. [03:33] devongovett has joined the channel [03:35] Shaunzie: FYI don't use node-mongolian pre node 0.5 ……… -.- [03:36] teadict: what does THAT do? log a Genghis Khan in the console? amirite?! [03:36] tjfontaine: lame [03:36] teadict: ): [03:37] tjfontaine: teadict: I would have accepted "another descendent of genghis khan" [03:38] Dmitrijus: damn mongolians [03:38] tjfontaine: "From Poland to Korea I ravaged the land now my DNA's in dudes from New York to Japan." [03:39] tjfontaine: [03:40] Dmitrijus: damn you, Mongolians! [03:40] dgathright has joined the channel [03:44] jbueza has joined the channel [03:45] k1ttty has joined the channel [03:45] dougcobie has joined the channel [03:45] tuhoojabotti: NuckOff: I don't care. :E [03:46] tuhoojabotti: That's useless info for most of us. [03:46] ambroff has joined the channel [03:46] dr0id has joined the channel [03:47] tuhoojabotti: And the persons who care, can use /away [03:47] tuhoojabotti: I mean /whois [03:50] lzhang has joined the channel [03:52] joshwnj has joined the channel [03:52] kurtzhong has joined the channel [03:53] StanlySoManly1 has joined the channel [03:55] jimmyy111 has joined the channel [03:57] dwhittle has joined the channel [03:58] ceej has joined the channel [04:00] mbrevoort has joined the channel [04:02] voidvector has joined the channel [04:03] jerrysv has joined the channel [04:04] dingomanatee: question [04:05] cmr: answer [04:05] dingomanatee: I created a class function Foo(); [04:05] dingomanatee: then defined the prototype Foo.prototype = { bar: [] } [04:06] teadict: I hate it when people talk about classes [04:06] dingomanatee: I noticed that when I created 2 new Foo()'s, they shared the same array [04:06] cmr: dingomanatee: Yes, that is how prototypes work [04:06] teadict: that's how prototypes work [04:06] sarlalian has joined the channel [04:07] cmr: dingomanatee: First off, ditch the "class" thinking [04:07] cmr: Because that isn't what it is [04:07] teadict: and it's exactly how classes DONT work [04:07] tbranyen: cmr: aw come on they uses classes under the hood [04:07] tbranyen: use* [04:07] dingomanatee: okay … well now I know. [04:07] dingomanatee: be nice [04:07] cmr: tbranyen: implementation detail :P [04:07] teadict: what under the hood? where? show me classes in JS [04:07] dingomanatee: Date? [04:07] tbranyen: teadict: learn how v8 uses hidden classes =) [04:07] cmr: teadict: v8 uses hidden classes [04:08] teadict: how? where there's no JS I bet [04:08] RLa: why not composition? [04:08] cmr: dingomanatee: Date is an object, not a class [04:08] teadict: you can emulate them in JS.. I give you that... [04:08] tbranyen: teadict: unless you're using something like narcissus, there is no JS in v8 [04:08] teadict: is that what v8 does? [04:08] teadict: okey.. [04:08] tjfontaine: teadict: http://code.google.com/apis/v8/design.html [04:08] teadict: then how does v8 relate to what we were talking about? [04:08] tbranyen: no JS in the javascript interpreter is what i meant, not v8 =) [04:09] gmcerveny has joined the channel [04:09] RLa: most cases when you want inheritance in traditional oo sense can be solved with composition [04:10] teadict: OO doesn't mean classes, hence everything can be solved or emulated without them [04:10] tbranyen: yeah depending on the situation i'll sometimes use classes especially if the library/framework emulates them so closely [04:10] tbranyen: easier to talk to people about it, instead of always saying constructors [04:10] teadict: well, yes, that is true [04:11] schanin has joined the channel [04:11] tbranyen: although that is pedantically more correct [04:11] tjfontaine: the gang of four created all the patterns the world will ever need, there was no world before it, there shant be one after it [04:11] tbranyen: tjfontaine: are you working on anything cool lately? [04:11] teadict: that's .... religious thinking [04:11] tbranyen: saw you asking about ffi again recently [04:11] tjfontaine: tbranyen: stemming from my hatered of swig I've started into NIH syndrome [04:12] tbranyen: haha [04:12] tjfontaine: tbranyen: right now I have a way to generate FFI bindings from a given header [04:12] schanin has left the channel [04:12] tbranyen: oh shit [04:12] cmr: I don't think I've ever heard good things about swig.. [04:12] tbranyen: did you ever test perf? i'm curious if its really that far off from a native extension calling methods [04:13] tjfontaine: no, this mostly for people looking to quickly bootstrap, perf is their problem :P [04:13] tjfontaine: https://github.com/tjfontaine/node-libclang is where it lives atm, I've put it on hold for now while I consider a secondary project that would actually bootstrap c++ addons [04:13] jimmyy111 has joined the channel [04:14] isaacs has joined the channel [04:15] QiBala has joined the channel [04:16] jamescarr has joined the channel [04:16] jesusabdullah: tjfontaine: What does clang do? [04:16] tjfontaine: jesusabdullah: clang is a C/C++ compiler frontend for llvm (i.e. a gcc replacement stack) [04:16] jesusabdullah: interesting [04:17] tjfontaine: jesusabdullah: libclang is a C interface to the driver for things like code completion and diagnostics [04:17] jesusabdullah: hmm [04:17] jamescarr: so what's the recommendation for "fixing" an app where I had a paths.js that shifted "models", "services", and "routes" onto the require.paths? [04:17] perezd has joined the channel [04:17] tjfontaine: jesusabdullah: in this case I'm using it as a glorified C/C++ parser [04:18] jesusabdullah: using the explicit paths, jamescarr? [04:18] jamescarr: change all of them to ../../models/Dude and ../services/leads [04:18] jesusabdullah: pretty much [04:18] jamescarr: jesusabdullah, feels a little error prone? [04:18] jesusabdullah: why? [04:18] jesusabdullah: No more error prone than paths.unshift [04:18] kazupon has joined the channel [04:18] jamescarr: eh true [04:18] shapeshed has joined the channel [04:19] voidvector: what's the best way to intermix browser and node js files without modification or wrapping? I am currently using requirejs, but i am looking for a lighter solution [04:19] jamescarr: very well [04:19] teadict: I'm interested in that [04:20] vicapow has joined the channel [04:20] jamescarr: shouldn't hurt. I hit an issue that is resolved in 0.6 [04:20] jamescarr: so I need to update my app now :) [04:22] nicholasf has joined the channel [04:24] wingie has joined the channel [04:26] meso has joined the channel [04:26] Shaunzie: can anyone explain this time? http://pastebin.com/z7BxF6Se [04:26] jesusabdullah: voidvector: How? Code can only be so dual-sided [04:26] jesusabdullah: voidvector: Actually, look at some of hij1nx's stuff [04:27] jesusabdullah: He's written ones with special trixxx and stuff [04:27] jesusabdullah: I think plates will work on both client and server [04:27] hij1nx: jesusabdullah: plates is not a good example, its in neglect due to my bandwidth, ee2 is a good example [04:28] jesusabdullah: hij1nx: ee2 runs on the client? Cool! [04:28] jesusabdullah: jamescarr: Look at ee2 then [04:28] jamescarr: ee2? [04:28] jamescarr: hmm [04:28] jamescarr: I guess I shall [04:28] admc has joined the channel [04:28] hij1nx: http://github.com/hij1nx/eventemitter2 [04:30] hij1nx: jamescarr: also a very good example of a duel sided library is http://github.com/flatiron/director [04:30] hij1nx: jamescarr: the why in which this is accomplished is via https://github.com/hij1nx/codesurgeon [04:31] gregpascale has joined the channel [04:32] dgathright has joined the channel [04:33] blueadept has joined the channel [04:34] benvie: I made a little thing the other day for making a pretty close parity abstraction for loading scripts in a context in both node and the browser https://github.com/Benvie/Context-Loader [04:37] teadict: watched! [04:37] mattrobenolt has joined the channel [04:37] mattrobenolt has left the channel [04:38] kurtzhong has joined the channel [04:38] pcaulagi has joined the channel [04:38] benvie: it's a neat little tool for what I made it for [04:38] tkaemming has joined the channel [04:40] OmidRaha has joined the channel [04:41] jamescarr: man [04:41] jamescarr: the connect-form module really pisses me off [04:41] jamescarr: I dont understand why it is so difficult to just upload a file :( [04:41] jesusabdullah: It's harder than it sounds [04:41] teadict: because of security nuts [04:42] teadict: if the world wouldn't be so afraid of other people, it'd be easier [04:42] teadict: oh, you wanted a technical reason? sorry [04:42] jamescarr: I always get message: 'parser error, 0 of 39666 bytes parsed' [04:42] jamescarr: looks like everyauth or mongoose-auth interferes with it [04:42] jamescarr: dammit [04:43] MatthewS has joined the channel [04:45] mattrobenolt has joined the channel [04:45] MrNko has joined the channel [04:45] mattrobenolt: Any way to check if a require will work? [04:46] mattrobenolt: Like, if I wanted to check if someone had express installed? Without actually loading it. [04:46] benvie: try { require(name); return true } catch (e) { return false } [04:46] voidvector: codesurgeon is interesting i will play with it [04:46] disappearedng has joined the channel [04:46] benvie: oh you'll need to do path checking then [04:46] mattrobenolt: Yeah, that's basically what I have now. Wasn't sure if there was a method built in to check. [04:46] mattrobenolt: Thanks. [04:47] benvie: yeah there's probably stuff you can reuse in node's builtin module loader [04:47] mattrobenolt: Can you point me in the direction to look at code for that? [04:47] benvie: or at least use for ideas [04:47] ChrisMatthieu has joined the channel [04:47] benvie: https://github.com/joyent/node/blob/master/lib/module.js [04:47] benvie: enough that you can pretty easily digest it [04:47] benvie: small enough I mean [04:47] mattrobenolt: benvie: +1 [04:48] benvie: awesome thing about node is how much is written in js and easily understandable [04:48] mattrobenolt: Yeah, I'm not really new to Node. I've committed some stuff. ;) [04:49] benvie: either way I like to reflect on that every time the opporutnity presents [04:49] benvie: because I love it [04:49] mattrobenolt: I just haven't looked into the actual module loading. [04:50] benvie: I was over it recently because I wanted to make a version of the module system that worked with contexts [04:50] benvie: ultimately wasn't enough there that was usable for that goal [04:51] mattrobenolt: Worked with contexts how? [04:51] benvie: like say you want to set up a new "top level" module inheritance chain [04:51] benvie: or run everything in a disconnected set of vm contexts [04:52] benvie: the way node handles contexts now (at the js level) isn't really conducive to that kind of stuff at all [04:52] benvie: like if you wanted to run some stuff in a true sandbox but still observe it or something [04:52] mattrobenolt: Ah, gotcha. [04:53] mattrobenolt: WOuldn't that be something needed to handle mor eon the V8 side? [04:53] mattrobenolt: I guess the call stack in a failed require reveals what's going on. Nothing special. [04:53] benvie: well it would be, except it already is handled [04:53] mattrobenolt: Just does a resolveFilename and fails on that. [04:54] benvie: and it's just not implemented correctly (not sure the reason, maybe there's a good one) with how node does things [04:54] benvie: I know it's all changing with isolates for the next release anyway [04:54] benvie: but it's possible to do all that stuff now [04:54] mattrobenolt: I wish I knew more about Javascript land, haha [04:54] benvie: I mean in terms of like vm contexts [04:55] mattrobenolt: I know nothing about how that shit is handled in Node or V8. [04:55] benvie: basically when v8 creates a context it's this bare set of builtins [04:55] mattrobenolt: My background is a lot of Python and more frontend Javascript to get by. [04:55] benvie: node then basically copies references for all the stuff between each one, even when you're doing the sandbox load [04:56] tjholowaychuk has joined the channel [04:56] benvie: and it partially breaks stuff, like you can't do some JS stuff on objects from other contexts [04:56] benvie: and then it partially just cross-exposes the things that do work [04:57] RLa: just lets not make it too complex :) [04:57] benvie: so if you try to sandbox something, it'ls still using the same process object you are [04:57] benvie: and it can do stuff to it [04:57] benvie: or use it as a way to pass messages to other contexts that it otherwise wouldn't know about [04:58] Skaag has joined the channel [04:59] benvie: and then on the thing you do want to work, [04:59] benvie: like you want to do console.log(someForeignObject) thing [04:59] benvie: that is the thing that doesn't work [04:59] mattrobenolt: benvie: I came here looking if there was a simple exists builtin or something to check if a module exists, and you've given me more information about contexts and sandboxing and vms than I can comprehend right now, haha [04:59] benvie: hahah [05:00] benvie: well to be succinct, the best answer is to try and include it as mentioned, and only avoid that if you have a specific reason to [05:01] benvie: also maybe look into how npm keeps track of installed stuff [05:01] mattrobenolt: I like to load settings for a project in as a "module", and I'm shoving environment specific settings into a module named: 'settings-'+env [05:01] mattrobenolt: And I'm conditionally loading them in. [05:01] benvie: https://github.com/isaacs/npm/blob/master/lib/ls.js [05:01] mattrobenolt: Fail silently if it doesn't exist. [05:02] mattrobenolt: I just don't like the way a try…catch looks. [05:02] gigafied has joined the channel [05:02] tuhoojabotti: Yeah [05:02] benvie: npm is probably your bet, since it's the closest thing to a registry of what is actually on the system [05:03] benvie: and is almost universally available [05:03] disappearedng has joined the channel [05:03] benvie: https://github.com/isaacs/npm/blob/master/lib/utils/read-installed.js [05:03] mattrobenolt: benvie: I'm literally just doing: require('./conf/settings-'+env) [05:03] mattrobenolt: That's all this is for, haha [05:04] benvie: it's serious business to do things seriously [05:04] ryanfitz has joined the channel [05:04] tuhoojabotti: benvie: I wouldn't think your bindings are serious [05:04] tuhoojabotti: :D [05:04] mediahack has joined the channel [05:04] MUILTR has joined the channel [05:04] benvie: what you don't think ctrl+z and shift-insert are cross platform friendly? [05:05] tuhoojabotti: Ctrl+f2 isn't. :E [05:05] benvie: actually [05:05] benvie: that doesn't work at all, anywhere [05:05] gregpascale has joined the channel [05:05] benvie: but it's for toggling colors off [05:05] tuhoojabotti: Hoho [05:05] benvie: which people should never ever do [05:06] benvie: I just changed it so new contexts don't copy over the node builtins at all [05:06] benvie: you start with an honest to god raw v8 context [05:07] secoif has joined the channel [05:07] gregpascale has joined the channel [05:09] benvie: the keybindings libuv exposes leave much to be desired [05:09] citris has joined the channel [05:09] apoc has joined the channel [05:10] voidvector has joined the channel [05:10] al3xnull has joined the channel [05:11] sarlalian has joined the channel [05:11] aljosa has joined the channel [05:12] citris: When can I abandon php/python and use just node? [05:13] apoc has left the channel [05:13] citris: I like working purely in JS, not having to switch my brain from one language to another. [05:13] teadict: what's stopping you? [05:13] tuhoojabotti: citris: That's what I did. [05:13] tuhoojabotti: With my homepage [05:14] teadict: node replaces apache and php or python in a web env [05:14] tuhoojabotti: teadict: Except for me, I have to proxy requests to node. :E [05:14] aljosa: if i have script.js how do i get script current folder? something like path.absPath(".") or something in os or fs modules? [05:14] zeade has joined the channel [05:14] tuhoojabotti: _dirname [05:14] tuhoojabotti: __* [05:14] citris: well, I feel like thats where I'm headed but I'm not sure if it's best practice at this point [05:15] tuhoojabotti: citris: It depends. [05:15] tuhoojabotti: citris: Node is good for some things, and not so good for others. [05:15] tuhoojabotti: citris: It all depends what you're trying to do. [05:16] tuhoojabotti: Node.js is for example excellent for creating Web apps in short time. [05:16] citris: I mostly just do freelance for people that need a small site but customized cms [05:16] tuhoojabotti: And handling concurrency and so on and so forth [05:17] tuhoojabotti: citris: Well, personally I think Node would satisfy your needs easily. [05:18] jamescarr: anyone here using connect-form and running into a problem with the complete callback never being executed? [05:18] tjholowaychuk: jamescarr Connect has multipart support now [05:18] tjholowaychuk: via req.files [05:18] jamescarr: nice [05:18] jamescarr: so I don't need connect-form anymore? [05:18] tjholowaychuk: http://senchalabs.github.com/connect/middleware-bodyParser.html [05:18] tjholowaychuk: noe [05:18] tjholowaychuk: nope* [05:18] tuhoojabotti: citris: The only issue I can think of, is that Node is still in rapid development and thus updates can be harder than with something that has been around for longer. [05:18] tjholowaychuk: in 2x there's bodyParser() == json() / urlencoded() / multipart() [05:19] tjholowaychuk: so you can pick and choose [05:19] teadict: tuhoojabotti: why do you say you have to proxy requests like an exceptional thing? what's your case? [05:19] jamescarr: thanks [05:19] deeprogram has joined the channel [05:19] jamescarr: tjholowaychuk, I have an app with everyauth, mongoose-auth, and for some reason it was making connect-form outright not work :( [05:19] tuhoojabotti: teadict: I use mod_rewrite to proxy request to node listening on internal port [05:19] teadict: why? [05:20] tuhoojabotti: teadict: Because I'm running on a shared irc-shell server. xD [05:20] jamescarr: was staring to feel useless. I mean what kind of idiot can't upload a freaking file :) [05:20] teadict: I mean, why is that uncommon? [05:20] tjholowaychuk: jamescarr maybe they're not pausing and missing the data events [05:20] tuhoojabotti: Well it's not. [05:20] teadict: oh, k [05:20] tuhoojabotti: I guess many people use like nginx [05:20] tjholowaychuk: jamescarr that's a big gotcha with node [05:20] tuhoojabotti: teadict: But you said node replaces them, which is not always the case. [05:20] jamescarr: tjholowaychuk, btw, you still writing the Manning book? [05:20] tjholowaychuk: yup! [05:21] jamescarr: cool. I was contacted by them the other day to see if I was interested in proofing it [05:21] jamescarr: didn't know if it was the one you were writing or not :) [05:22] teadict: tuhoojabotti: shouldn't have said apache [05:22] tjholowaychuk: that's the one :D [05:24] CAP5792 has joined the channel [05:25] dodo has joined the channel [05:25] aljosa has joined the channel [05:26] sirwan has joined the channel [05:26] sirwan: anyone know if Ryan Dahl has Aspergers … doing a survey ... [05:26] AAA_awright: wth? [05:27] sirwan: I am doing a survey on Aspergers … Does anyone know if Ryan Dahl has aspergers ? [05:27] AAA_awright: Also, FUUUU South Park. I can never eat another fast food burger again. [05:27] tjholowaychuk: haha omg.. [05:27] sirwan: is an obligatory 'wtf' warranted [05:28] sirwan: its a permissible question [05:28] sirwan: lol hey tj [05:28] jamescarr: tjholowaychuk, so I just need to access the file listed under req.files ? [05:28] tjholowaychuk: jamescarr yup [05:28] jamescarr: or is there an event or something I need to listen for? [05:28] Dmitrijus: hehe, south park reference! :) [05:28] tjholowaychuk: req.files.image [05:28] tjholowaychuk: etc [05:28] jamescarr: coolness [05:28] jamescarr: now I just got to figure out how to get this bastard into gridfs :) [05:28] sirwan: lol yes AAA ol [05:29] tjholowaychuk: jamescarr i have some grid stuff [05:29] tjholowaychuk: one sec [05:29] tjholowaychuk: nvm it's actually quite small probably not even worth it [05:29] tjholowaychuk: haha [05:29] aljosa: how can i get args list for script? [05:29] astropirate: cloud9ide is back onliness!!!!!!!! [05:30] cmr: Yes, let's all flood it and make it go back down!! [05:30] tuhoojabotti: aljosa: Use node-optimist. [05:30] tuhoojabotti: It's awesome [05:30] tjholowaychuk: aljosa process.argv [05:30] tuhoojabotti: That too. [05:30] tjholowaychuk: jamescarr https://gist.github.com/7e2134c31a9d6fc10e3d [05:30] tjholowaychuk: that was all i needed [05:30] tjholowaychuk: but the api was bad enough to wrap [05:31] jstonne has joined the channel [05:31] jamescarr: tjholowaychuk, yeah, I stored stuff in gridfs during node KO but it was a super hack [05:32] jamescarr: it'd be nice if mongoose had someway to support gridFS [05:32] _jzl has joined the channel [05:32] jamescarr: tjholowaychuk, thanks, I'll play around with this [05:32] jamescarr: it actually doesn't look too bad [05:32] tjholowaychuk: yeah i was going to integrate it in mongoose [05:32] tjholowaychuk: but got lazy [05:32] jamescarr: hmmm [05:33] tjholowaychuk: mongoose.mongo.BSONPure.ObjectID(id) [05:33] _jzl has joined the channel [05:33] tjholowaychuk: feels like [05:33] tjholowaychuk: java [05:33] tjholowaychuk: haha [05:33] jstonne has joined the channel [05:33] jamescarr: correct me if I am wrong, but the put method would require me to read the whole file into memory right? [05:33] Dmitrijus: tuhoojabotti: node-optimist looks awesome, ty [05:33] jamescarr: tjfontaine, hhehehehe... yeah! [05:33] ZeepZop has joined the channel [05:33] tuhoojabotti: Dmitrijus: Of course it is, it's made bu SubStack. ;D [05:33] tjholowaychuk: jamescarr my stuff is in-memory yup [05:33] jamescarr: ah [05:33] tjholowaychuk: minus putFile [05:34] tjholowaychuk: you could stream too but i didnt need that [05:34] jamescarr: yeah, I'll change it to stream it [05:34] jamescarr: my files are primarily PDFs and Word documents, but some are a little large [05:35] janeUbuntu has joined the channel [05:35] jstonne has joined the channel [05:35] ryan_stevens has joined the channel [05:36] HT has joined the channel [05:37] jstonne has joined the channel [05:37] pluc has joined the channel [05:37] joestein has joined the channel [05:38] jstonne has joined the channel [05:40] jstonne has joined the channel [05:41] marcello3d has joined the channel [05:41] DTrejo has joined the channel [05:41] jstonne has joined the channel [05:42] swhit has joined the channel [05:42] blueadept: quick question, what would be the best way to link node-waf? [05:42] k1ttty has joined the channel [05:42] blueadept: trying to use npm update, and some packages can't find node-waf [05:42] blueadept: i see it in node/tools though [05:43] blueadept: i tried, ls -s /path/to/node-waf /usr/local/bin/node-waf, but that failed [05:43] jstonne has joined the channel [05:46] cjm has joined the channel [05:48] moonmayoriii has joined the channel [05:48] boltR has joined the channel [05:50] richardr has joined the channel [05:50] stonebranch has joined the channel [05:51] jamescarr: Thanks tj [05:51] jamescarr: you're a lifesaver [05:52] munichlinux has joined the channel [05:52] edjoperez has joined the channel [05:52] edjoperez: whats up! [05:53] tuhoojabotti: hoho [05:53] tuhoojabotti: tj = CEO in finnish [05:54] edjoperez: anyone has tried the node-gui module? [05:55] edjoperez: ? [05:55] edjoperez: anyone here? [05:56] RLa: hey [05:56] RLa: it uses gtk? [05:56] edjoperez: yes [05:57] RLa: btw, qt might/will get v8 as qtscript backend [05:58] RLa: so if you are looking into writing native gui apps in javascript it might be good thing to look at [05:58] pifantastic has joined the channel [05:58] freakspire has joined the channel [05:59] tuhoojabotti: edjoperez: I'd be more interested to make a cli-"gui" like irssi [05:59] tuhoojabotti: with node-ncurses probably [06:00] scriptle has joined the channel [06:00] RLa: any, here is qtscript example: http://developer.qt.nokia.com/doc/qt-4.8/script-calculator.html [06:01] pizthewiz_ has joined the channel [06:01] edjoperez: i lov cli but, we have to think as a dummy user who likes the gui ( without any offence) [06:01] RLa: tho main.cpp is used for loading ui file and javascript file [06:02] Shaunzie has joined the channel [06:02] _dc has joined the channel [06:03] mraleph has joined the channel [06:04] jacter has joined the channel [06:04] kishoreyekkanti has joined the channel [06:05] k1ttty has joined the channel [06:05] chadskidmore has joined the channel [06:07] shapeshed has joined the channel [06:07] rwaldron has joined the channel [06:07] c4milo has joined the channel [06:08] isaacs: any rubyists in here? i've got a question about Dir.glob [06:09] lorfds has joined the channel [06:12] teadict: this is freaking usefull https://github.com/voodootikigod/node-serialport/blob/master/examples/logger.js [06:13] jhurliman has joined the channel [06:15] voidvector: so cygwin support is dropped for good? would it ever come back when node stablizes? [06:15] isaacs: nope [06:15] isaacs: it's gone [06:16] jamescarr: oh? [06:16] jamescarr: well, I guess it makes sense since there is now native windows support [06:16] voidvector: what's the major hurdle? [06:17] jamescarr: voidvector, cygwin is the hurdle? [06:17] piscisaureus_ has joined the channel [06:17] jamescarr: I use it extensively at my exclusive windows workplace and cygwin causes a lot of problems [06:17] shinuza has joined the channel [06:17] jamescarr: better than MSDOS, but slower than OSX or linux of course ;) [06:17] jamescarr: I also get random shell problems [06:18] voidvector: i use it at work and at home too, just feel bad that its the bastard child of even open source projects on Windows [06:18] teadict: install linux, move on with life [06:18] voidvector: not only node, but also stuff like git [06:19] jamescarr: voidvector, yeah, I use git, git flow, and a doze other commandline tools from cygwin [06:19] jamescarr: at work [06:20] voidvector: i can't get the Windows binary of node to work with cygwin. it doesn't flush console correctly [06:20] tbranyen: voidvector: wat [06:20] astropirate: voidvector, question [06:20] astropirate: why use windows binary in cygwin [06:21] voidvector: stuff like "find . -name '*.js' jshint {} \; " [06:21] dshaw_ has joined the channel [06:21] tbranyen: voidvector: i guess the question i have now is what do you mean run in cygwin [06:21] tbranyen: you in the cygwin terminal or something? [06:22] voidvector: yea [06:22] tbranyen: cause you should be able to run the cygwin binaries like find.exe inside cmd.exe [06:22] tek has joined the channel [06:22] mattgifford has joined the channel [06:22] astropirate: meteor shower peeking in One hour!! [06:22] tbranyen: oh sick [06:22] a_meteorite: I'm a star! [06:22] tbranyen: in what homosphere? [06:23] astropirate: northern [06:23] teadict: homo? sphere [06:23] a_meteorite: I mean... relevant nickname [06:23] astropirate: Astro Pirate :D [06:23] michaelh_ has joined the channel [06:24] ly- has joined the channel [06:26] jacter has joined the channel [06:28] voidvector: i use cygwin for the terminal, not just individual utils. [06:28] voidvector: anyway, just wondering what's the main reason it was dropped given that most other interpreters actually work in it [06:30] kishoreyekkanti has joined the channel [06:33] FG has joined the channel [06:39] braoru has joined the channel [06:41] rgl has joined the channel [06:42] Shaunzie has joined the channel [06:43] tonymilne has left the channel [06:44] Hanspolo has joined the channel [06:46] rgl has joined the channel [06:50] OmidRaha has joined the channel [06:51] FG has joined the channel [06:51] jamescarr: so close [06:51] jamescarr: yet so far [06:52] _dc has joined the channel [06:54] fangel has joined the channel [06:54] mdel_ has joined the channel [06:55] Morkel has joined the channel [06:57] passionke has joined the channel [07:00] kishoreyekkanti_ has joined the channel [07:03] hellp has joined the channel [07:04] erikzaadi has joined the channel [07:05] dmitrig01 has joined the channel [07:05] disappearedng: Hey I have a basic question for testing. Let say I am writing some kind of game. I have a test => fire ready when everyone is ready. and then I want to test the actual game play which involves everyone firing ready. Any framework with nodejs that allows test cases to call other test cases? [07:05] mattrobenolt has joined the channel [07:09] lz1 has joined the channel [07:09] fbartho has joined the channel [07:10] lz1: multi-line arrays or objects in function arguments… what's the best way to declare them? [07:11] lz1: foo([ [07:11] lz1: 'a', [07:11] lz1: 'b', [07:11] lz1: 'c' [07:11] lz1: ]); [07:11] lz1: ? [07:12] Heisenmink has joined the channel [07:13] Shaunzie: lz1: does it matter? [07:13] lz1: Shaunzie, probably not, but I've seen some other styles [07:14] lz1: I've seen this before too [07:14] lz1: foo([ [07:14] lz1: 'a' [07:14] lz1: , 'b' [07:14] lz1: , 'c' [07:14] lz1: ]); [07:14] rauchg has joined the channel [07:14] Shaunzie: lz1: if it's a matter of style, then do when you like best [07:15] lz1: Shaunzie, haven't come up with one I like yet [07:15] josh-k has joined the channel [07:16] lz1: doesn't look right when you have a callback function right after [07:16] isaacs has joined the channel [07:16] Shaunzie: Well that's something you need to decide on for yourself :P. Can't expect others to define your personal style. It's part of your identity as a developer [07:16] lz1: foo([ [07:16] lz1: 'a', [07:16] lz1: 'b', [07:16] lz1: 'c' [07:16] lz1: ],function(){ [07:16] lz1: blah blah [07:16] lz1: }); [07:16] lz1: yuck [07:17] Shaunzie: If you don't like that, don't do it? [07:19] disappearedng: Hey anyone able to help? http://stackoverflow.com/questions/8723346/how-do-you-test-an-application-that-involves-multiple-steps-to-reach-a-particula [07:20] garrensmith has joined the channel [07:20] DaBunny has joined the channel [07:21] boltR has joined the channel [07:21] lz1: Shaunzie, semicolon insertion sucks :/ [07:22] Shaunzie: disappearedng: There are a number of testing frameworks out there for node: https://github.com/joyent/node/wiki/modules#wiki-testing [07:22] disappearedng: Shaunzie: thanks? Which one should I use [07:22] disappearedng: nodeunit doesn't cut it [07:22] Shaunzie: disappearedng: I like mocha personally [07:22] disappearedng: as a matter of fact I dun think I should be using unit testing frameowkrs at all [07:23] disappearedng: Did you read my question [07:23] Shaunzie: https://github.com/visionmedia/mocha [07:23] disappearedng: or are you just blindly recommending testing frameworks [07:23] Shaunzie: disappearedng: yes, I read your question, but I don't see why you would use unit tests [07:23] disappearedng: ok yeah I agree. How do I even test ? [07:24] disappearedng: do I chain 1, 2, 3, 4, 5,... test cases like that? [07:24] Shaunzie: disappearedng: that's sort of a loaded question :). That's like asking "How do I design my application" [07:24] SamuraiJack has joined the channel [07:25] disappearedng: well is calling testStep5() { test1(); test2(); test3(); test4(); ... } even correct? [07:25] lz: Shaunzie, mocha's a good find, thanks [07:25] disappearedng: I mean I am not asking you how to test [07:25] __doc__ has joined the channel [07:25] disappearedng: I am asking you what I should do to test step5 [07:26] Shaunzie: You could create a mock object that contains all the necessary data to show that a player is in step 5 and test against that known data [07:26] martin_sunset_ has joined the channel [07:27] disappearedng: Shaunzie: What if the steps require to test step 5 IS step 1, 2, 3, 4? [07:27] disappearedng: aka 1) Everyone joins the game, 2) Everyone presses ready, 3) Someone fires a shot at UserC [07:28] disappearedng: i.e. I want to test UserC is dead (step4) and the steps required to construct this case is ACTUALLY all those 3 combined in that chronological order? [07:28] FG has joined the channel [07:30] Shaunzie: disappearedng: Can't you just test step 1, 2, 3, 4 separately? [07:30] disappearedng: how can you test step 4? [07:30] Shaunzie: disappearedng: that depends on how you design your app :-/ [07:31] disappearedng: in setUp() { this.userC = new User("USER_C") ... }, testStep4 = function() { assert(this.userC.dead(), true); } throws userC is has not joined the game yet [07:31] Shaunzie: when in doubt steal. Try taking a look at existing applications that do unit tests and learn from their examples. That's more or less what I do [07:32] Shaunzie: disappearedng: Then your setup is incorrect. If you are trying to test with the condition that a user has joined, manually join the user then test it. [07:34] disappearedng: Then that's step2 ! [07:34] disappearedng: Shaunzie: What I am saying is, ALL THE MANUAL STEPS ARE PREVIOUS STEPS [07:34] disappearedng: Do you see what I am getting at? [07:35] tuhoojabotti: jsQ: How to "map" and ignore some items? [07:36] Shaunzie: disappearedng: If you need to remove the old steps in order to correctly test the new steps you can do that. Thats what I do when I test against data stored in a database. Delete old data, insert new data, test against the known data. [07:37] disappearedng: Shaunzie: ok let say you are testing a database that allows you to retrieve previous data [07:37] disappearedng: So you first test "after inserting hello" I can get hello [07:37] otakutomo has joined the channel [07:37] disappearedng: and then you want to test "after inserting hello then inserting world", I can get "world then hello" [07:37] disappearedng: kind of like a stack [07:37] disappearedng: you will realize that you are essentially testing over and over again the crap that you have tested previously [07:38] disappearedng: anyway I am just gonna do soemthing else I dun see this conversation leading to anything fruitful thanks anyway [07:38] ph^ has joined the channel [07:38] clarkfischer has joined the channel [07:39] mikeal has joined the channel [07:40] pyparadigm has joined the channel [07:40] inarru has joined the channel [07:42] isaacs has joined the channel [07:43] k1ttty has joined the channel [07:43] CarterL has joined the channel [07:45] disappearedng: Anyone here uses vows? [07:45] tuhoojabotti: disappearedng: You must be the only one. [07:46] disappearedng: great tuhoojabotti do you know if nesting of topics will inherit the state of the parent topic? [07:47] tuhoojabotti: I have no idea. [07:48] shapeshed has joined the channel [07:48] groom has joined the channel [07:48] herbySk has joined the channel [07:49] isaacs: JasonSmith: hey, yt? [07:49] JasonSmith: isaacs: yo [07:50] isaacs: so, i think it'd be better to just make the separator *always* be the end-of-line character. [07:50] isaacs: and, make that \r\n on windows, rather than \n [07:50] JasonSmith: So just a boolean option whether you want one or not? [07:50] isaacs: no, just always do it [07:50] isaacs: if anyone complains, we can make it an option [07:51] JasonSmith: yeah I doubt they will complain [07:51] isaacs: but they won't complain, because it's not relevant [07:51] JasonSmith: also `tap test` fails BTW [07:51] isaacs: doesn't change the results [07:51] StanlySoManly has joined the channel [07:51] isaacs: oh, that's lame [07:51] JasonSmith: because fixtures/foo.ini cannot exec [07:51] JasonSmith: I wish there was .tapignore :) [07:51] isaacs: oh, yeah, you gotta do `tap test/*.js` [07:51] isaacs: working on that!! [07:51] isaacs: i'm building out a generic .ignore glob handling stuff [07:52] JasonSmith: no doubt. At your convenience, heck your email about that new couch "system db" feature [07:52] JasonSmith: I read the patch and we may want to just backport that and rock just that [07:52] isaacs: yeah, i saw that, haven't properly digested yet [07:52] JasonSmith: It has a "likelihood of being commited" coefficient of 1.0 [07:53] JasonSmith: it gives you basically the same thing as my inbox db with _update hack [07:53] JasonSmith: I will rewrite the inbox db to use its new API in fact [07:54] isaacs: When a "password" field is present, save_doc() will hash the password [07:54] isaacs: and write the result to the "password_sha" field, add a "salt" field [07:54] isaacs: and delete the "password" field: [07:54] isaacs: oh, man. want. [07:54] JasonSmith: yeah [07:54] isaacs: i could stop doing that client-side [07:54] JasonSmith: so this also has repercussions on the PBKDF2 stuff [07:54] JasonSmith: so now there is an obvious way for that to happen [07:54] ZeepZop has joined the channel [07:54] isaacs: If the request's userCtx.name doesn't match the doc's name [07:54] isaacs: -> 404 // Not Found [07:55] isaacs: that's not ideal for me, but i can hijack that default behavior to do shadow passwords [07:55] JasonSmith: The good news is Couch developers decided that it's not always what you see is what you get anymore [07:55] isaacs: yeah, that's very good news. [07:55] JasonSmith: there is spooky action at a distance. Sometimes, some types of changes on some types of documents just DTRT [07:56] JasonSmith: isaacs: Well I will backport this to 1.1 so what is the reason why that 404 is not ideal? [07:56] pors has joined the channel [07:56] isaacs: npm owner add user package [07:56] isaacs: that checks to make sure that the user exists, and then does a write to package with their username and email address. [07:57] JasonSmith: I see [07:57] JasonSmith: so it's not that you want the document obscured, you just want the password fields obscured [07:57] isaacs: yeah [07:57] isaacs: but i mean, presumably this after_doc_read will be in javascript somewhere? [07:58] JasonSmith: no it's Erlang [07:58] JasonSmith: it's already implemented [07:58] JasonSmith: the after_doc_read is an implementation detail to achieve the little workflow specified at the top of the commit message [07:59] isaacs: ahh, ok [07:59] _jzl has joined the channel [08:00] isaacs: hrm. [08:00] ly- has joined the channel [08:00] mdel_ has joined the channel [08:01] smathy has joined the channel [08:01] aliem has joined the channel [08:01] fangel has joined the channel [08:01] JasonSmith: I will ask the list whether there can be an alternative option where instead of 404 you get password fields scrubbed [08:03] wenger has joined the channel [08:03] `3rdEden has joined the channel [08:03] wenger: any udp experts out here? [08:04] kmurph79 has joined the channel [08:06] raphdg has joined the channel [08:06] kishoreyekkanti_ has joined the channel [08:07] scientes has joined the channel [08:08] mange has joined the channel [08:10] mike5w3c has joined the channel [08:15] p1d has joined the channel [08:15] hipsters_ has joined the channel [08:16] vvo has joined the channel [08:18] sylvinus has joined the channel [08:18] dannyamey has joined the channel [08:21] rurufufuss has joined the channel [08:22] djcoin has joined the channel [08:23] paera has joined the channel [08:23] paera has left the channel [08:23] salva has joined the channel [08:24] mattgifford has joined the channel [08:25] p3rsist has joined the channel [08:25] liar has joined the channel [08:25] LeMike has joined the channel [08:25] ablomen has joined the channel [08:26] p3rsist has left the channel [08:26] mytrile has joined the channel [08:26] stonebranch has joined the channel [08:27] shapeshed has joined the channel [08:29] mike5w3c has joined the channel [08:31] jacter1 has joined the channel [08:34] Shaunzie has joined the channel [08:34] hackband has joined the channel [08:36] vol4ok has joined the channel [08:37] kazupon_ has joined the channel [08:37] secoif: isaacs if I want to module-ize my app, but not fill npm up with a bunch of tiny modules, what are my options? [08:38] sproates has joined the channel [08:38] isaacs: secoif: finding that boundary can be tricky [08:39] secoif: isaacs I'm thinking along the lines of a private npm, or perhaps a different npm channel? npm namespace? [08:40] mikeal has joined the channel [08:40] secoif: no issue with the modules being open source, just that they're fairly specific to our app [08:40] secoif: or [08:40] secoif: suite of apps. [08:40] isaacs: well, here's the thing: publish the smallest module that you can, which is independently useful and test-covered. [08:41] isaacs: SubStack's a good role model to follow on thise [08:41] whitman has joined the channel [08:41] isaacs: but, if X is only ever useful in the presence of Y and Z, you either a) need to just publish all three bits of functionality as one thing, or b) need to re-think the boundaries [08:41] secoif: yeah I've been trying to get us more SubStack-like, "library driven development" processes [08:42] SubStack: what what [08:42] isaacs: SubStack: you're a role model. [08:42] isaacs: for the kids [08:42] SubStack: FOR THE KIDS [08:42] isaacs: and their modules [08:42] isaacs: (no loudbot in here, :( [08:42] SubStack: that's right kids, you should drink espresso late and night and write node modules [08:42] secoif: issacs I guess I could simply use git urls to pull in the other components without ever publishing to npm [08:42] HardPhuck has joined the channel [08:42] isaacs: secoif: ew. [08:43] isaacs: secoif: why not just publish them all? [08:43] isaacs: if they suck, and that's why, then you've probably got other reasons to make them not suck, so just do that first. [08:43] DTrejo: isaacs: do you agree with mikeal's post on checking in node_modules in production apps? [08:43] isaacs: DTrejo: yes. [08:43] isaacs: if you deploy it, check it in [08:43] isaacs: if you don't, don [08:43] isaacs: ' [08:43] isaacs: t [08:43] DTrejo: k, good to know [08:43] DTrejo: right [08:43] secoif: isaacs yeah. The sucking is probably the issue. [08:43] tbranyen: i checked in some node_modules and i dunno, kind of sucked to see my commit flooded [08:43] AD7six has joined the channel [08:43] isaacs: libraries should not have node_modules bundled in most cases. [08:43] tbranyen: next time i'm making separate commits for node_modules [08:44] isaacs: tbranyen: well, just commit them atomically. [08:44] isaacs: npm install blah; git add node_modules/blah; git commit -m "install blah" [08:44] tbranyen: yeah i didn't think of it at the time [08:44] tbranyen: there were kinda just there and then :'( [08:44] isaacs: rather than git ci -m "install foo and also fix a bunch of crap" [08:44] isaacs: the point is to be able to bisect [08:45] pquerna: +1, node_modules checked into apps, but not things posted to npm [08:45] DTrejo: ^ gree [08:45] DTrejo: agree [08:45] isaacs: everyone agrees with this. [08:45] DTrejo: felix might not agree [08:45] isaacs: at least, everyone who has both published a module to npm, and also deployed anything ever. [08:45] tbranyen: isaacs: question, is it possible to have a root level package.json but upon npm install instead installs to a node_modules folder in a sub dir? [08:46] isaacs: tbranyen: no. [08:46] djQuery has joined the channel [08:46] tbranyen: oke doke [08:46] romanb has joined the channel [08:46] isaacs: tbranyen: but you can `npm install blah --prefix some/other/dir` [08:46] isaacs: not sure why you'd want to do that. [08:46] SubStack: split up your code into as many modules as possible [08:46] isaacs: SubStack: not "possible"! [08:47] SubStack: you're unlikely to encounter the lower bound of module size for a while [08:47] pquerna: DTrejo: felix doesn't count, he is more like father time, from the old ages of node.js, before known history [08:47] tbranyen: isaacs: hmmm that might be perfect [08:47] tbranyen: i will try [08:47] isaacs: as many modules as is reasonable, which is probably slightly more modules than you think is reasonable. [08:47] isaacs: i aimed hard for "unreasonable" territory with node-tap initially, and found it. [08:47] SubStack: I am known to be an unreasonable character! [08:47] tbranyen: ah shit son [08:47] DTrejo: pquerna: oh, I see. [08:47] secoif: isaacs how small was unreasonable [08:47] pquerna: DTrejo: (but <3 felix, haven't talked to him in awhile though) [08:47] isaacs: secoif: 1 module per package. [08:48] tbranyen: thx isaacs, any reason why you don't allow prefix configurable in the package.json? [08:48] isaacs: secoif: many of them ended up all depending on each other. [08:48] tbranyen: philosophical reasoning? [08:48] DTrejo: *formidable <3 haha [08:48] SubStack: isaacs: I think with re-targetting it could work [08:48] secoif: isaacs is that a problem though? [08:48] isaacs: tbranyen: because package.json defines one package. that package has deps. that is the entirety of the complexity [08:48] SubStack: seems to have more been a problem of circular deps than modules being too small [08:48] isaacs: secoif: eventually yes. [08:48] secoif: isaacs other than cluttering up the npm repo… [08:48] tbranyen: isaacs: fair enough [08:48] isaacs: SubStack: not small in LoC or whatever, small in functionality. [08:49] SubStack: check out this module I wrote earlier today https://github.com/substack/node-coords/blob/master/index.js [08:49] SubStack: so tiny [08:49] tbranyen: isaacs: is it possible for package.json to reference folders above its containment? basically i have an app that is a package, but i want everything contained to a build folder, because the rest of it is just a static web app [08:49] isaacs: tap-test can't even exist without tap-consumer and tap-producer and tap-harness. [08:49] mike5w3c has joined the channel [08:49] isaacs: tap-harness depends on tap consumer and tap producer [08:49] tbranyen: so if i had a build/package.json could package.json see folders/files at one level up so the same level as build? [08:49] isaacs: it's all too incestuous. [08:49] isaacs: may as well just be one thing [08:50] isaacs: tbranyen: no [08:50] tbranyen: kk [08:50] secoif: SubStack yeah I have little things like that all through our codebase, could be broken out but I'm hesitant to add more clutter. [08:50] isaacs: tbranyen: why not just have one root-level package, and that's it? [08:50] zilch has joined the channel [08:50] secoif: not suggesting your module is clutter :P [08:50] isaacs: tbranyen: you can get at modules in parent node_modules folders just as easily [08:50] tbranyen: isaacs: because its a static web app with an optional build process, why bother installing node_modules to the root if its never used [08:50] isaacs: SubStack: the trick with writing tiny modules is finding tiny pieces of functionality that are independently useful [08:51] SubStack: secoif: better to keep the clutter on npm where it is isaacs's problem than to keep them in your own codebase [08:51] tbranyen: it'd be nice to define those deps at the root and install to the prefix, which is what i'm thinking now, except i'd also like to publish to npm [08:51] tbranyen: and that kind of breaks the whole prefix thing :-/ [08:51] tbranyen: unless i do a post script to move it manually [08:51] raincole has joined the channel [08:51] isaacs: tbranyen: is it really that big a problem to have it there if it's not used? [08:51] isaacs: is it some compilation that might fail? [08:52] secoif: SubStack good idea. I'm all for giving isaacs my problems. [08:52] tbranyen: isaacs: trying to maintain a separation of concerns atm [08:52] SubStack: SEPARATE ALL THE CONCERNS [08:52] isaacs: tbranyen: a noble ambition. [08:52] isaacs: however, often overrated. [08:52] tbranyen: someone could theoretically install this "boilerplate" jazz and then simply delete a single folder to work with a static site [08:52] isaacs: adding complexity to save a single .js file is probably not worth it. [08:52] tbranyen: and not worry about lingering node_modules [08:52] isaacs: just put the extra file there. [08:53] garrensm_ has joined the channel [08:53] isaacs: disk space is growing faster than money. [08:53] isaacs: it's free. [08:53] isaacs: the other day i was cleaning my room, and stumbled across a spindle of CD-Rs [08:53] isaacs: i realized how horribly outdated those are. [08:54] tbranyen: =) [08:54] isaacs: the whole spindle has less storage power than my phone's SD card. [08:54] isaacs: and my phone's sd card is only 16GB [08:54] zilch: if I want to have "esper" or "streambase" alternative in node.js land, what would be it ? [08:54] isaacs: because i have a crappy phone. [08:54] SubStack: that's it [08:55] SubStack: I was drawing snoop dawg but now I'm going to draw some snowclones [08:55] zilch: basically, I am looking for complex event processing solution in node.js [08:55] isaacs: zilch: i've never heard of those two things. [08:55] isaacs: zilch: have you seen EventEmitter2? [08:55] SubStack: zilch: why are you looking for complex solutions [08:56] isaacs: zilch: npm install eventemitter2 [08:56] secoif: zilch perhaps explain what you're trying to achieve [08:56] zilch: issacs, I will check the ee2 ... I am also going through the hook.io [08:57] tokka has joined the channel [08:57] zilch: which is based on ee2 [08:57] jacter has joined the channel [08:57] cesconix has joined the channel [08:57] secoif: what do you guys think of hook.io? [08:58] isaacs: secoif: i haven't really played with it too much [08:58] a_suenami has joined the channel [08:58] Shaunzie: secoif: hook.io = bangable [08:58] isaacs: seems a bit like erlang [08:58] jomoho has joined the channel [08:58] isaacs: in that, it's a pretty solid approach, but a huge pita, and destined to be a bit slow. [08:59] isaacs: but, it IS a solid approach to writing distributable programs [09:00] aaronmcadam has joined the channel [09:01] secoif: interesting. [09:01] hipsters_ has joined the channel [09:01] zilch: what I am looking for is standing queries [09:01] lperrin has joined the channel [09:02] zilch: a stream of event are generated at listened to at point A ... where we apply some filter criteria and forward the event and/or do some processing [09:02] daglees has joined the channel [09:02] secoif: zilch perhaps https://github.com/dominictarr/event-stream ? [09:04] davetayls has joined the channel [09:04] secoif: zilch you could also look into http://www.zeromq.org/ or http://www.rabbitmq.com/ [09:06] secoif: Shaunzie what are you using hookio for? [09:08] HardPhuck: guys, a question, how can I "transmit" data from one nodejs application to another (both on the same server) [09:08] martin_sunset: secoif: I am using it for background processing, in combination with rabbitmq. Hook.io is really great, takes a lot of inspiration from akka [09:08] HardPhuck: for example, If I save a document to mongo, I would like to alert the other application (and send it the same document) [09:09] martin_sunset: HardPhuck: Rabbitmq could be used for that [09:09] HardPhuck: isn't that a bit overkill? [09:09] martin_sunset: HardPhuck: It depends on te number of docs ;) [09:10] HardPhuck: 1 every 10 seconds [09:10] dnjaramba has joined the channel [09:10] HardPhuck: and those are small documents, tweet-kind [09:11] martin_sunset: HardPhuck: I see. You could Do API push easily then. [09:11] HardPhuck: any useful links? [09:11] __tosh has joined the channel [09:11] martin_sunset: Basically implement a web hook system like github, to keep it super simple [09:11] yatesy has joined the channel [09:12] HardPhuck: hmm on the other hand, I'm just checking the rabbit.js [09:12] HardPhuck: seems easy enough [09:13] test1 has joined the channel [09:13] booyaa: martin_sunset: any joy with the rest api service discovery? [09:13] martin_sunset: booyaa: Already implemented. Super smooth. Now creating te docs from it [09:13] test1: dd [09:13] test1: hi [09:14] test1: someone here/ [09:14] martin_sunset: test1: Hmm, yeah I think so;) [09:15] secoif: HardPhuck you could also use http://redis.io/topics/pubsub [09:15] disappearedng: I find myself doing a lot of this: _(this.users).chain().values().each(function(user) { Any shorter way to do this with underscore? [09:15] zilch: secoif, thanks :) [09:15] booyaa: martin_sunset: groovy! [09:16] secoif: disappearedng what are you trying to do there? [09:16] disappearedng: this.users is a userId: UserInstance object I want to call user.fireSeomthing() [09:16] HardPhuck: hm ok [09:16] HardPhuck: will try that as well [09:17] leo2007 has joined the channel [09:17] Locke23rus has joined the channel [09:17] leo2007: My npm seems to behave differently on Linux and OSX. [09:18] SubStack: zilch: also check https://github.com/dominictarr/event-stream [09:18] lzskiss has joined the channel [09:18] secoif: disappearedng what's the chain() for in there [09:18] leo2007: On Linux, it seems it installs libs in ~/.some_dir but on OSX, it installs in node_modules of current directory. [09:18] disappearedng: you can't chain unless you have that [09:18] disappearedng: lolz [09:18] secoif: what are you chaining? [09:18] disappearedng: wtf? do you know underscore? [09:18] secoif: the values? [09:19] HardPhuck: leo2007: it depends on the user [09:19] HardPhuck: and how you install modules [09:19] leo2007: npm install MODULE [09:19] secoif: disappearedng no reason to act like an asshole when I'm trying to help you. it looks like you're just looping over an object? [09:19] HardPhuck: if you do -g then it installs them globally [09:19] ccare has joined the channel [09:19] bearnard has joined the channel [09:19] lperrin1 has joined the channel [09:19] HardPhuck: if you do npm install module it will install it in the current directory [09:19] disappearedng: secoif: sorry I come off as an asshole. Are you familiar with underscore? [09:20] SubStack: from earlier: http://substack.net/images/separation_of_concerns.png [09:20] lperrin1 has joined the channel [09:20] aaronmcadam: hehe [09:20] leo2007: HardPhuck: is ~/.npm where npm caches its downloads? [09:20] tytsim has joined the channel [09:21] secoif: disappearedng yes, I'm not sure how the chain is helping you though since you're only calling .each on values, not a chaining whole bunch of other methods [09:21] icebox has joined the channel [09:21] zomg: Is there any common solution to using npm modules you've patched yourself? [09:21] disappearedng: a = {1:2, 3:4}; a.keys().each(function(k) { console.log(k);}); TypeError: Object # has no method 'keys' [09:21] zilch: What I want can be looked here ... http://esper.codehaus.org/esperio-4.4.0/doc/reference/en/html/index.html .... it is tl;dr :P [09:22] secoif: disappearedng _.keys(a) [09:22] dubenstein has joined the channel [09:22] disappearedng: secoif: You can't use .each immediately on keys because keys return an array whereas you need the wrapped object [09:22] disappearedng: well I am using _(a).keys9) [09:22] SubStack: zomg: you can put tar.gz links from github in your package.json as dependencies [09:22] disappearedng: _(a).keys() [09:22] disappearedng: more natural for me since it's very similar to jquery [09:22] zilch: SubStack, I am seeing the event-stream as well [09:22] zomg: SubStack: ah, that would work. Thanks [09:23] disappearedng: secoif: do you use _.keys(soemthing) over _(something).keys()? [09:24] disappearedng: : [09:24] disappearedng: :w [09:24] hackband has joined the channel [09:24] kishoreyekkanti_ has joined the channel [09:25] HardPhuck: leo2007: not sure on that one [09:25] kishoreyekkanti has joined the channel [09:26] secoif: disappearedng usually. then in the .each() function body you can use a[key].fireSomething() [09:26] leo2007: HardPhuck: no problem. I'll ignore it for now. [09:26] yatesy: Hey folks, I've got a question about bundleDependencies. It would seem that if I have a package A which depends on another package B that I've also bundled, the dependencies of C aren't included if i do npm pack on package A, despite the dependencies being in the node_modules folder. Is this intended? [09:27] secoif: disappearedng if you use sugarjs you get both the key and the value in the each. Check the Object.each method [09:27] TheJH has joined the channel [09:28] HardPhuck: leo2007: for local development I usually install all modules globally [09:28] HardPhuck: doesn't really matter [09:28] baoist has joined the channel [09:28] leo2007: HardPhuck: you mean passing -g? That seems the default on Linux. [09:28] leo2007: does npm read a config script? [09:28] secoif: leo2007 is it possible you're using two different versions of npm? [09:28] TheJH: leo2007, uhm, could you please execute `npm -v`? [09:29] leo2007: secoif: the version on Linux is from Ubuntu. I built one on OSX myself. [09:29] TheJH: leo2007, global by default is only active in really ancient versions of npm [09:29] leo2007: TheJH: you are right. I was confused. I am new to node.js. [09:30] TheJH: leo2007, so, what is your npm version on ubuntu? [09:30] leo2007: I can built x86_64 v8 on OSX (Snow leopard 10.6.8), but when building node.js it is only i386. [09:30] TheJH: run `npm -v` [09:30] robhawkes has joined the channel [09:30] leo2007: I am confused by that oo. [09:30] secoif: leo2007 node moves pretty fast, I always try to be on the latest version of everything. [09:30] leo2007: TheJH: 0.4x [09:31] TheJH: leo2007, is that the npm version or the node version? [09:31] leo2007: TheJH: 1.1.0-beta-7 on my Mac. I have no access to the ubuntu box now. [09:31] TheJH: leo2007, in npm, everything starting with a zero is ancient. in node, 0.1-0.3 is super-ancient, 0.4-0.5 is outdated, 0.6 is recent stable [09:32] secoif: leo2007 you want to be at least npm 1.x. When you get ontyo your ubuntu box next, upgrade npm, upgrade node. upgrade all the things. [09:32] leo2007: TheJH: I am running the latest of all of them on Mac. [09:32] leo2007: secoif: OK. [09:32] mara has joined the channel [09:33] secoif: leo2007 then everything will work (mostly) as it does on osx [09:33] leo2007: secoif: any idea why it builds to i386 on OSX? [09:33] joshgillies has joined the channel [09:34] lzskiss has joined the channel [09:34] secoif: leo2007 no sorry, I didn't pay any attention to that when it built on mine, I'll check [09:35] booyaa: leo2007: what version of osx? [09:36] leo2007: 10.6.8 [09:36] booyaa: leo2007: are you using brew? [09:36] leo2007: no [09:36] booyaa: 10.6 is snowleopard right? [09:36] leo2007: yes [09:36] selend has joined the channel [09:36] leo2007: everything else builds to x86_64 by default. [09:37] zilch: SubStack, secoif , isaacs - the thing I am looking for is .. http://www.streambase.com/developers/docs/latest/streamsql/ssql-intro.html [09:37] booyaa: leo2007: i seem to recall a 32bit intel core can run 64bit apps but possibly not the 64bit extensions. not that i know the extensions are. [09:37] booyaa: leo2007: what core have you got? [09:38] leo2007: booyaa: Darwin localhost 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 [09:38] martin_sunset: Is there something like a string builder class in node.js? I need to concatenate a lot of strings. [09:38] peterrs has joined the channel [09:39] sylvinus has joined the channel [09:39] hz has joined the channel [09:39] booyaa: can you fire up system profiler [09:39] leo2007: booyaa: yes, Intel Core 2 Duo [09:40] leo2007: Model Identifier: MacBook5,1 [09:40] booyaa: okay yup it's 64bit. [09:40] booyaa: http://support.apple.com/kb/ht3696 [09:40] peterrs: say, you have some files you use quite often.. how can i add it to the scope of require() so that i do not have to deal with relative paths? some folders are deep-linked and it's quite cumbersome dealing with ../../ [09:40] booyaa: :/ [09:40] sylvinus_ has joined the channel [09:41] leo2007: yeah, everything else is 64bit except node.js though. [09:41] tuhoojabotti: peterrs: process.chdir(); [09:41] tuhoojabotti: ? [09:41] tuhoojabotti: peterrs: http://nodejs.org/api/process.html#process.chdir [09:42] jacter has joined the channel [09:42] secoif: leo2007 my node compiled to x86_64. used n to install. never had any issues I don't think, sorry can't help [09:42] booyaa: soz dude. typically no problems with npm but then i again i installed via cinderella and then kept upgrading through brew [09:42] leo2007: secoif: what version of OSX? [09:43] booyaa: leo2007: it's npm you've got problems with right? [09:43] leo2007: secoif: `used n to install.', how do you mean? [09:43] booyaa: n is a version manager [09:43] booyaa: i think you can find it in brew [09:43] leo2007: booyaa: I misunderstood npm. The 32bit node runs. [09:44] booyaa: leo2007: ah so node is 32bit gotcha. [09:44] Shaunzie has joined the channel [09:44] booyaa: how does one tell what version bit size node is? is there a switch? [09:44] booyaa: or module method? [09:45] leo2007: I plan to use brew when upgrade to Lion. [09:45] booyaa: leo2007: why not now? [09:45] booyaa: it's awesome on sl [09:45] mikedeboer has joined the channel [09:45] leo2007: I have already goten everything I need installed. [09:45] secoif: leo2007 also why not upgrade to lion now [09:45] secoif: it's [09:45] secoif: $30 [09:45] leo2007: not price. I don't know if everything will work so I need to find the time to do it. [09:46] disappearedng: is there a more elegant way to write that in javascript? [09:46] disappearedng: https://gist.github.com/a7d28184c5dec89ce31e [09:47] mike5w3c has joined the channel [09:49] nisc has joined the channel [09:49] jldbasa has joined the channel [09:49] Nss has joined the channel [09:49] Shaunzie: tele[role] = (tele[role] === undefined) ? 1 : (tele[role] + 1) [09:50] Shaunzie: don't know if that's more elegant or more confusing... [09:50] peterrs: tuhoojabotti: hmm.. i took the time to explain the issue here: https://groups.google.com/forum/#!topic/nodejs/HPxngdgSwq8 [09:51] tuhoojabotti: peterrs: Either use process.chdir or symlink them to node_modules? [09:51] aliem_ has joined the channel [09:52] bergie has joined the channel [09:53] wedtm has joined the channel [09:53] tuhoojabotti: peterrs: Or create for example include() that requires your modules handling the directories? [09:53] tuhoojabotti: Plenty of ways to handle this. [09:54] tuhoojabotti: I wouldn't be surprised if there was module for this already in npm [09:54] secoif: disappearedng that looks pretty tidy to me, you could use ++ operator and perhaps convert lines 4-8 into a single ternary [09:55] disappearedng: wow really? I came from python and there's something called defaultdict [09:55] secoif: you could even get rid of the === undefined and just say if (tele[role]) [09:55] disappearedng: I thought I can do something like tele[key] = (tele[key] === undefined) ? 1: tele[key]++ [09:55] peterrs: tuhoojabotti: symlinking was my initial thought, but i had some resolving issues.. was hoping node.js offered a way of dealing with this kind of stuff.. but i guess i will have to look in the npm registry and see what it offers [09:57] tuhoojabotti: peterrs: http://nodejs.org/api/modules.html This might help [09:59] tuhoojabotti: peterrs: Specifically: http://nodejs.org/api/modules.html#folders_as_Modules [09:59] nisc_ has joined the channel [09:59] MrTopf has joined the channel [09:59] peterrs: tuhoojabotti: excellent :) [10:00] tuhoojabotti: peterrs: I always find new stuff, when I open the api docs. :) [10:02] __tosh has joined the channel [10:02] bergie has joined the channel [10:03] peterrs: tuhoojabotti: hehe :) [10:03] eldios has joined the channel [10:04] markwubben has joined the channel [10:05] mc_greeny has joined the channel [10:05] blup has joined the channel [10:06] disappearedng has joined the channel [10:06] lzskiss has joined the channel [10:07] cosmincx has joined the channel [10:08] broofa has joined the channel [10:09] EuroNerd has joined the channel [10:09] EriksLV has joined the channel [10:09] thalll has joined the channel [10:10] blup_ has joined the channel [10:10] mikeal has joined the channel [10:12] OmidRaha has joined the channel [10:12] cosmincx has joined the channel [10:15] mikeal has joined the channel [10:15] tuhoojabotti: asd [10:15] tuhoojabotti: I made git tag, but it didn't go to github when I pushed [10:15] secoif: disappearedng yep. though you could even just say tele[key] ? 1 : tele[key]++ [10:16] tuhoojabotti: I can see the tag when I do git tag, but how to "push" it? [10:16] kpko-fn has joined the channel [10:16] secoif: disappearedng oops I mean tele[key] = !tele[key]? 1 : tele[key]++ [10:17] tuhoojabotti: git tag -a? [10:17] tuhoojabotti: okay [10:17] tuhoojabotti: ok -m is enough [10:17] mike5w3c has joined the channel [10:18] tuhoojabotti: no [10:19] LeMike has joined the channel [10:20] dnjaramba has joined the channel [10:20] booo has joined the channel [10:20] Emmanuel` has joined the channel [10:21] secoif: disappearedng I'd also reconsider using abbreviations in your var names. Adds mental load. [10:23] booyaa: tuhoojabotti: git push origin master to sync tags [10:23] booyaa: one sec [10:23] booyaa: is this to github? [10:23] disappearedng: secoif: there are just for temporary usage [10:24] tuhoojabotti: booyaa: Ok. [10:24] booyaa: git push --tags [10:24] booyaa: http://learn.github.com/p/tagging.html [10:24] tuhoojabotti: I was just reading taht [10:24] booyaa: assuming that origin is github [10:24] tuhoojabotti: that* [10:24] tuhoojabotti: Didn't get that far yet. :P [10:24] booyaa: sokay i've just started messing with them myself [10:24] booyaa: you using it to keep historic downloads? [10:25] tvw has joined the channel [10:26] tuhoojabotti: booyaa: MY collab wants to make a new tag for every new version. :u [10:26] tuhoojabotti: (3 so far) [10:26] booyaa: tuhoojabotti: ah [10:28] fly-away has joined the channel [10:28] ralph has joined the channel [10:32] ziro` has joined the channel [10:33] ziro`: anyone use less.css in production? [10:33] ziro`: I don't really want to install node on my production server [10:34] MerlinDMC has joined the channel [10:36] eldios has joined the channel [10:37] daglees__ has joined the channel [10:39] larsschenk has joined the channel [10:39] larsschenk has left the channel [10:39] kuebk has joined the channel [10:40] rendar has joined the channel [10:40] boehm has joined the channel [10:41] aGHz1 has joined the channel [10:43] Locke23rus_ has joined the channel [10:53] stagas has joined the channel [10:54] vdemedes has joined the channel [10:54] vdemedes: Hello! [10:56] SubStack: ahoy nodefriend! [10:57] break57382 has joined the channel [10:58] dnjaramba has joined the channel [11:00] eldios: o/ [11:00] josh-k has joined the channel [11:01] eldios: SubStack, I really want to H5 you for your drwaings.. they often make me smile :P and I hope that doesn't sound offensive, it was said in a positive way XD [11:01] eldios: drawings* [11:02] avih has joined the channel [11:04] vvo has joined the channel [11:05] boehm has joined the channel [11:05] ziro` has joined the channel [11:08] Emmanuel` has joined the channel [11:09] voidvector: Does anyone else use Deferred/Promise pattern? I am in love with it, it so good for the data persistence and caching [11:09] Cromulent has joined the channel [11:12] Ben__ has joined the channel [11:13] joshontheweb has joined the channel [11:17] SubStack: eldios: drawings are what I do when I'm tired of coding is all [11:18] eldios: SubStack, well you're actually quite good at it .. don't stop to be tired every now and then I'd say o/ [11:19] fermion has joined the channel [11:20] break57382 has joined the channel [11:21] socketio\test\60 has joined the channel [11:24] kurtzhong_ has joined the channel [11:25] TimTimTim has joined the channel [11:27] jbpros has joined the channel [11:27] jacter has joined the channel [11:29] xetorthio has joined the channel [11:30] xetorthio_ has joined the channel [11:30] fermion has joined the channel [11:30] larsschenk1 has joined the channel [11:30] qsobad has joined the channel [11:30] fermion has joined the channel [11:34] larsschenk1 has left the channel [11:35] amigojapan has joined the channel [11:38] chillfactor has joined the channel [11:38] gamera has joined the channel [11:39] Druide_ has joined the channel [11:42] hellp has joined the channel [11:42] tytsim_ has joined the channel [11:44] TimTimTim has joined the channel [11:44] tytsim has joined the channel [11:50] lperrin has joined the channel [11:52] briancray has joined the channel [11:54] chot: hi [11:54] chillfactor: hey, i've just began developing with express.js and was wondering if anyone can point me in a good direction, other than the Docs, in reguard to the standard way to perform error handling [11:55] txdv: what about the source code xD [11:55] spolu has joined the channel [11:58] larsschenk has joined the channel [11:59] martin_sunset: chillfactor: There is a comprehensive examples folder on github that, as far ask remember, contains a canonical error handling sample. [11:59] Guest57368 has joined the channel [11:59] larsschenk1 has joined the channel [11:59] larsschenk1 has left the channel [12:01] chot: i'm interested in the opinion of someone who's been using node.js for a larger project; does the fact that javascript isn't typed ever become a problem? [12:01] Industrial: chot: no. [12:01] martin_sunset: Chot about 20k of coffeescript here... No [12:01] martin_sunset: Chot the reason is [12:02] martin_sunset: Chot that you need to test your code, regardless of the type system of the underlying language, so type checking in strongly typed languages is a bit redundant when doing test driven development [12:03] voidvector has joined the channel [12:04] martin_sunset: Chot besides, it forces you to create smaller modules, which is good for overall code quality [12:04] chot: martin_sunset: hm ok, that's interesting [12:05] chot: how about things like intellisense (auto-complete) and refactoring? [12:06] martin_sunset: Chot interestingly I don't miss intelligense to much. I am used to visual studio but can live very well with textmate [12:06] djQuery has joined the channel [12:06] martin_sunset: Refactoring is the same, as long as you have enough tests [12:07] TheJH: chot, as soon as uglifyjs gets support for locating all tokens and stuff, it should be relatively easy to write stuff for refactoring [12:07] martin_sunset: In general our coffeescript code is of better quality then our c# code these days, despite 10 years of c# practice [12:08] martin_sunset: TheJH: That sounds great [12:09] kazupon has joined the channel [12:09] chot: martin_sunset: alright, that's interesting [12:09] TheJH: martin_sunset, not so great - nobody is working on that, I think :D [12:09] d0k has joined the channel [12:10] TheJH: martin_sunset, tried and I've got a patch that adds source code locations to all AST nodes - but completely incorrect, as it seems :D [12:10] chot: TheJH: never heard of uglify js, i'll have a look though [12:10] martin_sunset: TheJH: Too bad. It's a great idea though, just imagine what can be done once you have this info [12:11] martin_sunset: Chot uglify.js is used a lot in rails and node.js to mining JavaScript. Very cool project [12:11] leo2007 has left the channel [12:11] TheJH: martin_sunset, in case you want to hack on it: https://github.com/mishoo/UglifyJS/issues/241 https://github.com/mishoo/UglifyJS/pull/279 [12:11] martin_sunset: Mining = minify. [12:12] TheJH: also mining = getting all the require calls for browserification [12:12] TheJH: :D [12:12] martin_sunset: Thejh haha, I wish I had time. [12:13] chot: martin_sunset: ah ok [12:13] martin_sunset: Thejh besides, I never mess with other people's parsers. That's just to hardcore for me these days [12:14] merb has joined the channel [12:17] djQuery has joined the channel [12:17] `3rdEden has joined the channel [12:19] kurtzhong has joined the channel [12:21] tcurdt has joined the channel [12:22] raincole has joined the channel [12:23] lwille has joined the channel [12:23] topaxi has joined the channel [12:25] chot: by the way does anybody know of any articles that discuess this a bit more in depth? (i mean type safety, refactoring, intellisense "vs." unit testing etc.) [12:26] selend_ has joined the channel [12:26] kulor-uk has joined the channel [12:27] liar has joined the channel [12:31] dylang has joined the channel [12:31] jimmysparkle has joined the channel [12:32] thalll has joined the channel [12:33] vereteran has joined the channel [12:33] CrisO has joined the channel [12:33] stonebranch has joined the channel [12:34] dnjaramba has joined the channel [12:35] jldbasa has joined the channel [12:35] ly- has joined the channel [12:35] [[zz]] has joined the channel [12:37] k1ttty has joined the channel [12:38] lzskiss has joined the channel [12:38] drudge has joined the channel [12:39] daglees___ has joined the channel [12:39] Dulak has joined the channel [12:39] josh-k has joined the channel [12:39] plutoniix has joined the channel [12:39] jjd has joined the channel [12:42] selend has joined the channel [12:44] selend has joined the channel [12:44] EriksLV has joined the channel [12:46] selend_ has joined the channel [12:46] vdemedes: That's offtopic, but I just don't know if there is a channel for that. Are there any payment gateways or PayPal alternatives for individuals(not require registered company) [12:46] vdemedes: ? [12:46] CrisO has left the channel [12:47] martin_sunset: Wepay, possibly stripe [12:47] sindresorhus has joined the channel [12:47] bnoordhuis has joined the channel [12:48] vdemedes: Stripe is U.S. only [12:48] vdemedes: I'm from Ukraine and I'm 16 years old, but I have Visa Classic [12:48] lperrin has joined the channel [12:49] martin_sunset: vdemedes maybe we pay then. Payment sucks in the us, even more internationally [12:49] jacter has joined the channel [12:49] vdemedes: WePay requires registered company, isn't it? [12:49] ovaillancourt has joined the channel [12:49] martin_sunset: No, wepay is for individuals [12:49] martin_sunset: Just not sure if they accept non us residents [12:50] vdemedes: they are U.S. only if I'm not mistaken [12:50] lperrin has joined the channel [12:50] vdemedes: yeah, I asked them in support [12:50] kyonsalt has joined the channel [12:50] martin_sunset: Maybe ask on quora.com? [12:51] ekes: european individuals at any rate, dunno more int: moneybookers; wirecard bank [12:51] vdemedes: moneybookers requires company [12:51] martin_sunset: Maybe Jumio.com too [12:51] vdemedes: martin_sunset: thank you, will defenitely ask. Forgot about that totally [12:52] ekes: yesh they make it difficult [12:52] vdemedes: martin_sunset: nope, not available in Ukraine [12:52] martin_sunset: You can always create a c-corp in the states, although you will have to be physically present in the us to open a bank account [12:53] pickels_ has joined the channel [12:53] martin_sunset: Which is probably over your budget [12:54] vdemedes: martin_sunset: I'm 16 [12:54] hz has joined the channel [12:54] scott_gonzalez has joined the channel [12:55] CarterL has joined the channel [12:56] daglees___ has joined the channel [12:57] hz has joined the channel [12:59] vdemedes: published, http://www.quora.com/What-are-payment-systems-gateways-that-dont-require-registered-company-and-available-internationally [12:59] kishoreyekkanti has joined the channel [13:01] Burninate: I think I just saw something that might apply, gimme a sec [13:02] vdemedes: Burninate: please, please, PLEASE! [13:04] HardPhuck has joined the channel [13:04] Burninate: delnaught: not what you need [13:04] Burninate: stupid autocomplete [13:05] Burninate: not what you need, but I'll link it anyway [13:05] Burninate: https://squareup.com/ [13:05] Burninate: it's oriented to mobile POS credit card acceptance [13:05] martin_sunset: Square is great, one of the best companies around [13:05] vdemedes: nope, that's not for me [13:06] Burninate: damnit, why isn't Google Answers still around? [13:07] Burninate: If you'd posted this at $5 a few years ago you would have a damn good answer from an expert [13:07] djQuery has joined the channel [13:08] dshaw_ has joined the channel [13:09] cjm has joined the channel [13:11] brianseeders has joined the channel [13:11] Burninate: have you looked at 2CO? [13:11] Libra102 has joined the channel [13:11] Margle has joined the channel [13:11] kpko-fn has left the channel [13:11] vdemedes: Burninate: it requires registered company [13:11] arvindravi has joined the channel [13:13] Burninate: are you certain of that? [13:13] Burninate: Answers: [13:13] Burninate: 1. As far as I know, not. I have seen many countries using 2co. [13:13] Burninate: 2. Yes, you can sign up as an individual. [13:13] Burninate: 3. You will need a credit card and that's it, if I remember correctly. [13:13] Burninate: Latter on, you will need to verify your credit card and that's it. [13:13] Burninate: from a forumpost asking similar questions [13:13] vdemedes: Burninate: I'm sure, but let me re-check [13:14] irahgel has joined the channel [13:14] Burninate: http://www.webhostingtalk.com/showthread.php?t=1022912 [13:15] deoxxa: how do i compile scripts into my ender installation with ender? [13:15] deoxxa: every time i try, i'm told "Something went wrong trying to compile :(" [13:19] selend has joined the channel [13:19] Burninate: I'm not sure anything is going to work for a legal minor without parental cooperation though [13:19] vdemedes: Burninate: yeah, 2Co requires Business information [13:20] Burninate: without some extralegal asterisks :) [13:20] adrianF has joined the channel [13:20] vdemedes: Burninate: or maybe I can fill it with fake info? [13:21] stonebra_ has joined the channel [13:21] erichynds has joined the channel [13:21] Burninate: not really advised [13:25] Burninate: what does it take to get a business registered in Ukraine? [13:25] lzskiss has joined the channel [13:26] arvindravi has joined the channel [13:26] kazupon has joined the channel [13:27] theycallmeswift has joined the channel [13:27] lperrin has joined the channel [13:28] cballou has joined the channel [13:28] vdemedes: Burninate: it takes a lot of money, time and problems with corrupted politics [13:30] Burninate: http://www.webdistortion.com/2010/07/28/paypal-alternatives-e-commerce/ [13:31] vdemedes: Burninate: thanks! [13:32] kyonsalt has joined the channel [13:32] Burninate: also http://www.webhostingtalk.com/showthread.php?t=977803 [13:32] Burninate: anyway, GL [13:34] _JSilva has joined the channel [13:35] Guest57368 has joined the channel [13:35] Neil has joined the channel [13:36] enmand has joined the channel [13:37] passionke has joined the channel [13:39] davetayls has joined the channel [13:39] k1ttty has joined the channel [13:39] blup has joined the channel [13:39] blup_ has joined the channel [13:39] Cromulent has joined the channel [13:39] arcanis has joined the channel [13:40] vdemedes: Burninate: thanks, but I did not find anything [13:40] vdemedes: sad [13:40] confoocious has joined the channel [13:40] confoocious has joined the channel [13:41] tomlion has joined the channel [13:42] tcurdt has joined the channel [13:42] dodo_ has joined the channel [13:42] Burninate: vdemedes: http://www.doingbusiness.org/data/exploreeconomies/ukraine/starting-a-business [13:44] Burninate: vdemedes: and where you're likely to get robbed: http://www.business-anti-corruption.com/country-profiles/europe-central-asia/ukraine/corruption-levels/ [13:44] braoru has joined the channel [13:45] tytsim has joined the channel [13:45] enmand has joined the channel [13:45] hij1nx has joined the channel [13:47] ly- has joined the channel [13:47] ly- has joined the channel [13:47] Burninate: it looks like now is a bad time to do something like this http://goodgirlgoneukrainian.blogspot.com/2011/04/why-ukrainian-entrepreneurs-are-this.html [13:48] vdemedes: Burninate: it is always a bad time here [13:48] Burninate: got any relatives you trust in other countries? [13:49] AndreasMadsen has joined the channel [13:49] vdemedes: Burninate: yep, in U.S. But they did not agree to help(I wanted to register at Stripe) [13:50] martin_sunset: vdemedes: That's why it is smarter to found a company in the us. You can do that from anywhere in the world, it costs you about $400 and $150 per year, and probably a day per year doing taxes and stuff. [13:50] mc_greeny has joined the channel [13:50] vdemedes: martin_sunset: I can do that remotely? [13:50] Burninate: But probably not as a 16-year-old [13:51] martin_sunset: vdemedes: Of course. You only need a notary public in your country. Age does not matter, [13:51] vdemedes: martin_sunset: age does not matter? [13:51] Burninate: ability to engage in binding legal contracts probably does [13:51] Burninate: which is tied to age here [13:52] Burninate: vdemedes: Do you have your local family's support? [13:52] vdemedes: Burninate: not sure, but probably [13:52] pauls1 has joined the channel [13:52] martin_sunset: vdemedes: You might have to have an additional signature, but that should be it. Take a look at incorporate.com we used them multiple times, the first time when I still lived abroad [13:52] niftydigits has joined the channel [13:52] tanepiper: Register in Delaware [13:52] martin_sunset: vdemedes: And there is a good book from nolo about this subject, you should read that. Dunno the tittle though [13:53] tanepiper: http://en.wikipedia.org/wiki/Delaware_General_Corporation_Law [13:53] vdemedes: tanepiper: why? [13:53] Burninate: Delaware is a tax-free flag of convenience [13:53] Burninate: half of US companies register in Delaware [13:53] Burninate: not exactly tax free [13:53] martin_sunset: Tanepiper +1 for Delaware [13:53] martin_sunset: Second choice would be Nevada [13:53] tanepiper: a lot of companies outside the US also register in Delaware as a US base [13:53] fumanchu182 has joined the channel [13:53] martin_sunset: Slough the got greedy [13:53] martin_sunset: Although... [13:53] Burninate: but hte system is streamlined for businesses in a lot of ways [13:54] martin_sunset: All corporate lawyers in the us understand Delaware law [13:54] k1ttty has joined the channel [13:55] Burninate: third choice (if you deal with liability problems IIRC) is east texas [13:55] Burninate: yay specialist courts! [13:55] vdemedes: Damn, almost $1000 at incorporate.com [13:56] irahgel has left the channel [13:56] pauls1 has joined the channel [13:56] martin_sunset: Vdemedes more like 400 you don't need most of the fancy stuff [13:56] niftydigits: does anyone know what Nathan Rajlich's handle is here? [13:56] vdemedes: martin_sunset: I need EIN for Stripe [13:57] martin_sunset: Here is a good book for you [13:57] martin_sunset: Barrons: corporations step by step [13:57] vdemedes: Thank you all! [13:57] martin_sunset: vdemedes: Ein is your corporations tax number. You obviously don't have that right now [13:58] pronam has joined the channel [13:58] AaronMT has joined the channel [13:58] vdemedes: Another question, so when I will register company at incorporate.com, when will I finish the whole process? [13:58] vdemedes: martin_sunset: incorporate.com offers EIN registration [13:58] cjm has joined the channel [13:58] martin_sunset: 3 days normally, maybe a couple days more [13:58] kazupon has joined the channel [13:58] liar has joined the channel [13:59] martin_sunset: vdemedes: You can do this yourself, it is online as far as I remember. Take a couple of days to read up on everything, there are some. Once puts you need to understand first, don't jump right into it [13:59] martin_sunset: Damned iPad [14:00] martin_sunset: There are some concepts you... [14:01] shinuza has joined the channel [14:03] TheNumb has joined the channel [14:04] rwaldron has joined the channel [14:04] neurodrone has joined the channel [14:04] martin_sunset: vdemedes: Something else. If you go this route think about your relatives in the us as co founders. With minimal stake in the company and listed as officer or director they can open up a bank account for the company. Anyways, feel free to post questions about this on quora, you will get good answers there [14:04] lazyshot has joined the channel [14:05] vdemedes: martin_sunset: thanks a lot, but this way is very expensive for me [14:05] martin_sunset: vdemedes: I totally understand, just laying out a couple of options. [14:06] vdemedes: martin_sunset: thank you! [14:12] c4milo has joined the channel [14:13] stagas has joined the channel [14:14] vkareh has joined the channel [14:14] fermion has joined the channel [14:14] bkaney has joined the channel [14:17] tvw has joined the channel [14:19] thalll has joined the channel [14:19] baoist has joined the channel [14:20] trose has joined the channel [14:21] Edy has joined the channel [14:22] mandric has joined the channel [14:22] carlyle has joined the channel [14:22] cjm has joined the channel [14:25] davidsklar has joined the channel [14:25] DRMacIver has left the channel [14:26] willwhite has joined the channel [14:27] catshirt has joined the channel [14:28] stagas has joined the channel [14:30] brianc1 has joined the channel [14:30] Guille has joined the channel [14:34] syoyo has joined the channel [14:35] hij1nx has joined the channel [14:37] scriptle has left the channel [14:38] piscisaureus_ has joined the channel [14:39] madhums has joined the channel [14:39] ChrisMatthieu has joined the channel [14:40] thomblake has joined the channel [14:40] thomblake has left the channel [14:41] Hanspolo has joined the channel [14:41] ziro` has joined the channel [14:41] bradleymeck has joined the channel [14:42] djQuery has joined the channel [14:42] Rushing has joined the channel [14:44] bearnard has joined the channel [14:47] tytsim has joined the channel [14:48] bearnmeister has joined the channel [14:49] jtrudeau has joined the channel [14:49] okCPU_ has joined the channel [14:50] vicapow has joined the channel [14:50] okCPU_: I'm getting this when installing mongoose from npm... any ideas? Error: UNKNOWN, unknown error '/home/srq/.npm/colors/0.5.1' [14:53] heavysixer has joined the channel [14:53] syoy_____ has joined the channel [14:54] syoyo_ has joined the channel [14:54] malletjo has joined the channel [14:56] flip_digits has joined the channel [14:58] barberdt has joined the channel [14:58] kishoreyekkanti has joined the channel [15:00] arvindravi has joined the channel [15:01] fairwinds has joined the channel [15:02] jstash has joined the channel [15:04] willwhite has joined the channel [15:06] euoia has joined the channel [15:06] ryanfitz has joined the channel [15:07] Margle has joined the channel [15:08] djQuery has joined the channel [15:08] break57382 has joined the channel [15:08] Morkel has joined the channel [15:11] kmurph79 has joined the channel [15:11] mAritz has joined the channel [15:12] c4milo has joined the channel [15:13] Venom_X has joined the channel [15:13] stagas has joined the channel [15:15] Poetro has joined the channel [15:18] joshsmith has joined the channel [15:18] r04r has joined the channel [15:19] AvianFlu has joined the channel [15:21] catshirt has joined the channel [15:22] fatjonny has joined the channel [15:23] bkaney has joined the channel [15:23] Cheery has joined the channel [15:24] benlyn has joined the channel [15:25] Swimming_Bird has joined the channel [15:26] Cheery: I wondered where to find a working diff algorithm. [15:27] Cheery: but now I found something from rosettacode. [15:27] josh-k has joined the channel [15:28] LukeBrookhart has joined the channel [15:29] jaket has joined the channel [15:30] kuebk has left the channel [15:30] dylang has joined the channel [15:31] ding-osx has joined the channel [15:31] kevwil has joined the channel [15:33] arcanis has joined the channel [15:34] uchuff has joined the channel [15:34] thax has joined the channel [15:35] EyePulp has joined the channel [15:35] davidwalsh has joined the channel [15:36] dubenstein has joined the channel [15:36] mattgifford has joined the channel [15:37] CIA-109: node: 03Ben Noordhuis 07master * re21643d 10/ tools/installer.js : build: fix npm-cli.js install - http://git.io/eSeosQ [15:38] mikedeboer has joined the channel [15:39] Margle has joined the channel [15:40] jomoho has joined the channel [15:41] raww has joined the channel [15:42] joshkehn has joined the channel [15:42] cole_gillespie has joined the channel [15:42] joshkehn has left the channel [15:45] vdemedes has joined the channel [15:48] booo has joined the channel [15:48] Epeli has joined the channel [15:48] spleeze has joined the channel [15:48] stagas has joined the channel [15:49] martin_sunset_ has joined the channel [15:50] ChrisMatthieu has joined the channel [15:50] couchquid has joined the channel [15:50] wtfizzle has joined the channel [15:50] unnikrishnan_b has joined the channel [15:51] unnikrishnan_b has left the channel [15:52] ritch has joined the channel [15:52] davidwalsh has joined the channel [15:53] mandric has joined the channel [15:54] ritch has left the channel [15:54] jstonne has joined the channel [15:55] warz has joined the channel [15:56] davidsklar1 has joined the channel [15:56] break57382 has joined the channel [15:58] jstonne has joined the channel [15:59] raincole has joined the channel [15:59] shinuza has joined the channel [15:59] madhums has joined the channel [16:00] MatthewS has joined the channel [16:00] pifantastic has joined the channel [16:00] jstonne has joined the channel [16:01] bartt has joined the channel [16:02] xtianw has joined the channel [16:02] jstonne has joined the channel [16:02] pizthewiz has joined the channel [16:03] quijote has joined the channel [16:05] strmpnk has joined the channel [16:05] icebox: Cheery: http://ejohn.org/projects/javascript-diff-algorithm/ [16:05] mattgifford has joined the channel [16:06] pisipisi has joined the channel [16:07] pauls1_ has joined the channel [16:07] Cheery: icebox: thanks [16:08] aGHz has joined the channel [16:08] neurodrone has joined the channel [16:08] ChrisMatthieu has left the channel [16:08] dthompso99 has joined the channel [16:08] napperjabber has joined the channel [16:09] Cheery: a trusty diff implementation opens way for all sorts of funnies. :) [16:10] ph^ has joined the channel [16:10] mattkime has joined the channel [16:10] loucal has joined the channel [16:11] aelien27 has joined the channel [16:12] Morkel has joined the channel [16:12] jocafa has joined the channel [16:12] Destos has joined the channel [16:13] davehamptonusa has joined the channel [16:13] mange_ has joined the channel [16:13] davehamptonusa has left the channel [16:13] kmurph79 has joined the channel [16:13] mattkime: i'm trying to import a json file that contains backslashes [16:13] bnoordhuis has joined the channel [16:14] patcito has joined the channel [16:14] mattkime: JSON.parse sees them as escape characters [16:15] mattkime: how do it get it to see the backslashes as backslashes [16:15] xtianw: They should be escaped [16:15] xtianw: Not valid JSON otherwise [16:16] vdemedes: mattkime: "\\" [16:16] mattkime: yes, i've tried that [16:16] mattkime: and it should produce "\", right? [16:16] mattkime: but i get "\\" [16:16] Margle has joined the channel [16:16] vdemedes: then don't use "\\" [16:16] vdemedes: use one backslash [16:16] kenperkins has joined the channel [16:16] mattkime: then i get the error [16:17] tomlion has joined the channel [16:17] vdemedes: show the error [16:17] mattkime: here's the json that i'm trying to parse - { "validationRegex" : { "postal-code" : "/(^\d{5}$)|(^\d{5}-\d{4}$)/"}} [16:18] mattkime: and the error - SyntaxError: Unexpected token d [16:18] mattkime: which appears to be referencing the character directly after the backslash [16:18] louissmit has joined the channel [16:19] colinclark has joined the channel [16:19] vdemedes: try other rege [16:19] vdemedes: regex [16:19] mattkime: yet when i double up the backslashes they both stick around rather than becoming a single backslash [16:19] mattkime: { 'postal-code': '/(^\\d{5}$)|(^\\d{5}-\\d{4}$)/' } [16:19] mattkime: yes, it would be nice to avoid regex content but thats exactly what i need to do here [16:20] mattkime: so simply avoiding the problem isn't a solution [16:20] vdemedes: then take this regex as string and replace \\ with one \ [16:20] vdemedes: and then like: new Regexp(fixedRegex) [16:21] jj0hns0n has joined the channel [16:21] mattkime: hm, you may be on to something there [16:21] sorensen__ has joined the channel [16:21] mattkime: i thought of that and discarded the idea [16:22] mattkime: but i should give it a try [16:22] vdemedes: mattkime: my advice - take mine solution(not best) and just continue developing [16:22] vdemedes: and don't stay at one bug for too long [16:22] vdemedes: you can get back to it later [16:22] pandeiro has joined the channel [16:22] vdemedes: always [16:22] mattkime: thanks, that is good advice. [16:23] vdemedes: ;-) you're welcome! [16:24] dshaw_ has joined the channel [16:24] mattrobenolt has joined the channel [16:25] bradleymeck has joined the channel [16:25] stdarg has joined the channel [16:25] aheckmann has joined the channel [16:26] bkaney has joined the channel [16:26] Swimming_Bird has joined the channel [16:27] deoxxa: mattkime: are you sure they're actually double slashes? [16:27] MatthewS has joined the channel [16:28] deoxxa: util.inspect (which console.{log,warn} use) escapes slashes and newlines [16:29] dilvie has joined the channel [16:29] wankdanker has joined the channel [16:29] mattrobenolt has joined the channel [16:29] tytsim has joined the channel [16:29] heavysixer has joined the channel [16:29] liar has joined the channel [16:31] chrisvwebdev has joined the channel [16:32] jaket has joined the channel [16:32] Hanspolo has joined the channel [16:34] blueadept has joined the channel [16:34] dylang: somebody just deleted the node installation wiki page. https://github.com/joyent/node/wiki/_history [16:34] napperjabber has joined the channel [16:35] arvindravi has joined the channel [16:35] tbranyen: dylang: ownage [16:35] tbranyen: whdvl is my new fave github user [16:36] dylang: you didn't like the install page? [16:36] cloudhead has joined the channel [16:36] dshaw_ has joined the channel [16:36] tbranyen: dylang: not particularly [16:36] tbranyen: now we can rebuild [16:36] ovnicraft has joined the channel [16:36] tbranyen: basically occupy-node [16:37] TheJH: ACTION likes the revert button [16:37] dylang: is there one you like? i need to upgrade a server quickly and want to make sure i do it right. [16:37] TheJH: my favorite button in wikipedia, too [16:37] tbranyen: dylang: dude, i'm totally kidding >_> [16:37] tbranyen: you gotta take irc with a grain of salt if you wanna make it son [16:37] dylang: heh i found this one - https://github.com/joyent/node/wiki/Installation [16:37] brian-c has joined the channel [16:37] dylang: seems like the link on the front page of the wiki is just wrong [16:37] dylang: i'll update it [16:38] brian-c: Is nvm the standard for Node version management? [16:38] rauchg has joined the channel [16:38] cloudhead has left the channel [16:38] dylang: brian-c: i use n - not sure the difference [16:38] Poetro has joined the channel [16:38] tcurdt: anyone having a good source for ubuntu 10.04 deb packages for the node releases? [16:38] broofa has joined the channel [16:39] dinarcon has joined the channel [16:39] brian-c: I saw n. It looks pretty nice too. [16:39] booo has joined the channel [16:40] blup has joined the channel [16:40] blup_ has joined the channel [16:40] jaequery has joined the channel [16:40] eastc has joined the channel [16:43] bLiNdRaGe has joined the channel [16:43] BillyBreen has joined the channel [16:44] tjholowaychuk has joined the channel [16:44] bLiNdRaGe: anyone know why express errors with "page_content is not defined" on > 3| -if(page_content && page_content != null) { [16:44] dylang: brian-c: are there features in one not in the other? [16:44] bLiNdRaGe: i'm checking to see if it's defined, which is causing a not defined error =( [16:45] dylang: bLiNdRaGe: that's not a good check - if it's not even declared you get that error [16:45] dylang: if (locals.page_content [16:45] bLiNdRaGe: how would i check if it's declared? typeof seems to fail [16:45] bLiNdRaGe: ah [16:45] vdemedes: bLiNdRaGe: it would be more helpful for us if you uploaded your code to pastebin or something [16:46] bLiNdRaGe: dylang got it =) [16:46] vdemedes: bLiNdRaGe: I also wanna help :-D [16:46] dylang: bLiNdRaGe: it would be like writing > if (madeupvariable) anywhere else in javascript. [16:47] bLiNdRaGe: i was hoping that worked haha [16:47] bLiNdRaGe: vdemedes: i'll give you a bigger cut of code to get some context, one sec [16:47] brian-c: dylang: Not that I'm aware of. I'd just like to stick with what everybody else is using since I have no real opinion myself. [16:47] skm has joined the channel [16:47] devongovett has joined the channel [16:47] brianthecoder has joined the channel [16:49] bLiNdRaGe: vdemedes: http://fpaste.org/JWTT/ [16:49] vdemedes: bLiNdRaGe: and what's the error? [16:50] kyonsalt has joined the channel [16:51] mattgifford has joined the channel [16:52] eignerchris has joined the channel [16:53] vdemedes: bLiNdRaGe: before you say: [16:53] MrMaksim_ has joined the channel [16:53] vdemedes: 1) Do you know that you connect to the MongoDB every time request comes? [16:53] vdemedes: 2) No need to use open() method [16:55] shedinja: 6k modules. cool [16:56] Cromulent has joined the channel [16:57] catshirt has joined the channel [16:57] Cromulent has joined the channel [16:57] EhevuTov has joined the channel [16:59] brianc1 has joined the channel [16:59] CarlosC has joined the channel [17:00] shedinja: does npm auto ignore the node_modules folder when publishing? [17:00] TheFuzzball has joined the channel [17:01] perezd has joined the channel [17:01] idoru has joined the channel [17:01] patcito has joined the channel [17:02] idoru has joined the channel [17:03] Heisenmink has joined the channel [17:03] esmevane has joined the channel [17:05] mandric has joined the channel [17:08] ly- has joined the channel [17:08] jamescarr has joined the channel [17:08] jamescarr: hmmm... anyone know how to get the response output stream in express? [17:08] _dc has joined the channel [17:09] ryanrolds: jamescarr: res should be a writeable stream. [17:09] jamescarr: ah [17:09] jamescarr: you're right [17:09] donald_cook has joined the channel [17:09] xtianw has joined the channel [17:10] bshumate has joined the channel [17:10] CrawfordComeaux has joined the channel [17:12] dgathright has joined the channel [17:12] SnoopCorleone has joined the channel [17:13] gausby has joined the channel [17:14] toddysm has joined the channel [17:14] Swizec has joined the channel [17:17] p1d has joined the channel [17:17] stephank has joined the channel [17:17] postwait has joined the channel [17:18] springmeyer has joined the channel [17:19] spleeze has joined the channel [17:20] stepheneb has joined the channel [17:21] EvRide has joined the channel [17:21] ixti has joined the channel [17:21] stepheneb: hmmm ... I just installed node 0/6.6 on macos 10.6.8 with homebrew -- which configures the node build without npm: ./configure --prefix=/usr/local/Cellar/node/0.6.6 --without-npm [17:22] gamera has joined the channel [17:22] andrewfff has joined the channel [17:22] stepheneb: they recommend installing npm like this: curl http://npmjs.org/install.sh | sh [17:22] stepheneb: but I am getting a segmentation fault: npm-install-27918.sh: line 302: 27949 Segmentation fault "$node" node_modules/semver/bin/semver -v "$node_version" -r "$req" [17:23] stepheneb: You need node to run this program. -- node --version reports: v0.6.6 -- Please upgrade node before continuing. [17:23] vol4ok has joined the channel [17:24] pierrooo has joined the channel [17:24] pierrooo: hi! [17:25] adrianF has joined the channel [17:25] kitt has joined the channel [17:25] dgathright has joined the channel [17:26] booo has joined the channel [17:26] pierrooo: I'm wondering why expressjs is not creating automatically the sid ? [17:27] pierrooo: when printing req.session with console.log, I see the last access and the cookie, but there's no sid. is this normal behavior ? I was expecting the sid to be created [17:27] zitchdog has joined the channel [17:29] lorfds has joined the channel [17:30] kishoreyekkanti has joined the channel [17:30] larsschenk has joined the channel [17:33] CrawfordComeaux has joined the channel [17:35] fzzzy has joined the channel [17:36] stelleg has joined the channel [17:37] idoru has joined the channel [17:38] larsschenk has left the channel [17:38] wingie: node.js doesn't handle concurrent threads atm? [17:38] ryan_stevens has joined the channel [17:39] hotchkiss has joined the channel [17:40] _dc has joined the channel [17:40] AndreasMadsen has joined the channel [17:40] joshontheweb has joined the channel [17:40] bradleymeck: wingie its event loop can, JS is single threaded though, you should not need threads unless you are doing some odd stuff in C++ modules (even then, it is unlikely) [17:40] _JSilva has joined the channel [17:41] mikedeboer has joined the channel [17:41] vicapow has joined the channel [17:42] mattgifford has joined the channel [17:45] vol4ok has joined the channel [17:45] idoru has joined the channel [17:46] pierrooo: I manage to save values for the current session and retrieve them in future request, but still found no way to get the sid... [17:47] pierrooo: but if I can save values there must be an Sid somewhere :o [17:47] idoru has joined the channel [17:48] powdahound has joined the channel [17:48] r1ngzer0 has joined the channel [17:49] idoru has joined the channel [17:49] trotter has joined the channel [17:50] stepheneb has joined the channel [17:50] RobWC has joined the channel [17:50] jimmysparkle has joined the channel [17:53] rwaldron has joined the channel [17:53] Raynos: Is there way I can set up other files to be required in a 3rd party npm module [17:53] Raynos: so you can do require('moduleName/someOtherFile.js') ? [17:54] idoru has joined the channel [17:55] markdaws has joined the channel [17:55] Andeye has joined the channel [17:56] olivier has joined the channel [17:57] chjj: Raynos: i think thats inherent to any module [17:57] idoru has joined the channel [17:58] pierrooo: (I finally got my connect sid in req.cookies) [17:58] Raynos: How does it work? [17:58] chjj: Raynos: you can require('express/lib/something_else.js') [17:58] Raynos: For example I cant get it to work on my module [17:58] Raynos: ugh -.- [17:58] Raynos: I forgot I renamed src -> lib [17:58] Raynos: thats why it doesnt work [17:58] sylvinus_ has joined the channel [17:58] chjj: haha [17:58] chjj: ;p [17:58] eclifford has joined the channel [17:59] Nss_ has joined the channel [17:59] stisti has joined the channel [18:00] lzhang has joined the channel [18:00] jj0hns0n has joined the channel [18:01] hipsters_ has joined the channel [18:02] gr-eg has joined the channel [18:03] FredrIQ has joined the channel [18:04] qbit_: is there a reason that lib/module.js doesn't include places like /usr/local/lib/node_modules by default? [18:05] smathy has joined the channel [18:05] tkaemming has joined the channel [18:05] cballou has joined the channel [18:06] ryanrolds_w has joined the channel [18:06] davehamptonusa has joined the channel [18:06] sylvinus has joined the channel [18:06] davehamptonusa has left the channel [18:08] brianc1 has joined the channel [18:08] jarek has joined the channel [18:08] jarek has joined the channel [18:08] zitchdog has joined the channel [18:09] dilvie has joined the channel [18:09] jarek: why fs.watch() does not fire any events when files in subdirectories are modified? [18:10] TooTallNate has joined the channel [18:11] ryanrolds_w: jarek: Pretty sure it only works on files, not directories. [18:12] ryanrolds_w: jarek: http://stackoverflow.com/questions/5877263/monitoring-directory-for-changes-potential-high-memory [18:12] djazz has joined the channel [18:12] jarek: ryanrolds_w: http://nodejs.org/docs/v0.6.5/api/fs.html#fs.watch says "Watch for changes on filename, where filename is either a file or a directory." [18:14] ryanrolds_w: jarek: Doh, you're right. I was looking at 0.4.12 documentation. [18:15] magnetik has joined the channel [18:16] stonebranch has joined the channel [18:16] voodootikigod_ has joined the channel [18:16] Kiryaka: someone here know the socket.io protocol ? [18:17] Kiryaka: I'm trying to establish a connection using websockets, using php as a client [18:17] Kiryaka: I'm surprised that it responds "1::ÿ" when I establish a new connection [18:17] StanlySoManly has joined the channel [18:17] Kiryaka: what the fuck with the ÿ ? [18:19] vol4ok has joined the channel [18:19] spolu has left the channel [18:20] dshaw_ has joined the channel [18:20] CoverSlide: Kiryaka: https://github.com/LearnBoost/socket.io-spec [18:21] vol4ok has joined the channel [18:21] Kiryaka: didn't see anything about ÿ [18:21] dannyamey has joined the channel [18:21] Gnosis- has joined the channel [18:21] jarek__ has joined the channel [18:22] napperjabber has joined the channel [18:22] dwhittle has joined the channel [18:23] Kiryaka: CoverSlide: did you see something that I miss ? [18:24] Morkel has joined the channel [18:25] merlin83 has joined the channel [18:27] Wilson has joined the channel [18:28] xtianw has joined the channel [18:28] mikeric has joined the channel [18:28] fermion has joined the channel [18:28] brianthecoder: hey, so I deployed my app, but one end point is giving me a 500 error, but nothing is logged other than "POST /users 500 12ms" how am I supposed to debug this? [18:30] kmurph79 has joined the channel [18:30] fbartho has joined the channel [18:30] magnetik_ has joined the channel [18:30] dilvie: log more? [18:31] dshaw_ has joined the channel [18:31] dilvie: does the route work? [18:31] Aikar: turn off all your try catches :P [18:31] langworthy has joined the channel [18:31] dilvie: hahaha [18:32] Cromulent has joined the channel [18:32] isaacs has joined the channel [18:32] AvianFlu: that would make an occasionally useful command line flag [18:32] AvianFlu: --disable-all-my-try-catches-so-i-can-see-if-I'm-a-noob [18:33] CoverSlide: catch(e){if(process.env.NODE_ENV == 'development') throw e} [18:33] stepheneb__ has joined the channel [18:34] brianthecoder: dilvie: I have the logging middleware enabled for express, and the route worked locally, and no try/catch blocks [18:34] Aikar: brianthecoder: put a try catch of your own in the route [18:34] Aikar: express will try/catch the route for you [18:34] Aikar: so you need to catch it first [18:35] Aikar: this bit me once too [18:35] brianthecoder: well that's kind of annoying [18:35] cballou has joined the channel [18:36] CoverSlide: doesn't express have its own error handler? [18:36] jacobrask: Seems like ES.Next/Harmony is now in V8 [18:36] kazupon has joined the channel [18:36] jacobrask: http://src.chromium.org/viewvc/chrome?view=rev&revision=115570 [18:36] CoverSlide: which parts? [18:36] Aikar: jacobrask: behind a --harmony flag yes [18:36] CoverSlide: you could have weakmaps and proxies [18:36] Aikar: jacobrask: node --harmony foo.js [18:36] jacobrask: yeah [18:36] jacobrask: oh that works? cool [18:36] CoverSlide: with the --harmony flags [18:36] pizthewiz has joined the channel [18:36] Aikar: but in other words, not able to use them in shared modules :/ [18:37] zeade has joined the channel [18:37] gausby has left the channel [18:37] lazyshot has joined the channel [18:37] CoverSlide: but i'm not sure if it has block scoping, list comprehension, or classes [18:37] brl4n has joined the channel [18:38] brl4n has left the channel [18:38] brl4n has joined the channel [18:39] Aikar: destructured assignment is something id like to have [18:39] CoverSlide: yeah destructured assignment too [18:39] CoverSlide: or generators [18:39] TheJH: coco / coffeescript :) [18:39] rsterner has joined the channel [18:39] Aikar: pff [18:39] CoverSlide: generators i dont think i would use [18:39] TheJH: :P [18:39] Aikar: we speak javascript [18:39] CoverSlide: but destructured assignment i'm all for [18:40] Aikar: which is why I like Traceur, its still JS [18:40] Aikar: just... they sucked at the implementation [18:40] ryanrolds_w: Destructured assignment would be nice. [18:40] dylang_ has joined the channel [18:41] Aikar: and harmony proxies opens up neater implementation details [18:41] CrawfordComeaux: What's everyone's preferred client-side logging and/or exception handling library/technique? [18:41] justmoon has joined the channel [18:41] mange has joined the channel [18:41] Aikar: CrawfordComeaux: not sucking! [18:41] CoverSlide: yeah harmony proxies would be a simple way to fix the whole has thing [18:41] CoverSlide: *hash attack [18:41] brianthecoder: dilvie: so is there no real way to get node to log errors in production with express [18:42] CrawfordComeaux: Aikar: So you never have a need to handle exceptions or log stuff? ;) [18:42] Aikar: dilvie: edit your config and enable the error reporter even in production? [18:42] CoverSlide: you could have logger porint to a writeable stream [18:42] CoverSlide: and log to that same writable stream [18:42] ryanrolds_w: brianthecoder: You can, it' just a pain in the butt. [18:42] CoverSlide: *print [18:42] Aikar: CrawfordComeaux: that was a joke lol [18:43] Aikar: try { } catch (e) { alert("zomg: email me this shit!\n" + e.stack); } [18:43] bingomanatee_ has joined the channel [18:43] carlyle has joined the channel [18:43] CrawfordComeaux: Aikar: hehe I know. was waiting for you to say "nope never" so I could say what an honor it is to chat w/a statistical impossibility ;) [18:44] Aikar: haha [18:44] CrawfordComeaux: damn you for not following through with your trolling! [18:44] Aikar: loggings for weaklings. real men >> /dev/null [18:45] CrawfordComeaux: I've never been one to claim I was a real man anyway :P [18:45] brianthecoder: dilvie: I wrapped my code in it's own try catch block and still didn't get anymore details [18:45] Aikar: if a bug is reported, rewrite entire app stack, correctly! [18:45] CoverSlide: CrawfordComeaux: you're a eunuch? [18:45] CrawfordComeaux: CoverSlide: it's detachable [18:45] CoverSlide: ACTION haz pniz [18:45] CoverSlide: awesome [18:46] CrawfordComeaux: brianthecoder: got a pastebin for the snippet? [18:46] martin_sunset has joined the channel [18:46] CoverSlide: i think express has its own try/catch blocks [18:46] brianthecoder: CrawfordComeaux: https://gist.github.com/29906abc12baa6bd2913 [18:47] brianthecoder: well all I need its for the logger to give me more info than "POST /users 500 13ms" [18:48] CrawfordComeaux: I found exceptionhub.com the other day & have been going over their js file. Thinking of rolling my own based on their techniques & just uploading to node instead of paying them (being broke sucks) [18:49] lalagirl has joined the channel [18:49] CoverSlide: you'd have to make your own custom logger [18:49] greg__ has joined the channel [18:49] CoverSlide: otherwise, make your own custom error handler [18:51] CrawfordComeaux: I know. most of what they do I've seen written about here & there, but they're the only ones I've seen that consolidate all of them. Only thing that's really unique in the code that i'm interested in is their homegrown stacktrace [18:51] brianthecoder: CrawfordComeaux: see anything that jumps out [18:51] brianthecoder: ? [18:52] brianthecoder: CrawfordComeaux: will their stuff work for server side code too? (exceptionhub) [18:52] richardr has joined the channel [18:52] sylvinus has joined the channel [18:52] stdarg has joined the channel [18:52] boltR has joined the channel [18:52] steveoh has joined the channel [18:53] CrawfordComeaux: brianthecoder: maybe some of them, but most of the techniques are geared toward client-side js, like wrapping the DOM's eventListener methods & onerror [18:53] brianthecoder: CrawfordComeaux: so there's no good logging solution or error tracking for node? [18:54] CrawfordComeaux: didn't say that...just not sure what's out there [18:54] steveoh: when trying to install npm install -g jshint [18:54] steveoh: i get an error, can anyone help figure out whats up? should i paste the npm-debug.log? [18:54] isaacs: steveoh: upload it to gist or pastie [18:55] isaacs: steveoh: sounds familiar, though. i think this is an issue that's already fixed in npm latest. [18:55] stdarg has joined the channel [18:55] fangel has joined the channel [18:55] brianthecoder: CrawfordComeaux: well the fact that there's no go default solution is troublesome [18:56] steveoh: isaacs: https://gist.github.com/072abd15ba297836f472 [18:56] franciscallo has joined the channel [18:57] steveoh: npm -v = 1.1.0-beta-4 [18:57] vicapow has joined the channel [18:58] heavysixer has joined the channel [18:58] stefpb has joined the channel [18:58] steveoh: should i update? [18:59] isaacs: steveoh: npm cache clean; npm install -g npm@alpha; npm install -g jshint [18:59] isaacs: that should get you working [18:59] MrMaksim_ has joined the channel [18:59] CrawfordComeaux: brianthecoder: could always try peppering it with a few console.log()s? Also, what's going on in user.validate & user.save? got any try-catches in those? [18:59] MatthewS has joined the channel [18:59] steveoh: what's that doing isaacs [18:59] isaacs: steveoh: clean the cache, install the latest 1.1 version of npm globally, then use that to install jshint. [19:00] steveoh: npm@alpha will resolve? [19:00] isaacs: steveoh: the issue is that the jshint .npmignore file exposes a bug in 1.1.0-beta-4, which is fixed in beta-7 [19:00] CoverSlide: most platforms use a third-party vendor or external utility to log errors fully [19:00] isaacs: yeah [19:00] brianjjo has joined the channel [19:00] steveoh: ok [19:00] steveoh: is the @___ the branch? [19:00] isaacs: steveoh: welcome to the circles of hell introduced by trying to parse files full of globs ;) [19:00] CoverSlide: it's reasonable why this isn't supported ootb [19:01] isaacs: steveoh: pkg@{tag,version,range} [19:01] steveoh: ok [19:01] isaacs: steveoh: the default is to do pkg@latest [19:01] isaacs: steveoh: or whatever your "tag" config is set to [19:01] steveoh: ok [19:01] aaronmcadam has joined the channel [19:01] isaacs: npm view npm dist-tags [19:01] steveoh: do those coincide with the gitbup repo [19:01] isaacs: no [19:01] steveoh: ok [19:01] isaacs: the npm registry doesn't know anything about github. [19:02] isaacs: npm only knows a few things about github, and only if you specify it as a git repo in package.json [19:02] isaacs: but not, like, tags and branches and intricate stuff like that [19:02] steveoh: ok [19:02] CoverSlide: ok [19:02] elijah-mbp has joined the channel [19:03] frnkkpp has joined the channel [19:03] CrawfordComeaux: brianthecoder: the issue with a big-ass try-catch is that usually you'll wind up catching errors pretty far away from where they occurred, so they don't really help identify the cause. that's at least true for client-side...i'm very new to node, so unsure if it applies here, but seems likely. [19:03] zeade has joined the channel [19:03] brianthecoder: CrawfordComeaux: validate and save are provided by the orm I'm using [19:03] xSmurf has joined the channel [19:03] brianthecoder: CrawfordComeaux: I want to start broad and then narrow it down, but even the global one doesn't give me anything to go on [19:03] CrawfordComeaux: brianthecoder: what happens when you tag on "blah" to the catch's console.log? [19:04] CrawfordComeaux: just, you know...to confirm that's where the logging is occurring. (could be pointless, forgive my newbieness if so) [19:04] brianthecoder: CrawfordComeaux: k, give that a shot [19:05] niloy has joined the channel [19:05] whitman has joined the channel [19:05] zanefactory has joined the channel [19:06] redir_ has joined the channel [19:06] MrMaksimize has joined the channel [19:06] niloy: hey, can anyone tell me how to initilize using Object.create? [19:06] Heisenmink has joined the channel [19:08] bradleymeck has joined the channel [19:08] bradleymeck: anyone have a solution for compiling node addons for 0.4 and 0.6 at the same time for a single module (a bootstrap) [19:08] lalagirl has left the channel [19:08] lorfds has joined the channel [19:09] omenar has joined the channel [19:09] lalagirl has joined the channel [19:09] blueadept: would anyone know why this meta is breaking my jade template with an unexpected identifier? http://pastie.org/private/njjice3ocktqmmasqzxq [19:09] sarlalian has joined the channel [19:11] blueadept: oh no comma [19:11] blueadept: haha [19:12] kborchers has joined the channel [19:12] Simo83 has joined the channel [19:13] Simo83: !lista [19:13] Simo83 has left the channel [19:13] npa has joined the channel [19:13] CarterL has joined the channel [19:13] moneal has joined the channel [19:13] jbueza has joined the channel [19:13] Nathan_ has joined the channel [19:13] steveoh: i'm trying to build leaflet (https://github.com/steveoh/Leaflet) with jake. says to jake inside the leaflet directory. I do jake ./jakefile.js which requries uglify-js which i have installed gloabally yet it says it can't find it [19:14] nrstott has joined the channel [19:14] steveoh: https://github.com/steveoh/Leaflet/blob/master/build/build.js#L2 [19:14] JakeSays: stop doing jake. [19:14] fzzzy has joined the channel [19:14] JakeSays: he doesnt like it. [19:14] eb4890 has joined the channel [19:15] steveoh: ha [19:15] isaacs: steveoh: global installs aren't for require() [19:15] steveoh: anything obvious? [19:15] isaacs: steveoh: npm link uglify-js or npm install uglify-js [19:15] steveoh: i do npm install -g uglify-js [19:15] steveoh: like the readme says [19:16] isaacs: steveoh: yes. that's not going to make it require()-able [19:16] steveoh: oh? [19:16] isaacs: it'll make it *runnable*, like from the command line [19:16] isaacs: yeah [19:16] steveoh: oh [19:16] isaacs: require() means you have to have it locally, either as a link or as a local install [19:16] willwhite has joined the channel [19:16] MikeW has joined the channel [19:17] criswell has joined the channel [19:17] gigafied has joined the channel [19:17] steveoh: sheeze, if i do npm install uglify-js it busts [19:18] isaacs: steveoh: oh? works for me. [19:18] steveoh: spelled it wrong [19:18] isaacs: ah [19:18] isaacs: we need to get some spelling correction for package names. [19:18] andrewff1 has joined the channel [19:18] isaacs: i think dscape wrote some thing that could be helpful there. [19:18] isaacs: it'd be nice if there was a "Did you mean xxxxx" type thing when you hit a 404 [19:18] davidwalsh has joined the channel [19:19] dscape: isaacs: yup I do [19:19] dscape: but where do you want to apply it to? [19:19] tbranyen: ryah: feel better brah :( [19:19] dscape: it was doing it for npm search [19:20] dscape: isaacs: project https://github.com/dscape/spell & dictionary for npm https://github.com/dscape/spell/blob/master/test/resources/npm.json [19:20] jj0hns0n has joined the channel [19:20] tdegrunt has joined the channel [19:20] isaacs: dscape: let's say you do `npm install uglifyjs` [19:21] isaacs: that's a 404 [19:21] isaacs: because it's called `uglify-js` [19:21] mehlah has joined the channel [19:21] isaacs: dscape: it'd be nice if there was a way to look for similar matches on 404 errors. [19:21] dscape: what you do is you run spell.suggest('uglifyjs') [19:21] hipsters_ has joined the channel [19:21] dscape: if there's something it will change the search to uglify-js [19:21] CIA-109: node: 03Ryan Dahl 07v0.6 * r3452477 10/ doc/cla.html : Update address in CLA - http://git.io/cVyuZg [19:21] break57382 has joined the channel [19:21] dscape: and not give a 404 [19:21] isaacs: nono, it should still be a 404. [19:22] isaacs: but it shoudl just be more helpful in teh error [19:22] bradleymeck: ACTION wishes all the node version managers had a generic way to tell what is installed... testing each type is painful [19:22] dscape: this is what google does if you search for something stupid [19:22] isaacs: yeah [19:22] dscape: but 404 is even easier [19:22] dscape: if 404 [19:22] tbranyen: i wouldn't want that tbqh [19:22] dscape: spell.lucky [19:22] tbranyen: i'd rather know i typo'd [19:23] mange has joined the channel [19:23] dscape: isaacs: ill send you a pull request tonigh so you can evaluate it, should be easy to do [19:23] isaacs: if 404, registry.get("/-/short") to pull the list (or get from cache), then spell check on it, "Did you mean one of these? xxx, yyy, zzz" [19:23] isaacs: dscape: sure [19:23] steveoh: liek i put uglify.js instead of uglify-js [19:23] isaacs: exactly [19:23] steveoh: habit i guess [19:23] isaacs: sure [19:23] dscape: isaacs it will be a special dictionary, only comprised with package names [19:23] isaacs: steveoh: it's also a common issue with people doing socket-io instead of socket.io [19:23] reid has joined the channel [19:24] isaacs: dscape: yeah, that's what /-/short on the registry is. [19:24] isaacs: just an array [19:24] blueadept: anyone know how to force chrome to download pdfs on the server side? [19:24] isaacs: http://registry.npmjs.org/-/short [19:24] dscape: isaacs: cool. [19:24] uberbrady has joined the channel [19:24] dscape: so all package names should have the same importance? [19:24] jocafa: opinions on riak… GO! [19:24] isaacs: def wanna pull from cache if possible, though. maybe something like a month cache expiry, even. [19:25] dscape: cause a dictionary uses frequency to determine which is more likely [19:26] dscape: isaacs: ideally short would return an array of objects with package name, and weight [19:26] dscape: that would help make it more likely you suggest what people are searching for [19:26] isaacs: meh [19:26] isaacs: :) [19:26] isaacs: equal weight is fine [19:27] dscape: ok, anyway you know if you need something more sofisticated [19:27] dscape: the work is already done :) [19:27] dscape: you can actually spell a free for text [19:27] dscape: to train it to know what is more important [19:27] isaacs: right [19:28] sh1mmer has joined the channel [19:28] rgl has joined the channel [19:29] dscape: isaacs: even if you sorted this in couchdb by dependencies it would be enough [19:29] dscape: and you already have that in npmjs.org [19:29] dscape: cause when adding I can just do spell.add_word(w, i); [19:31] isaacs: dscape: yeah, that's more complicated. [19:31] `3rdEden has joined the channel [19:31] isaacs: dscape: maybe this could live in the couchapp or something. registry.npmjs.org/-/suggest/uglify.js [19:32] jxson has joined the channel [19:32] isaacs: and that could be a view with some fanciness. [19:33] eb4890 has joined the channel [19:33] mange has joined the channel [19:33] CrawfordComeaux: brianthecoder: any luck? [19:33] Gnosis- has left the channel [19:33] insin: anyone know of any tumblelogs written with node? [19:33] brianthecoder: CrawfordComeaux: yeah, figured it out thanks, sorry got sidetracked with other stuff [19:34] CrawfordComeaux: what was the issue? [19:34] CrawfordComeaux: and was the big try-catch where the logging was happening? [19:34] brianthecoder: CrawfordComeaux: my version of the orm was cached to an older version [19:34] hswolff has joined the channel [19:35] brianthecoder: so I was using a method that had just been added [19:35] brianthecoder: so just nuked node_modules and re-ran npm install [19:35] crun4h has joined the channel [19:35] CrawfordComeaux: how'd you figure that out? [19:35] Poetro has joined the channel [19:36] lz1 has joined the channel [19:36] jocafa: CrawfordComeaux: now that's a last name i haven't seen in a while... [19:36] rurufufuss has joined the channel [19:37] dscape: isaacs: that would be slower cause of the requests per word, which means cache per word [19:37] crun4h: Hey guys, hope someone can help me, got the following error while running ./configure with node version 0.6.6 on ArchLinux [19:37] crun4h: Traceback (most recent call last): [19:37] crun4h: File "/home/flo/Downloads/node-v0.6.6/tools/waf-light", line 157, in [19:37] crun4h: import Scripting [19:37] crun4h: File "/home/flo/Downloads/node-v0.6.6/tools/wafadmin/Scripting.py", line 146 [19:37] crun4h: except Utils.WafError, e: [19:37] crun4h: ^ [19:37] crun4h: SyntaxError: invalid syntax [19:37] andrei has joined the channel [19:37] uchuff has joined the channel [19:37] CoverSlide: crun4h: it's because python3 is the default [19:37] isaacs: crun4h: that's a python error. what does python --version report? [19:37] CoverSlide: here's what I do [19:37] isaacs: oh, sure. [19:38] isaacs: CoverSlide's got it :) [19:38] crun4h: isaacs: 3.2.2 [19:38] dylang has joined the channel [19:38] CoverSlide: ln -nsf `which python2` $HOME/bin/python [19:39] CoverSlide: and $HOME/bin comes before /usr/bin in my path [19:39] CrawfordComeaux: jocafa: we cajuns are rarely seen outside of our natural habitat... [19:39] jxson has joined the channel [19:39] jocafa: CrawfordComeaux: truth. [19:39] jocafa: ACTION = cajun [19:39] CoverSlide: otherwise you'd have to sed the build scripts [19:39] vdemedes has joined the channel [19:39] isaacs: CoverSlide, crun4h: make sure to `hash -r` after creating that link :) [19:39] jocafa: in utah, of all places. [19:39] vdemedes: Good evening! [19:40] CrawfordComeaux: the isolationism we've practiced since we arrived in the swamps is what's led to our restricted biological/cultural gene pools [19:40] jocafa: hehe [19:40] crun4h: CoverSlide: isaacs: Alright, thanks. will test it :) [19:40] steveoh: ACTION is in utah [19:40] CrawfordComeaux: my theory: those restricted pools are why the food/music is so unique, women so hot & certain genetic disorders so prevalent [19:41] jocafa: steveoh: orly? i'm in provo. [19:41] CoverSlide: crun4h: http://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/nodejs [19:41] steveoh: slc [19:41] jocafa: born in lafayette, la :) [19:41] CoverSlide: ^ you can also do that [19:41] steveoh: pittsburgh pa [19:42] steveoh: a/s/l :) [19:42] jstonne has joined the channel [19:42] CoverSlide: in the build(){ part [19:42] jocafa: haha [19:42] stepheneb has joined the channel [19:42] Mashed has joined the channel [19:43] piscisaureus_ has joined the channel [19:44] CrawfordComeaux: jocafa: born, raised & currently living in LFT! [19:44] maushu has joined the channel [19:44] boltR has joined the channel [19:45] jocafa: i escaped lft about 10 years ago ;) [19:45] dcollison has joined the channel [19:45] jocafa: well, carencro. [19:45] CrawfordComeaux: yeah...I've escaped, returned, escaped, returned. [19:45] sylvinus has joined the channel [19:45] jocafa: hehe [19:46] CrawfordComeaux: Planning my final escape as soon as I succeed/fail at proving that Lafayette is the prime spot in the US for building a super-low cost startup. [19:47] jocafa: i wish you luck sir. there was no web tech industry there to speak of when i left. [19:47] jocafa: to make a decent living, it was either oil or medical, neither of which i had any interest in [19:48] crun4h: isaacs, CoverSlide: thanks for your help and time, works now ;) [19:48] sj has joined the channel [19:48] CrawfordComeaux: there kind of is now, but it's more about all the other resources. the talent pool isn't really conduscive to startups, what with all the babymaking everyone does in their 20s :/ [19:48] jocafa: true that [19:48] braoru has joined the channel [19:48] akter has joined the channel [19:48] CrawfordComeaux: thinking that if you want to staff a startup, you're either going to have to pull from the university or hire from elsewhere [19:48] CrawfordComeaux: so where you at now? [19:49] jocafa: a lot of my cousins out there are single moms [19:49] jocafa: provo, ut [19:49] vdemedes: CrawfordComeaux: you're starting startup? [19:49] MatthewS has joined the channel [19:49] jocafa: yeah what's the nature of your startup? [19:49] brianc1 has joined the channel [19:49] CrawfordComeaux: Utah? that's better than here? [19:50] jocafa: dude. mountains. four seasons. no humidity. [19:50] jocafa: no cajun food :( [19:50] jocafa: (except at my house) [19:50] CrawfordComeaux: yeah...I meant culturally. I'm sure the scenery's awesome [19:50] jocafa: culturally? white bread. [19:50] jocafa: bland [19:51] jocafa: slc is a bit more colorful [19:51] kadiks has joined the channel [19:51] jocafa: but utah valley is pretty bland [19:51] CrawfordComeaux: vdemedes: mobile/web app to make presentations suck less by helping speakers know their audience better in different ways & allowing attendees to better interact/connect w/others & speakers [19:52] eastc: what is the difference between an ODM/ORM or a driver for mongodb with node? anyone know? [19:52] kadiks: hi, I don't know anything about Linux so, is NodeJS (and NPM) can be installed on any linux distributions ? [19:52] vdemedes: CrawfordComeaux: sounds interesting! Do you have website, so I can get more info? [19:52] dilvie: culturally, slc and utah valley are both pretty bland, but SLC definitely has a lot more flavor than Utah Valley. [19:52] vdemedes: kadiks: yep, almost [19:52] isaacs: kadiks: yes [19:52] davetayls has joined the channel [19:53] isaacs: kadiks: download the source, ./configure && make && sudo make install [19:53] kadiks: vdemedes, almost, which means, what kind of distributions doesn't work ? [19:53] isaacs: kadiks: http://nodejs.org/ [19:53] dilvie: <-- originally from Utah [19:53] CrawfordComeaux: vdemedes: busting my ass on the prototype right now, actually, but you can always sign up for info - http://www.audienceamp.com [19:53] isaacs: kadiks: you may run into issues if you have python3 instead of python2 by default [19:53] jocafa: utah valley = water. slc = kool-aid [19:53] isaacs: kadiks: but that's the only system dependency. [19:53] sj: utah valley is scary [19:53] kadiks: yeah I did it on ubuntu and Centos, but I needed to do it on a small distro to be on a USB [19:53] sj: i don't go there unless i have to [19:53] kadiks: alright, thanks a lot :-D [19:54] jocafa: sj: but the people are oh-so-fun to mess with [19:54] davetayls has joined the channel [19:54] jocafa: and it doesn't take much [19:54] sj: i can't get passed the religious culture [19:54] Mashed has joined the channel [19:54] vdemedes: CrawfordComeaux: why did you use LaunchRock? It sucks, never get attracted to these kinds of "template" things [19:55] jocafa: especially as a long-haired scruffy dude living just outside of byu campus ;) [19:55] lalagirl has joined the channel [19:55] lalagirl has joined the channel [19:55] dilvie: sj: Utah Valley has no diversity. Nearly everybody is white, mormon, and quite a few of them have never lived anywhere except their little Utah Valley bubble. [19:55] CrawfordComeaux: vdemedes: started working on this during a startup weekend event & I'm a shit designer [19:55] sj: dont' get too close with a beard or flip flops or you'll get a ticket [19:55] magnetik__ has joined the channel [19:55] sj: ok i'm done [19:55] sj: :) [19:55] sj: back to topic [19:55] dilvie: beards and flip flops won't get you a ticket, but they will get you kicked off BYU campus. =) [19:56] McMAGIC--Copy has joined the channel [19:56] jocafa: it was fun having bright red hair when i was dating a zoobie. picking her up on campus always got fun looks [19:56] CrawfordComeaux: I've got a WP site setup w/a theme for showing off apps, but I'm trying to get prototype ready for a conference in 20 days, so no time to futz w/site right now [19:56] dilvie: jocafa: I would never date a zoobie. [19:56] dilvie: =) [19:56] jocafa: CrawfordComeaux: prototype faster! [19:56] jocafa: note: dated. did not marry. hehe [19:57] vdemedes: CrawfordComeaux: what tech do you use? [19:57] jocafa: disclosure: i'm LDS [19:57] arcanis has joined the channel [19:57] jetienne has joined the channel [19:57] mashed-deux has joined the channel [19:57] mikeal has joined the channel [19:57] jocafa: jetienne: get back to #three.js! [19:57] crun4h: isaacs: i am not sure about that, but wouldn't it be nice to add this python3 error solution to the installation wiki on github ? Because there is only: [..]you should only need two things: python - version 2.5 or higher. [..] [19:58] jetienne: jocafa: hey [19:58] jocafa: ACTION waves [19:58] isaacs: crun4h: yes. [19:58] isaacs: crun4h: patch, please. :) [19:58] nrstott: what's a zoobie [19:58] dilvie: zoobie = BYU student. [19:58] isaacs: crun4h: sign the cla, fork, update, pull req [19:58] jocafa: zoobie = byu student… byu = "bee why zoo" [19:59] CrawfordComeaux: vdemedes: building this iteration on node, mongoose, socket.io, express and jquery/jq mobile on client side [19:59] crun4h: isaacs: ok, will do [19:59] isaacs: :D [19:59] vdemedes: vdemedes: I'd recommend mongoskin as a MongoDB driver [19:59] crun4h: isaacs: got not one working nodejs program, but already a patch :) [20:00] Kopion has joined the channel [20:00] dilvie: The primary draw of BYU is that it's a Mormon school. Most of the students are Mormon. I wouldn't date a Mormon (just because of differences in religious belief, and the culture implications of being a non-member in a marriage with a devoted member -- read, you get left out of a lot of things that your spouse would consider extremely significant). [20:00] moneal has left the channel [20:01] dilvie: there are basically two choices: convert (either you convert to mormonism, or they convert to inactivity), or break up. [20:01] te-brian has joined the channel [20:01] nrstott: most mormons ive met aren't super into their religion and dont really care if you are into religion or not [20:02] dilvie: nrstott: You obviously haven't spent a lot of time around Zoobies. =) [20:02] admc has joined the channel [20:02] nrstott: I've never been to Utah :) [20:02] dilvie: nrstott: that explains it. =) [20:03] CoverSlide: the thing i don't get about mormons [20:03] CoverSlide: is why the fuck people watched shaytards [20:03] dilvie: jocafa: Considering that you're LDS, it would be a lot easier for you to date a Zoobie. ;) [20:03] stepheneb_ has joined the channel [20:04] __tosh has joined the channel [20:04] xtianw has joined the channel [20:05] colinclark_ has joined the channel [20:05] fermion has joined the channel [20:05] theycallmeswift has joined the channel [20:05] neurodrone has joined the channel [20:06] dubenstein has joined the channel [20:06] wenger has joined the channel [20:07] wenger: I've got a very simple udp sender(client) and receiver(server) that works fine on ubuntu but not on mac - is there anything special about udp on mac? [20:07] blup has joined the channel [20:07] blup_ has joined the channel [20:07] jedw has joined the channel [20:07] insin: rounded corners [20:08] mikedeboer has joined the channel [20:08] josh-k_ has joined the channel [20:09] CoverSlide: magic? [20:10] Morkel has joined the channel [20:11] vdemedes has left the channel [20:11] rgl has joined the channel [20:14] BrianE has joined the channel [20:17] Sir_Rai has joined the channel [20:20] shinuza has joined the channel [20:20] Provito has joined the channel [20:21] mikeal has joined the channel [20:23] mattgifford has joined the channel [20:23] madhums has joined the channel [20:23] V1 has joined the channel [20:26] vol4ok has joined the channel [20:28] erichynds: does anyone who's familiar with forever happen to know when a 0.6.x compatible version will be released? [20:28] Cromulent has joined the channel [20:28] stagas has joined the channel [20:28] c4milo has joined the channel [20:28] tbranyen: damnit can't make a duke nukem forever joke anymore [20:29] CrawfordComeaux: forever isn't compatible w/0.6.x? [20:29] wingie has joined the channel [20:30] erichynds: CrawfordComeaux: https://github.com/nodejitsu/forever/commit/2ac04593343a989b6871fa800a80074c0cf47eb7 [20:30] adrianmg has joined the channel [20:31] jbpros has joined the channel [20:31] CoverSli1e has joined the channel [20:32] mange has joined the channel [20:33] dylang_ has joined the channel [20:34] bLiNdRaGe has left the channel [20:34] catshirt has joined the channel [20:35] CrawfordComeaux: hmmm [20:36] adrianmg has left the channel [20:36] CoverSlide has joined the channel [20:37] tjfontaine: tbranyen: you can make the joke, it just actually has a bounded time on it now [20:37] chjj: https://github.com/v8/v8/commit/0a9c3fb1b51d501c5ad0ed71bf88faca1edf0697 [20:38] chjj: very nice [20:38] tbranyen: tjfontaine: lol [20:38] tbranyen: chjj: fuck yes [20:38] tbranyen: thank god [20:38] NHQ has joined the channel [20:39] chjj: :) [20:39] NHQ: javascript question: why does this lil guy fail https://gist.github.com/1562012 [20:39] christkv has joined the channel [20:40] chjj: NHQ: it failed because you extended the object prototype like an evil person [20:41] fangel_ has joined the channel [20:41] insin: ^ throw new ThatsPureEvilComingOutTheBackOfYouError() [20:41] chjj: NHQ: in all seriousness, you have the special toJSON function calling JSON.stringify [20:41] chjj: and then calling it, and then it calls toJSON, JSON.stringify, ad infinitum [20:42] chjj: NHQ: in other words, you shouldnt name it toJSON [20:42] NHQ: @chjj thats it? [20:42] NHQ: the name? [20:43] chjj: NHQ: yes [20:43] tjfontaine: that's a common recursion error without a base case in otherwords :) [20:43] chjj: NHQ: i would say dont extend the object prototype in the first place though, that way lies damnation [20:43] chjj: ;p [20:44] NHQ: but [20:44] chjj: is cat bot in here? [20:44] chjj: .. 1 [20:44] chjj: hmmm [20:44] NHQ: cat bot yr tongues? [20:45] tjfontaine: NHQ: what happens in your code if JSON.stringify calls toJSON on the passed argument? [20:45] chjj: NHQ: try just typing JSON.stringify({toJSON: function() { return 'hello'; }}) into the repl [20:45] chjj: and youll see why [20:45] Sorella has joined the channel [20:45] NHQ: i changed the name of the function and the same error I got [20:46] NHQ: Object.prototype.jbob = ... [20:47] tjfontaine: there's something more going on here you're not telling us [20:47] chjj: NHQ: i dont get that at all when i change the name of the function [20:47] NHQ: hm [20:47] chjj: heres what i get: {"a":1} [20:47] Sorella_ has joined the channel [20:47] chjj: exactly what i should get [20:48] tjfontaine: same here [20:48] NHQ: hm [20:48] NHQ: ya'll right [20:48] heavysixer has joined the channel [20:48] tjfontaine: and if I change to toJSON I immediately see the stack overflow [20:48] NHQ: i started a new repl and it worked fine [20:48] charlenopires has joined the channel [20:49] tjfontaine: ya you'd have to unset the previous .toJSON [20:49] NHQ: where is toJSON defined anyway? [20:50] xtianw has joined the channel [20:50] insin: stringify looks for it and uses it if available [20:50] tjfontaine: NHQ: without really knowing the answer, I'm going to guess that json.stringify looks to ssee if it's defined [20:51] tjfontaine: if (obj.toJSON) { return obj.toJSON(); } else { //do werk son } [20:52] mikeric has joined the channel [20:52] nodenewbie has joined the channel [20:54] hz has joined the channel [20:54] rgl has joined the channel [20:54] CoverSlide: > 1 [20:54] CoverSlide: .. 1 [20:54] CoverSlide: v8: 1 [20:55] CoverSlide: wtf [20:57] fairwinds has joined the channel [20:57] pifantastic has joined the channel [20:58] wtfizzle has left the channel [20:59] robhawkes has joined the channel [21:00] criswell has joined the channel [21:00] AndreasMadsen: .. [0] == ![0] [21:00] Vennril has joined the channel [21:00] AndreasMadsen: bot is down [21:01] ccare has joined the channel [21:02] mmalecki: my bot was kinda cool [21:02] mmalecki: some node modules, etc. [21:02] snearch has joined the channel [21:03] arcanin has joined the channel [21:03] HardPhuck has joined the channel [21:03] Heisenmink has joined the channel [21:04] megalomix has joined the channel [21:04] crodas has joined the channel [21:04] megalomix: hello [21:05] megalomix: guys, how to understand if a function is async ? [21:05] megalomix: i'm using MYSQL module [21:05] megalomix: when I do mysql.query("", function()) [21:05] megalomix: do it it async do i have to use process.NextTick() [21:05] megalomix: or it is already async? [21:05] socketio\test\55 has joined the channel [21:06] bnoordhuis: megalomix: it gets called asynchronously [21:07] megalomix: bnoordhuis, how to understand it? [21:07] megalomix: do i have to use if i have to pass a function ? [21:07] megalomix: if there is not a function it is sync ? [21:07] bnoordhuis: megalomix: synchronous functions return a result [21:08] bnoordhuis: e.g. var rowset = mysql.query("SELECT 1") [21:08] bnoordhuis: asynchronous functions take a callback that's invoked once the result is ready [21:08] bnoordhuis: e.g. mysql.query("SELECT 1", function(rowset) { ... }) [21:08] megalomix: perfect! [21:09] xer0x has joined the channel [21:09] bnoordhuis: process.nextTick() is for when you have a function that does some long-running computation that you want to slice in pieces [21:09] snearch has joined the channel [21:09] bnoordhuis: e.g. process.nextTick(find_next_20_primes) [21:10] jj0hns0n_ has joined the channel [21:10] igl has joined the channel [21:11] snearch has joined the channel [21:11] jj0hns0n_ has joined the channel [21:15] megalomix: bnoordhuis, perfect...thank you! [21:15] bnoordhuis: megalomix: my pleasure [21:15] mraleph has joined the channel [21:15] p1d has joined the channel [21:16] richardr has joined the channel [21:16] voodootikigod__ has joined the channel [21:16] devongovett has joined the channel [21:17] danraz_w_ has joined the channel [21:18] danraz_w_: guys, I have a basic export question [21:18] danraz_w_: if I do exports.bob = 'bob' [21:18] danraz_w_: in another file, I can do var b = require('./moduleName); console.log(b.bob); [21:18] danraz_w_: BUT [21:19] danraz_w_: if I do exports.conf = { prop1: 'someValue', prop2: 'anotherValue' }; [21:19] danraz_w_: I cant do in my other file [21:19] danraz_w_: b.conf [21:19] danraz_w_: how come? [21:19] zanefactory has joined the channel [21:19] clarkfischer: er, you should be able to. [21:19] danraz_w_: says cannot read property 'conf' of underfined [21:20] danraz_w_: *undefined [21:20] clarkfischer: are you sure there isn't a syntax error? [21:20] dinarcon has joined the channel [21:20] clarkfischer: try node moduleName.js [21:20] clarkfischer: shouldn't have any output [21:20] stdarg: I believe circular references are problem in node with require statements. [21:20] clarkfischer: er, there isn't a circular reference there? [21:20] danraz_w_: not yet :-) [21:21] danraz_w_: you're probably right -- I'll look for some odd syntax error [21:23] MatthewS has joined the channel [21:25] chadskidmore has joined the channel [21:26] mikeal has joined the channel [21:27] colinclark_ has joined the channel [21:27] jimmysparkle has joined the channel [21:27] `3rdEden has joined the channel [21:28] pluc has joined the channel [21:29] kmurph79 has joined the channel [21:29] fermion has joined the channel [21:29] shapeshed has joined the channel [21:29] lalagirl has left the channel [21:32] koo3 has joined the channel [21:32] mara has left the channel [21:33] mikeric has joined the channel [21:33] fangel has joined the channel [21:33] springmeyer has joined the channel [21:33] skyler_brungardt has joined the channel [21:35] N0va` has joined the channel [21:36] shinuza has joined the channel [21:37] eignerchris has joined the channel [21:39] nicholasf has joined the channel [21:39] _dc has joined the channel [21:41] euoia has joined the channel [21:42] mAritz has joined the channel [21:43] pagewil has joined the channel [21:43] pagewil: Hey anyone here have experience with NVM [21:43] pagewil: ? [21:43] torm3nt has joined the channel [21:44] upstream has joined the channel [21:45] pagewil: I am trying to run a shell script remotely but without a proper ssh login 'node' and 'npm' enviroment variables return 'not found' [21:45] isaacs: pagewil: probably the PATH environ is not being set [21:45] upstream: tell me if this is crazy: a server to server communication / comet server where the first server is available online at port 80 and the other server is not exposing anything to the internet (eg not listening on any ports but just opens a http request keep-alive to the first server) .... is that possible or something like it? [21:45] isaacs: pagewil: ssh host 'echo $PATH' <-- that should tell you what it sees. [21:46] pagewil: I have the following code in my ~/.bashrc file [21:46] pagewil: : [21:46] upstream: like socket.io does server to browser but want to do this with server to server [21:46] pagewil: . ~/.nvm/nvm.sh [21:46] pagewil: nvm use v0.6.6 [21:46] mAritz1 has joined the channel [21:46] t0mmyvyo has joined the channel [21:47] pagewil: @isaacs I am trying to run a simple shell script attached to a git hook [21:48] pagewil: @isaacs so that when I push to my server I can npm install and do other deployment stuff [21:48] magnetik_ has joined the channel [21:49] dshaw_1 has joined the channel [21:50] anubhaw has joined the channel [21:50] richardr has joined the channel [21:52] pagewil: @isaacs /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games [21:52] lorfds has joined the channel [21:52] catshirt has joined the channel [21:53] zeade has joined the channel [21:53] blup has joined the channel [21:53] blup_ has joined the channel [21:54] jenner has joined the channel [21:55] jenner: heya [21:55] jenner: guys, is there some way to isolate a possible memory leak in a node app? [21:56] tbranyen: jenner: maybe with valgrid [21:56] tbranyen: valgrind*, might help [21:56] dylang has joined the channel [21:56] ryah: valgrind will not help for js layer leaks [21:56] ryah: jenner: you should use node-inspector and take a few heap snapshots [21:56] pifantastic has joined the channel [21:57] bartt has joined the channel [21:57] ryah: jenner: see if you can find out of a certain type of object is growing in number [21:57] sanand has joined the channel [21:57] tbranyen: ryah: true unless the leak exists inside a native module [21:57] dwhittle has joined the channel [21:57] crun4h: pagewil: try "which node" on your remote server. (without the quotes) [21:58] amigojapan has joined the channel [21:58] jenner: ryah: thanks [21:59] devongovett has joined the channel [21:59] wenger: @upstream - so are you trying to proxy the data from the outside to the second server or just communicate between two servers? [22:00] StanlySoManly has joined the channel [22:00] upstream: wenger: communicate between two servers, although the second server cannot be exposed to the internet via - it can only make requests via Node to outside servers. [22:01] joshgillies has joined the channel [22:01] upstream: in other words server 2 can't expose itself due to firewall, etc [22:01] kadiks has joined the channel [22:02] larsschenk has joined the channel [22:02] upstream: so server 2 could just constantly be asking server 1 if it has anything new and when it does it gets it, like long-polling ... but i'm not sure [22:03] Renegade001 has joined the channel [22:04] Aria has joined the channel [22:04] shapeshed_ has joined the channel [22:04] upstream: fyi these 2 servers are on different physicall machines / networks [22:05] Renegade001_ has joined the channel [22:05] Brandon_R has joined the channel [22:05] Brandon_R: Does anyone have any learning material on how to use libuv? [22:05] tdegrunt has joined the channel [22:06] bingomanatee__ has joined the channel [22:07] nakkor has joined the channel [22:07] spohnan has joined the channel [22:07] Mattec has joined the channel [22:07] Brandon_R: Does anyone have any learning material on how to use libuv? [22:08] mehlah has joined the channel [22:10] spohnan has left the channel [22:10] CoverSlide: there is zero documentation [22:11] Brandon_R: ahh [22:11] EuroNerd has joined the channel [22:11] Brandon_R: i tried looking at the node src code to see how its used but it looks obfuscated with all the node stuff [22:12] mAritz has joined the channel [22:12] mraleph has joined the channel [22:12] bnoordhuis: CoverSlide: that's job security for you [22:13] mAritz2 has joined the channel [22:13] bnoordhuis: Brandon_R: have a look at the files in test/ [22:13] Brandon_R: bnoordhis lol true [22:13] socketio\test\20 has joined the channel [22:13] Brandon_R: found a video but it looks old - http://vimeo.com/24713213 [22:13] bnoordhuis: yeah, ancient [22:14] bnoordhuis: if you have questions, just ask them [22:14] socketio\test\29 has joined the channel [22:15] wenger: @upstream - could you just use TCP sockets between the two - there really is no need for socket.io since you can listen on both sides - and if you need it sessionless you could use UDP [22:15] tmcw has joined the channel [22:16] tmcw: Hey, what's the current 'best' postgres client for node? [22:16] tmcw: Not having very good luck with pq [22:17] Joel has joined the channel [22:17] richardr has joined the channel [22:17] tmcw: *pg, that is. [22:18] akter has joined the channel [22:18] CoverSlide: afaik, pg is the standard [22:18] CoverSlide: if it's buggy, it's buggy [22:18] CoverSlide: but it's also open source [22:18] CoverSlide: so, if it's broke, it can be fixed [22:19] upstream: wenger: utilizing TCP or UDP how could server1 send a message to server2 when server2 is not able to bind to any port? [22:19] tmcw: Indeed, was just wondering if there was an alternative that didn't require 5pm bugfix mode [22:19] tmcw: I'll be braver tomorrow morning, I guess. [22:19] madhums has joined the channel [22:19] ngoodman has joined the channel [22:20] Jach_w has joined the channel [22:22] nvoyager has joined the channel [22:23] mikeal has joined the channel [22:23] erichynds has joined the channel [22:24] Sami_ZzZ_ has joined the channel [22:24] CrawfordComeaux has joined the channel [22:24] kmurph79: using socket.io and express, how would I enable others, connected via the same router, to connect to my app via my private IP? (right now it just displays 'connecting to the socket.io server') [22:24] upstream: ok, i'll simplify. How can I open a constant http connection to a server from NodeJS? [22:24] wenger: @upstream: well I was assuming you'd do something like set the 2nd server behind and firewall and just allow single port/single ip communications between the two but that you could still bind to a port on the second server - just not one that is exposed to the internet - that would be the easy way I think [22:25] cmr: kmurph79: They should be able to just connect, assuming you aren't listening on localhost [22:25] CrawfordComeaux_ has joined the channel [22:26] booo has joined the channel [22:26] kmurph79: cmr: thanks. how would i listen on something other than localhost? [22:27] cmr: kmurph79: listen on 0.0.0.0, generically [22:27] CoverSlide: most methods will do that if you omit the hostname parameter [22:28] cmr: All the good ones ;) [22:28] fermion has joined the channel [22:28] blueadept: what's the best way to stream a pdf through readStream().pipe(res) ? [22:29] monteslu has joined the channel [22:29] fzzzy has joined the channel [22:29] CrawfordComeaux has joined the channel [22:29] monteslu: looking for an XML dom parser, but can only find SAX ones in npm. Anyone know of one? [22:30] monteslu: basically just looking to convert an xml string to a json object [22:30] upstream: monteslu: https://github.com/Leonidas-from-XIV/node-xml2js [22:30] jxson_ has joined the channel [22:31] jhooks has joined the channel [22:31] tdegrunt_ has joined the channel [22:31] monteslu: upstream, thanks! [22:31] upstream: monteslu: also if you want to go from JSON to XML afterwards I have a script for it: https://gist.github.com/1495793 [22:31] upstream: (only works with json objects built with node-xml2js) [22:32] monteslu: cool [22:33] stelleg1 has joined the channel [22:34] Cromulent has joined the channel [22:35] Jach_w: Has anyone had the problem of nodejs locking up the cpu on startup, stuck at v8::internal::Assembler:: push(v8::internal::Register) () ? [22:37] drudge has joined the channel [22:37] monteslu: upstream, should parser.parseString('') give me back a JS object representing the full dom? [22:38] monteslu: the examples are reading a file [22:39] CarterL has joined the channel [22:39] wenger: upstream: you can 1) use socket.io-client running in node on one of the servers or 2) open the communication and continue to feed content down the response with response.write and don't close the response - the keep alive is automatic [22:39] upstream: I think in that example it would give you a JS object like {"t":""}, if you want the first node you need to pass an option to parser [22:40] criswell has joined the channel [22:40] upstream: monteslu: var parser = new xml2js.Parser({explicitRoot: true}); [22:41] upstream: monteslu: I haven't tried just passing a string but I bet it works [22:42] isaacs: monteslu: you seen xml2js? [22:42] upstream: wenger: Thanks for the tips, I think i'll try both options and see which performs best [22:42] monteslu: isaacs, trying it now :) [22:43] versicolor_ has joined the channel [22:44] monteslu: the object returned is kinda complex [22:45] isaacs: monteslu: yeah [22:45] isaacs: xml is kind of complex, unfortunately [22:45] isaacs: since you have attribs, and innertext, and child tags [22:45] isaacs: it's not really a 1:1 semantic match to json [22:45] isaacs: (or any object structure for that matter) [22:46] monteslu: isaacs, its not, but I've done this in php and java [22:46] isaacs: monteslu: if you look at the source of xml2js, it's really pretty simple [22:46] isaacs: i bet you could whip something decent out in the time it'd take to figure out how to use something else ;) [22:46] wenger: upstream: np [22:46] monteslu: haha [22:46] isaacs: (and now you know why there are so many node modules) [22:46] isaacs: :) [22:46] rgl has joined the channel [22:46] monteslu: might just need a toJSON() method on the retured object [22:47] upstream: like json_encode / json_decode from PHP land? [22:48] upstream: monteslu: I did a bit of looking at various libs for XML to JSON and felt that xml2js was the best option [22:48] monteslu: upstream, something like that [22:48] JarrodBell has left the channel [22:48] monteslu: thought the php one had its own bugs [22:48] Emmanuel` has joined the channel [22:48] monteslu: like not going deep enough into the object without manual intervention [22:49] upstream: monteslu: yeah, I know exactly what you're talking about there haha [22:49] monteslu: but the java one, i used was from json-lib and worked pretty well [22:49] upstream: if your XML doesn't have attributes the JS object will be semi normal looking ;) [22:50] gmcerveny has joined the channel [22:50] warz has joined the channel [22:50] warz has joined the channel [22:50] upstream: but like isaacs said you can't really get around having weird stuff when you convert from XML to JS [22:50] monteslu: well, my little example became 514 characters of json :) [22:50] tonymilne has joined the channel [22:50] `3rdEden has joined the channel [22:50] cce__ has joined the channel [22:52] heavysixer has joined the channel [22:52] eeemsi_: isaacs: where does all that invalid json come from during a replication of your registry? [22:53] isaacs: monteslu: https://gist.github.com/1562654 [22:53] isaacs: monteslu: what's your little example? [22:53] monteslu: ooh, 514 characters and only the top level object. Thinking I'm gonna need to write recursive code [22:53] monteslu: isaacs, JSON.stringify(parser.parseString('')) [22:54] isaacs: monteslu: parseString returns the parser, not the result [22:54] monteslu: ahh, ok [22:54] isaacs: monteslu: JSON.stringify(parser.parseString('').resultObject) [22:55] buu has joined the channel [22:55] monteslu: isaacs, resultObject is undefined [22:55] isaacs: orly? [22:56] isaacs: monteslu: oh, i guess it's not set right away [22:56] isaacs: i dno't really know how to use xml2js ;) [22:56] isaacs: just kinda hack around with it whenever i need something quick and dirty [22:56] monteslu: oh, needs another callback or something maybe? [22:56] isaacs: this works: https://gist.github.com/1562654 [22:56] mikeal has joined the channel [22:56] isaacs: call parser.parseString, and then p.resultObject should be set. [22:57] isaacs: but i guess it's not set on the return value? i dunno whay [22:57] monteslu: yeah, not set. I'm doing the same as your gist [22:57] jj0hns0n has joined the channel [22:57] brianseeders has joined the channel [22:58] tjbell has joined the channel [23:00] teadict: who's using https://github.com/OptimalBits/node_acl ? [23:00] Guest57368 has joined the channel [23:01] mraleph has joined the channel [23:01] Drakonite2 has joined the channel [23:02] Drakonite has joined the channel [23:02] teadict: also, what the heck is Redis? [23:02] christkv has joined the channel [23:02] upstream: whynot just listen for the 'end' event? [23:02] tvw has joined the channel [23:02] teadict: upstream: you talking to me? [23:03] upstream: parser.on('end', function(result) { JSON.stringify( result ); }); [23:03] teadict: oh you are not [23:03] upstream: sorry, teadict was talking to monteslu [23:03] joshsmith has joined the channel [23:04] secoif has joined the channel [23:04] secoif has joined the channel [23:05] steveoh has joined the channel [23:06] hackband has joined the channel [23:06] gamera has joined the channel [23:07] djazz has left the channel [23:07] teadict: wait, I think I went over my head... [23:08] aGHz has joined the channel [23:08] teadict: I want to be able to set permissions for groups and users and roles in my app.. classic behavior [23:08] teadict: I'm willing to start doing it to just requests, then move on to specific resources [23:09] teadict: so, I looked up Access Control Lists.. found node_acl... [23:09] teadict: node_acl uses node_redis... I don't even know what redis is [23:09] teadict: so I think I don't even need to use node_acl for what I want (setting permissions to routes) [23:10] mdel has joined the channel [23:15] ismell has joined the channel [23:17] michaelhartau has joined the channel [23:18] dylang_ has joined the channel [23:19] powdahound has joined the channel [23:19] jj0hns0n has joined the channel [23:19] jamescarr has joined the channel [23:20] jamescarr: anyone got a good example of streaming a file to download via express with content-disposition? [23:20] relix: hey, what do you guys suggest to do unit tests in node.js? [23:20] relix: nodeunit or something else? [23:20] jamescarr: relix, mocha [23:21] ismell has joined the channel [23:21] relix: jamescarr: looks good [23:22] relix: thanks [23:22] teadict: what do I use for groups/roles/users? [23:23] ambroff has joined the channel [23:23] k1ttty has joined the channel [23:25] mikeric has joined the channel [23:25] break57382 has joined the channel [23:26] Shaunzie has joined the channel [23:26] upstream: teadict: seems more of an architecture question than node specific, there are a lot of possible solutions you could engineer [23:26] teadict: so I should just take care of it myself? [23:27] upstream: teadict: you'll have to roll your own or use a module, i'm not sure that node provides ACL out of the box [23:27] teadict: didn't find any [23:27] upstream: teadict: are you using express? [23:27] teadict: yes [23:27] stonebranch has joined the channel [23:28] jamescarr: any idea what the issue would be if you tried to readStream.pipe(writeStream) and got [23:28] jamescarr: TypeError: Cannot call method 'length' of undefined [23:28] eeemsi_: isaacs: is it possible that everyone who replicates your registry runs into https://issues.apache.org/jira/browse/COUCHDB-1176 ? [23:28] upstream: teadict: there are some basic user permissions examples for express on the homepage, you could start by extending that to include groups based permissions or other [23:29] isaacs: eeemsi_: a jira access restriction….? [23:29] teadict: upstream: yes, using that doc was plan B.. thanks.. I'll go that road then.. also, I'll use MySQL, would you recommend this ORM? https://github.com/sdepold/sequelize [23:29] upstream: teadict: redis is a key:value store (http://redis.io) to answer your prev. question, it's a form of datastore, which you'll likely want when setting up an ACL system [23:29] eeemsi_: isaacs: works on my side [23:29] teadict: upstream: that was plan A... [23:30] eeemsi_: oh wait … … [23:30] upstream: teadict: yeah whatever works for you, I personally use CouchDB a lot with Node, MySQL or Redis or Mongo, there are options :) [23:30] teadict: upstream: but assignning permission to routes is not worth installing redis and a acl module.. [23:30] teadict: great.. I'm not that off then.. [23:30] eeemsi_: ah … JIRA is currently being reindexed [23:30] quackquack has joined the channel [23:31] indexzero has joined the channel [23:31] upstream: teadict: yeah, well if you want a simple solution I wouldn't even implement an ACL as they are usually not simple solutions but more robust [23:31] upstream: teadict: in my experience that is. It's easier to just roll your own :) [23:31] mmalecki: isaacs: you around? [23:32] teadict: upstream: then I'll use that ORM with mysql and create my own security thingies [23:32] isaacs: a little [23:32] teadict: node-orm doesn't look that great.. [23:32] isaacs: wha'ts up? [23:32] mmalecki: isaacs: https://gist.github.com/2072e7818c844575ff3d <- when running `npm install` in mock-request [23:32] mmalecki: https://github.com/nodejitsu/mock-request [23:32] mmalecki: I think jitsu does that as well. [23:32] mmalecki: should I create an issue or is it known? [23:32] upstream: teadict: also you could try https://github.com/felixge/node-mysql [23:33] upstream: maybe there are better mysql wrappers now-a-days though, I haven't used MySQL with Node in a long time :) [23:33] teadict: upstream: I'll sure need an ORM... that's the case [23:34] markq: mongodb ftw [23:34] teadict: http://sequelizejs.com looks nice [23:34] upstream: couchdb ftw! haha [23:35] catb0t has joined the channel [23:35] jamescarr: speaking of mongodb... any idea why currentChunk in a gridstore would be undefined? [23:35] Shaunzie: What ever my boss pays me to use for the win….. -.- [23:35] upstream: haha [23:35] theycallmeswift: Anyone know a good library for parsing date strings like "1 month ago" or "2 days from now" [23:35] jamescarr: Shaunzie, what if the boss pays you to use Oracle? [23:35] Shaunzie: jamescarr: then I use oracle? O.o [23:35] markq: lol [23:36] Druide_ has joined the channel [23:36] sridatta has joined the channel [23:36] teadict: upstream: that Sequelize ORM builds its stuff up according to node-mysql, great, I don't have to worry then [23:36] christkv: @jamescarr, if you can reproduce it throw me a some code [23:36] eclifford has left the channel [23:36] Shaunzie: jamescarr: If my boss paid me to use flat files I'd do that… [23:37] meso has joined the channel [23:37] christkv: @jamescarr but better on github [23:37] larsschenk has left the channel [23:38] jamescarr: christkv, the error you mean? [23:38] christkv: @jamescarr yes [23:38] jamescarr: christkv, https://github.com/jamescarr/nodejs-mongodb-streaming [23:38] jamescarr: run npm install [23:38] jamescarr: upload a file, then try to download it [23:38] upstream: JSON FLAT FILES FTW [23:38] jergason has joined the channel [23:39] upstream: JSONDB [23:39] jamescarr: I can get it working by pulling the file in and then downloading it, but I am wanting to stream it :) [23:39] eeemsi_: jsondb?? [23:39] christkv: @jamescarr did you try the streaming api ? [23:39] jamescarr: oh? [23:39] jamescarr: christkv, I think so, see gridfs.js [23:40] jamescarr: method: pipe [23:40] christkv: oh [23:40] christkv: @jamescarr :) [23:40] christkv: @for this skip past mongoose [23:40] jamescarr: old? [23:41] jamescarr: it works for non-streaming stuffd [23:41] christkv: @jamescarr and go straight to the driver https://github.com/christkv/node-mongodb-native/blob/master/test/gridstore/grid_store_stream_test.js [23:41] baoist has joined the channel [23:41] ismell has joined the channel [23:41] LeMike has joined the channel [23:42] shanez_ has joined the channel [23:42] mikeal has joined the channel [23:43] blueadept: quick question, is this regex, /[a-z0-9]/ include all uper and lower case letters, plus numberes? [23:43] dwhittle has joined the channel [23:43] jocafa: a-zA-Z0-9 [23:43] blueadept: ah yes ^ [23:43] blueadept: coo, ty [23:43] isaacs: mmalecki: why is there a dev dep on a different verison of it-is than the regular dep? [23:43] isaacs: that's… weird. [23:43] eeemsi_: isaacs: try again [23:44] isaacs: mmalecki: also, this is what's breaking it, i guess: lrwxrwxrwx 0 dominic dominic 0 Jul 23 18:19 package/node_modules/it-is -> . [23:45] level09 has joined the channel [23:45] alejandromg has joined the channel [23:46] EriksLV has joined the channel [23:46] tonymilne has joined the channel [23:46] ryanfitz has joined the channel [23:46] alcuadrado has joined the channel [23:47] pyrotechnick has joined the channel [23:47] mmalecki: isaacs: I don't think I follow, I just clone it from git [23:48] mmalecki: isaacs: and run `npm install` inside. package.json is fine here. [23:48] isaacs: mmalecki: i see the issue. [23:48] isaacs: the issue is that it-is 0.x.x is broken [23:48] isaacs: mmalecki: it's got a symlink from package/node_modules/it-is to . [23:48] isaacs: and it's not handling that properly [23:48] mikeric has joined the channel [23:49] tonymilne: Can anyone share some thoughts on this: http://hastebin.com/1ciBbVLbhP.lua [23:49] isaacs: it-is 1.0.1 works fine, though [23:49] isaacs: mmalecki: so, that's what's causing the error. [23:49] tonymilne: In terms of it being cool / weird / bad for performance, etc. [23:49] Fuu has joined the channel [23:49] subbyyy has joined the channel [23:49] isaacs: mmalecki: i think it might be mis-reading the . as "", and then treating it as falsey [23:49] mmalecki: isaacs: oh, I see. thanks. so, actual bug or expected behavior? [23:50] isaacs: investigating. [23:50] isaacs: it'd be nice to crash less horribly. [23:50] isaacs: (at least) [23:50] alcuadrado: is there a way in express to create some default "/controller/action/:params" or so routing? [23:50] mmalecki: isaacs: :) [23:51] wenger has left the channel [23:53] npa has joined the channel [23:53] uchuff has joined the channel [23:55] level09 has joined the channel [23:56] Cev has joined the channel [23:56] euoia has joined the channel