[00:00] kmiyashiro: mind blown
[00:00] kmiyashiro: ok thanks
[00:00] dguttman_ has joined the channel
[00:00] christkv has joined the channel
[00:01] tjholowaychuk: you can have a function return itself foo()()()()()() haha
[00:01] tjholowaychuk: wewwww
[00:02] kmiyashiro: is that like this? http://www.dustindiaz.com/javascript-curry/
[00:02] mightymechanic has joined the channel
[00:02] christkv has joined the channel
[00:02] kmiyashiro: what's the diff between blah()() and blah() { return function() }
[00:02] harth has joined the channel
[00:02] Ratty_: I love a good curry
[00:03] pyrotechnick: vindaloo for me please
[00:03] samsonjs has joined the channel
[00:03] flippyhead_ has joined the channel
[00:03] crodas has joined the channel
[00:04] chapel: tjholowaychuk: does connect have res.redirect?
[00:04] tjholowaychuk: chapel: nope
[00:04] chapel: ah
[00:04] tjholowaychuk: connect doesn't touch req/res
[00:05] chapel: kk
[00:05] tjholowaychuk: with a few small exceptions
[00:05] tjholowaychuk: like sessions
[00:05] chapel: it can handle headers though right?
[00:05] tilgovi_ has joined the channel
[00:05] tilgovi_ has joined the channel
[00:05] tjholowaychuk: for sure
[00:05] tjholowaychuk: just like regular node
[00:06] chapel: kk, well figured
[00:06] tjholowaychuk: res.setHeader(field, val)
[00:06] tjholowaychuk: it's just a few lines instead of 1
[00:07] SvenDowideit has joined the channel
[00:07] newy_ has joined the channel
[00:08] quackslike: Ratty_ +1 on the curry..
[00:08] quackslike: Curry is on the menu for lunch today. woot.
[00:09] Ratty_: KFc double down for me. It came out here today.
[00:09] aconbere has joined the channel
[00:09] quackslike: Ratty_ where are you?
[00:09] Ratty_: New Zealand
[00:10] isaacs: Ratty_: npm install https://github.com/isaacs/node-tap/tarball/master
[00:10] isaacs: Ratty_: that is, no, but you can install from a tarball, or a folder, so put your git repo into that.
[00:10] quackslike: I think we still dont have it here in AU. I was pretty disappointed when it came out in US but not here..
[00:10] Ratty_: Ooh thanks
[00:11] Ratty_: Aussies are too healthy
[00:13] quackslike: Ratty_: i dunno there are some porkers here mate.
[00:13] eguest309 has left the channel
[00:14] sarkis has joined the channel
[00:14] ChrisPartridge: quackslike: We had it here.. but its gone already
[00:14] ChrisPartridge: was around for like a week
[00:15] tilgovi has joined the channel
[00:15] quackslike: ChrisPartridge: oh! pfft. that'd be right.. You're in Syd. aren't you?
[00:15] ChrisPartridge: Adelaide
[00:15] quackslike: noo..
[00:15] ChrisPartridge: It was horrible anyway
[00:15] quackslike: same here.
[00:15] quackslike: Where you workin at?
[00:16] quackslike: dm me if you like..
[00:16] ChrisPartridge: place called Dynamic Methods, yourself?
[00:16] quackslike: i can't say in public
[00:16] quackslike: work form home - company based in melb.
[00:16] ChrisPartridge: fed! :-)
[00:17] quackslike: heh
[00:18] quackslike: did you used to work at internode as an architect?
[00:18] cloudhea1 has joined the channel
[00:19] ChrisPartridge: Nope, never worked at Internode, but know a fair few people there
[00:22] bene has joined the channel
[00:23] demastrie has joined the channel
[00:24] zeade: what's the best way to create c-based bindings for node? for any php hackers from way back, think zend
[00:25] Fredderf_ has joined the channel
[00:25] tjholowaychuk: zeade: by writing c++ :D
[00:25] tjholowaychuk: no zend :p zend bad
[00:25] tjholowaychuk: but
[00:25] tjholowaychuk: for reference
[00:25] zeade: heh i like your simple words
[00:25] tjholowaychuk: just pull up a few existing projects like https://github.com/learnboost/node-canvas
[00:25] tjholowaychuk: or libxmljs
[00:25] zeade: i haven't dug into node source, guess i will
[00:25] brettgoulder has joined the channel
[00:27] stepheneb has joined the channel
[00:28] Tobsn has joined the channel
[00:28] tahu has joined the channel
[00:28] Tobsn: evening
[00:28] herberty has joined the channel
[00:29] saschagehlich has joined the channel
[00:29] themiddleman_itv has joined the channel
[00:30] tjholowaychuk: bradleymeck: hey, do you know if anyone has proposed adding offset support to some of the regexp methods?
[00:31] tjholowaychuk: like regexp.exec(str, i)
[00:31] sarkis has joined the channel
[00:32] Derp_ has joined the channel
[00:33] drogoh has joined the channel
[00:34] onar has joined the channel
[00:34] neoesque has joined the channel
[00:35] BillyBreen has joined the channel
[00:36] xeodox: Does anyone know the aws/EC2 channel by any chance?
[00:37] piscisaureus_ has joined the channel
[00:37] chrislorenz has joined the channel
[00:38] tjholowaychuk: damn u left recursion
[00:40] stepheneb has joined the channel
[00:41] boogyman has joined the channel
[00:41] dguttman has joined the channel
[00:42] kzinnn has joined the channel
[00:42] seivan has joined the channel
[00:43] quackslike: xeodox: no, but if you find out can you ping me the name
[00:44] piscisaureus__ has joined the channel
[00:46] devrim has joined the channel
[00:46] demastrie has left the channel
[00:49] davidcoallier has joined the channel
[00:50] stepheneb has joined the channel
[00:53] danfo has joined the channel
[00:59] stepheneb has joined the channel
[00:59] k1ttty has joined the channel
[01:01] hide has joined the channel
[01:02] mike5w3c has joined the channel
[01:03] ngs has joined the channel
[01:04] stepheneb has joined the channel
[01:04] vikstrous has joined the channel
[01:08] bartt has joined the channel
[01:08] flippyhead has joined the channel
[01:10] flippyhead has joined the channel
[01:12] __sorin__ has joined the channel
[01:12] stepheneb has joined the channel
[01:14] dgathright has joined the channel
[01:14] nexxy: SubStack, oh I see how it is!
[01:14] avalanche123 has joined the channel
[01:16] jacter has joined the channel
[01:17] abraxas has joined the channel
[01:18] peerless has joined the channel
[01:18] tilgovi has joined the channel
[01:18] tilgovi has joined the channel
[01:18] zeade has joined the channel
[01:21] niftylettuce has joined the channel
[01:24] __sorin__ has joined the channel
[01:24] marcello3d has joined the channel
[01:27] danfo has joined the channel
[01:27] yd has joined the channel
[01:27] zentoooo has joined the channel
[01:27] catshirt has joined the channel
[01:30] boaz has joined the channel
[01:31] thoolihan has joined the channel
[01:32] danfo has joined the channel
[01:33] SubStack: nexxy: eh?
[01:33] danfo_ has joined the channel
[01:33] samsonjs has joined the channel
[01:34] Swimming_bird has joined the channel
[01:34] tonymilne has joined the channel
[01:35] kmwallio has joined the channel
[01:37] stepheneb has joined the channel
[01:39] dmojoryder has joined the channel
[01:40] p_nitsch has joined the channel
[01:41] catshirt has joined the channel
[01:41] markstory has joined the channel
[01:42] hij1nx has joined the channel
[01:42] stepheneb has joined the channel
[01:43] flippyhead has joined the channel
[01:45] gtramont1na: Yo guys, how do I write css animations using Stylus?
[01:45] tjholowaychuk: gtramont1na: one sec
[01:46] temas has joined the channel
[01:46] tjholowaychuk: gtramont1na: same as css really https://gist.github.com/0b4c962a5729d636c4cf
[01:46] tjholowaychuk: or the indentation syntax
[01:47] techzin has joined the channel
[01:47] gtramont1na: tjholowaychuk: cool. thanks a lot!
[01:47] tjholowaychuk: np
[01:48] Jamool_ has joined the channel
[01:50] roar has joined the channel
[01:51] stepheneb has joined the channel
[01:51] piscisaureus has joined the channel
[01:52] newy_ has joined the channel
[01:52] nadirvardar has joined the channel
[01:53] dyer has joined the channel
[01:53] niftylettuce has joined the channel
[01:53] roar has joined the channel
[01:53] xeodox has left the channel
[01:53] xeodox has joined the channel
[01:53] xeodox has left the channel
[01:54] boghog has joined the channel
[01:54] techzin has joined the channel
[01:58] Jalava has joined the channel
[01:58] marcello3d has joined the channel
[01:59] vikstrous has joined the channel
[02:01] maximosis has joined the channel
[02:01] maximosis has left the channel
[02:01] maximosis has joined the channel
[02:03] piscisaureus has joined the channel
[02:04] meso_ has joined the channel
[02:04] joshbaptiste has joined the channel
[02:04] bshumate has joined the channel
[02:04] bshumate has joined the channel
[02:05] F1LT3R has joined the channel
[02:05] bartt has joined the channel
[02:05] samsonjs has joined the channel
[02:07] harth has joined the channel
[02:07] meso__ has joined the channel
[02:07] seivan has joined the channel
[02:08] kzinnn has left the channel
[02:08] piscisaureus has joined the channel
[02:09] seivan_ has joined the channel
[02:13] stepheneb has joined the channel
[02:14] blueadept: tj: you ever take extended breaks from coding?
[02:14] tjholowaychuk: blueadept: yup
[02:15] tjholowaychuk: typically im done by 530 but im catching up on a few things
[02:15] blueadept: you seem to put in an incredible amount of time
[02:16] mscdex: woo finally got the windows compound files binary format done
[02:16] __tosh has joined the channel
[02:16] tjholowaychuk: i've been at the computer more than usual the last few weeks, big non-code related project
[02:16] mscdex: now to actually tackle office file streams
[02:16] mscdex: :-D
[02:16] blueadept: ah, cool
[02:16] newy_ has joined the channel
[02:17] bartt has joined the channel
[02:17] mscdex: hopefully by the end of this week i'll have m$ office readers for node
[02:18] mscdex: muahaha
[02:18] ryanfitz has joined the channel
[02:18] Ratty_: You sick little monkey
[02:18] blueadept: hey if anyone hasn't heard already, pedro of nodetuts.com just increased a book, http://www.nodetuts.com/handson-nodejs-book.html
[02:18] blueadept: 143 pages
[02:21] MikhX has joined the channel
[02:21] EyePulp has joined the channel
[02:21] k1ttty has joined the channel
[02:22] jdp has joined the channel
[02:25] newy_ has joined the channel
[02:32] larry__ has joined the channel
[02:33] baoist has joined the channel
[02:35] SvenDowideit has joined the channel
[02:35] flippyhead has joined the channel
[02:36] ryah has joined the channel
[02:36] SvenDowideit has joined the channel
[02:37] zackattack has joined the channel
[02:38] cloudhead has joined the channel
[02:41] Hamms has joined the channel
[02:42] ron_frown has joined the channel
[02:45] jchris has joined the channel
[02:46] jchris: anyone doing Node on Nitro?
[02:46] temp01 has joined the channel
[02:48] themiddleman has joined the channel
[02:51] brianc has joined the channel
[02:51] towns has joined the channel
[02:54] p_nitsch has joined the channel
[02:55] newy_ has joined the channel
[02:59] ryanmcgrath has joined the channel
[03:00] ArtistConk has joined the channel
[03:01] LowValueTarget has joined the channel
[03:02] flippyhead_ has joined the channel
[03:03] chrislorenz has joined the channel
[03:03] JulioBarros has joined the channel
[03:03] marcosvm has joined the channel
[03:04] steph021 has joined the channel
[03:04] steph021 has joined the channel
[03:05] actonapp has joined the channel
[03:05] john____ has joined the channel
[03:05] meatmanek has joined the channel
[03:08] boaz has joined the channel
[03:09] alek_br_ has joined the channel
[03:13] aheckmann has joined the channel
[03:14] dyer has joined the channel
[03:14] meatmanek_ has joined the channel
[03:15] vikstrous: how does one call a function with no arguments in coffeescript?
[03:16] wadey: ()
[03:16] vikstrous: oh
[03:16] vikstrous: should've seen it coming i guess
[03:17] rchavik has joined the channel
[03:17] rchavik has joined the channel
[03:18] aconbere has joined the channel
[03:21] copongcopong has joined the channel
[03:23] __sorin__ has joined the channel
[03:25] p_nitsch_ has joined the channel
[03:25] Tobsn: anyone an idea why mongodb wont install? http://pastebin.com/MUuBdivM
[03:26] maximosis has joined the channel
[03:27] waterhead has joined the channel
[03:28] maximosis_ has joined the channel
[03:28] maximosis_ has left the channel
[03:28] donaldpcook has joined the channel
[03:30] techzin has joined the channel
[03:30] BillyBreen has joined the channel
[03:30] meatmanek_ has joined the channel
[03:31] pcardune has joined the channel
[03:32] samsonjs has joined the channel
[03:33] sub_pop has joined the channel
[03:34] gazumps has joined the channel
[03:35] flippyhead has joined the channel
[03:37] ngs has joined the channel
[03:37] vikstrous: does coffeescript's -w option even watch dependencies? do i have to specify them manually? how do i do this?
[03:38] JohnnyL has joined the channel
[03:38] wadey: you might have more luck in #coffeescript
[03:38] JohnnyL: Can Node.js handle multicore or perhaps multiple computers?
[03:38] gkatsev: is there a #coffeescript?
[03:39] gkatsev: I know there's #documentcloud
[03:39] wadey: yeah, there are usually lots of people in it
[03:39] wadey: JohnnyL: you can use something like this for multicore: http://learnboost.github.com/cluster/
[03:40] flippyhead has joined the channel
[03:41] jaket has joined the channel
[03:41] tim_smart has joined the channel
[03:41] Tobsn: god damnit... anyone know why mongodb make throws this error: http://pastebin.com/RWuTqzYs ?
[03:42] wadey: have you tried the mongodb channel? probably more people that use mongo over there
[03:42] JohnnyL: wadey: thanks.
[03:42] bad_at_math has joined the channel
[03:42] indutny has joined the channel
[03:44] willwhite has joined the channel
[03:46] chapel: `v git haibu @ JohnnyL
[03:46] v8bot: JohnnyL: nodejitsu/haibu - GitHub - https://github.com/nodejitsu/haibu
[03:46] chapel: check that out JohnnyL
[03:48] framlin has joined the channel
[03:48] brownies has joined the channel
[03:48] nail_ has joined the channel
[03:48] Tobsn: its a node issue not mongodb
[03:49] gavin_huang has joined the channel
[03:50] actonapp has joined the channel
[03:50] Corren has joined the channel
[03:51] Ratty_: Is it missing the BSON package?
[03:53] davidcoallier has joined the channel
[03:54] JohnnyL: chapel: looks good.
[03:54] saschagehlich has joined the channel
[03:55] p_nitsch_ has joined the channel
[03:57] kal_ has joined the channel
[03:58] Wa has joined the channel
[04:02] seivan has joined the channel
[04:02] vikstrous: hey guys, what should i use for making a basic http request to get an rss feed from another server?
[04:03] ryanfitz has joined the channel
[04:03] quackslike: vikstrous: httpclient
[04:04] flippyhead has joined the channel
[04:04] meso_ has joined the channel
[04:04] nerdfunk has joined the channel
[04:04] vikstrous: quackslike: thanks
[04:04] nerdfunk: hello
[04:05] chapel: vikstrous: for simplicity request
[04:05] actonapp has joined the channel
[04:05] nerdfunk: im a little unsure as to where to get information on http.createClient ? i cant see it in the docs . .
[04:05] chapel: `v git node request @ vikstrous
[04:05] v8bot: vikstrous: mikeal/node-utils - GitHub - https://github.com/mikeal/node-utils
[04:05] chapel: err
[04:05] azeroth_ has joined the channel
[04:05] chapel: `v git request mikeal
[04:05] v8bot: chapel: mikeal/request - GitHub - https://github.com/mikeal/request
[04:05] chapel: there
[04:05] vikstrous: well i just need the most basic one
[04:05] chapel: well either way
[04:06] chapel: request abstracts away stuff, makes it super simple
[04:06] tonymilne: Here's an example of some code http://pastie.org/1883726
[04:06] chapel: handles a lot of issues you might otherwise have to deal with
[04:06] tonymilne: if you want to see what its like without using a 3rd party module.
[04:06] vikstrous: okay
[04:07] vikstrous: well, if i have that code, should i just use it?
[04:07] nerdfunk: oh, that's actually what I was looking for too ;P
[04:07] tonymilne: up to you ;)
[04:07] vikstrous: i guess that's 1 less library i need
[04:07] chapel: either way, using the core stuff is easy too
[04:07] chapel: just more code
[04:08] vikstrous: what about xml parsing? what would i use for that? server side jquery?
[04:08] tonymilne: there is o3-xml which isn't too bad.
[04:09] vikstrous: okay i'll check it out
[04:09] nerdfunk: tonymilne: thank you for that timely pastie.
[04:10] cloudhead has joined the channel
[04:10] tonymilne: you're welcome.
[04:10] vikstrous: tonymilne: hmm looks like o3-xml would have better performance than if i used jquery?
[04:11] tonymilne: Yep, it should be faster. However, because o3-xml has compiled c++ code, it needs recompiling each time you bump node versions (as far as i know). They have releases for you, but you're better off recompiling it yourself.
[04:12] tonymilne: This means you need to recompile multiple binaries if your dev is a mac, and prod is ubuntu for example. Just fyi.
[04:13] vikstrous: tonymilne: Hmm, well since I'm lazy and I don't care atm I'll just go with jquery or any other xml parser i can find that's just javascript :P
[04:14] towns_ has joined the channel
[04:14] tim_smart: Most xml libraries bind to a C library, pure Javascript parsers are just too slow
[04:14] tonymilne: Yeah, you can always re-factor later. We just had 40mb xml files that were being uploaded 2x per day (zipped of course). So we needed to pay attention to performance.
[04:15] jesusabdullah: It's true! You can parse with pure JS, but you can't parse the SHIT out of something without some C++
[04:15] tim_smart: parsing shit is not a welcome side effect :)
[04:16] rpflo has joined the channel
[04:16] Ratty_: Speaking of which, is there a decent AMF (de)serializer?
[04:16] vikstrous: tim_smart: yeah I'll switch to something better if i ever put this thing live
[04:17] JohnnyL: do you guys program in CoffeeScript or just JS?
[04:17] tim_smart: Bit of both
[04:17] quackslike: i really dont see the point of CoffeeScript.
[04:18] dhasenan: quackslike, do any object oriented programming in js?
[04:18] tim_smart: quackslike: If you like concise, clean syntax coffee is nice, but I always end up prefering vanilla ecmascript
[04:18] tbranyen: quackslike: its the ebonics of javascript
[04:19] tbranyen: just a layer on top of a language
[04:19] tbranyen: personally i think it just makes it harder to understand
[04:19] tbranyen: but some people jive with it
[04:19] Ratty_: I never got around to trying coffeescript
[04:19] towski has joined the channel
[04:19] Ratty_: JS is fine.
[04:19] meatmanek: more like cockney
[04:19] tbranyen: govnar
[04:19] meatmanek: guvna'
[04:19] quackslike: tbranyen: :)
[04:20] tbranyen: :D
[04:20] actonapp has joined the channel
[04:21] p_nitsch has left the channel
[04:21] aconbere has joined the channel
[04:22] nerdfunk: hmm
[04:22] Ratty_: hmm
[04:22] tbranyen: indeed
[04:22] nerdfunk: getting
400 Bad Request back from twitter search . .
[04:23] quackslike: dhasenan: i just put everything in one big function.. :)
[04:23] quackslike: that way i know where it is..
[04:25] sonnym has joined the channel
[04:25] cloudhead2 has joined the channel
[04:26] criswell has joined the channel
[04:28] path[l] has joined the channel
[04:28] nerdfunk: I can't seem to get this to work, based on tony's pastie a second ago .. http://pastie.org/1883754
[04:30] chapel: nerdfunk: the api has changed http://nodejs.org/docs/v0.4.7/api/http.html#http.request
[04:30] towns has joined the channel
[04:30] nerdfunk: ah
[04:31] kmiyashiro: anyone have experience with node-oauth?
[04:33] bene has joined the channel
[04:33] nerdfunk: cool, thanks a lot :)
[04:33] aguynamedben has joined the channel
[04:33] kollektiv has joined the channel
[04:33] kollektiv has joined the channel
[04:39] rfay has joined the channel
[04:39] ryah: rawr
[04:39] criswell has joined the channel
[04:39] Aria: You don't say.
[04:39] ryah: ~/projects/oio% make bench
[04:39] ryah: test/run-benchmarks
[04:39] ryah: oio_handle_t: 400 bytes
[04:39] ryah: oio_req_t: 120 bytes
[04:39] ryah: ping_pongs: 18753 pings
[04:40] ryah: pump_read_100: 11.1 gbit/s
[04:40] ryah: pump_write_100: 11.1 gbit/s
[04:40] m3nt0r^aw has left the channel
[04:40] ryah: Done.
[04:40] Aria: Wow.
[04:40] Aria: How's Windows doing?
[04:40] McMAGIC--Copy has joined the channel
[04:41] ryah: 1 gbit/sec
[04:41] tim_smart: ryah: o.O nice
[04:42] tim_smart: windows not so nice >.>
[04:42] ryah: someone should run it on macintosh and tell me what the output is
[04:42] tim_smart: I don't think I have xcode installed on my Mac partition
[04:42] Aria: I'd be happy to.
[04:43] tim_smart: We have a winner!
[04:43] mtduv has joined the channel
[04:43] tim_smart: ryah: Do you have an idea on why iocp is not performant?
[04:44] ryah: 1gbit throughput isn't that bad
[04:44] ryah: better than 10megabit
[04:44] gmci has joined the channel
[04:44] planetic: When I create an "object" is there any difference between creating methods inside a constructor and by addyng method to prototype? e.g "js> Dog = function () {this.bark = function(..) ...}" vs. "js> Dog = function () {...}; Dog.prototype = {"bark": function(...)}" vs "Dog = function () {...}
[04:45] Aria: Mac: 1.8gbit/sec, on my macbook air.
[04:45] tim_smart: Not that bad, but not on par with linux
[04:46] criswell has joined the channel
[04:46] tim_smart: planetic: Yes
[04:46] tim_smart: The prototype version will have only one function in reference no matter how many dogs you create
[04:46] tim_smart: whereas the first method will create a function for each dog
[04:47] tk has joined the channel
[04:47] pyrony has joined the channel
[04:47] tim_smart: Meaning using prototypes will save memory (and initiation time)
[04:47] planetic: Ok
[04:48] tim_smart: Think of a prototype as a shared object, almost like a proxy
[04:51] pyrotechnick: if only
[04:51] zackattack has joined the channel
[04:52] planetic: So if I want instance methods I create them as this properties inside constuctor?
[04:52] planetic: And if I want some shared stuff, like counters I add them to prototype.
[04:53] tim_smart: planetic: Anything you attach to the prototype will be available on the instance
[04:53] tim_smart: It looks on the object itself, then on the prototype
[04:53] Guest20828 has joined the channel
[04:54] Marknel has joined the channel
[04:55] mbrevoort has joined the channel
[04:56] planetic: But the new operator will not create "new" functions if I attach them to prototype, right? And create "new" functions if I attach them to this inside constructor. Thank you now I will test it in console.
[04:57] tim_smart: planetic: If you attach methods to the prototype, and then call new on the constructor - it won't 'copy' the methods over, but rather reference them.
[04:58] Corren has joined the channel
[04:58] tim_smart: *Unless* you overwrite the property. I.e. var Dog = function () {}; Dog.prototype.bark = function () {}; var dog = new Dog(); dog.bark = 'woof';
[05:01] planetic: Ok, now I can OOP.
[05:01] tim_smart: :)
[05:02] kmiyashiro: and if you change the prototype, that changes all the instances of that prototype?
[05:03] tim_smart: kmiyashiro: Correct
[05:03] yozgrahame has joined the channel
[05:03] kmiyashiro: horay
[05:04] kmiyashiro: if I do app.use(express.session(blah blah)); ... shouldn't req.session always be defined?
[05:06] tim_smart: kmiyashiro: Don't know; not sure how the session plugin works.
[05:07] tim_smart: I have been using node since the beginning of last year, and have never used express once :/
[05:07] danfo has joined the channel
[05:08] kmiyashiro: oh there it goes
[05:08] bad_at_math has joined the channel
[05:08] kmiyashiro: weird... I had to retry a few times in the browser for it to work
[05:08] kmiyashiro: I just started using node because I kind of know javascript and I want to make prototypes
[05:09] iwinulose has joined the channel
[05:10] michaellehmkuhl has joined the channel
[05:12] pizthewiz has joined the channel
[05:12] davidcoallier has joined the channel
[05:13] isaacs has joined the channel
[05:14] darshanshankar has joined the channel
[05:16] Opaque: Hey. I'm using socket io right now (actually nowjs for the current moment), and my project depends on authentication. Currently, I have it set up so that I create a temp session and send the id reference for their session (which includes user id, page they're entering) so that I can reference them to a registered account. The security flaws are obvious, anyone can steal someone's identity until that session is deleted if they get that Id and are tricky en
[05:17] sreeix has joined the channel
[05:17] darshanshankar: woot woot nowjs
[05:17] darshanshankar: sorry id try to help Opaque but ill brb
[05:17] newy has joined the channel
[05:18] Opaque: :) np.
[05:18] Marak has joined the channel
[05:19] iwinulose has joined the channel
[05:19] Aria: ryah: make that 4.1gbit/sec on the macbook air, since I had a cpu-hogging process and hadn't noticed
[05:20] MrTopf has joined the channel
[05:21] meso_ has joined the channel
[05:22] Spion has joined the channel
[05:26] binarypie has joined the channel
[05:28] hybsch has joined the channel
[05:28] tonymilne: Opaque: Your approach is the right one as far as I know (I just implemented the same approach) - wouldnt it just be a case of protecting the sessionId in transit using https?
[05:29] tonymilne: The final two session protection mechanisms you need to provide are timeouts on sessions and changes of session ID’s when users carry out sensitive actions.
[05:30] bartt1 has joined the channel
[05:30] temp01 has joined the channel
[05:31] febits has joined the channel
[05:31] nerdfunk: If I have a block of text which may contain a url, is it best to use regex to try and parse it out or will node's url do something similar ?
[05:32] Opaque: Oh timeout is a great one. What db store do you use for sessions?
[05:32] tonymilne: I'm using mongodb for mine.
[05:34] Opaque: How are you protecting the objectid?
[05:34] pquerna: ryah: https://twitter.com/#!/nearyd/status/66520144310054913
[05:34] Opaque: Since it's easily predictable when it increases at the end.
[05:35] tonymilne: Im using connect-mongo
[05:36] tonymilne: So my _id actually looks like: pKJikdgvC5EuR2rjOgg5Qsrj.Zz35SK2assjhsaj06nVY+J1c3QaCwYfT/4Lu9MYEVrzC2dssagAEA
[05:36] tonymilne: not a regular mongodb objectId
[05:36] tonymilne: Better entropy.
[05:36] Opaque: Indeed.
[05:37] tonymilne: There are two connect mongodb modules, one had a bug - but i found a way to fix that. Just cant remember if i swapped to using the other one instead.
[05:39] openpercept has joined the channel
[05:40] vikstrous: hey guys how would i make something use the data gathered by async calls inside a for loop?
[05:41] vikstrous: one hack i can come up with is checking if the current iteration is the last one and then calling a function from there... but that seems awkward
[05:41] tonymilne: put the for loop inside the callback of the async call.
[05:41] towski: I'm doing a server.close() on my http server, but my process doesn't exit. is there something else I need to do?
[05:41] chjj: vikstrous, thats exactly what you need to do
[05:42] chjj: thats how you do a parallel loop
[05:42] vikstrous: really? i should check if it's the last iteration?
[05:42] coreb has joined the channel
[05:42] towski: oh wait, maybe it's something in my other code
[05:42] chjj: yeah
[05:42] tonymilne: towski: do you have a database connection or anything else "listening for events"?
[05:42] chjj: thats how its done
[05:42] vikstrous: alright *sigh*
[05:42] chjj: well
[05:42] towski: tonymilne: probably yeah I'll have to look around
[05:42] chjj: you could do a serial loop
[05:43] chjj: if you need the iterations to complete in order
[05:43] chjj: in a serial loop the end of one iteration invokes the next one
[05:43] vikstrous: oh wait... how would i know which one is the last one if they are not in order?
[05:43] tonymilne: a counter.
[05:43] chjj: what do you mean?
[05:43] chjj: doesnt matter what order they finish in, theyll still be the same amount of them
[05:43] tonymilne: or populate variables, and check that each one is populated.
[05:44] marcosvm has joined the channel
[05:44] vikstrous: okay makes sense
[05:44] vikstrous: i like the last suggestion
[05:44] vikstrous: seems like a lot of extra work though
[05:44] tonymilne: there are some good little modules that help you.
[05:44] chjj: var a = [ 1, 2, 3 ], i = a.length; a.forEach(function(v) { process.nextTick(function() { --i || done(); }); });
[05:44] chjj: thats the hacker way
[05:44] vikstrous: yeah i was just thinking about that.. i saw something that helps with that
[05:45] tonymilne: search for flow control, Step isn't bad.
[05:45] vikstrous: hah..
[05:45] chjj: try writing your own async loop functions, see if you can figure it out, you can learn a lot that way
[05:45] vikstrous: what's process.nextTick() ?
[05:45] chjj: it queues the function up to be called on the next tick of the event loop
[05:46] vikstrous: hmm never had to use that before :P
[05:46] chjj: so, setTimeout(func, 0); but better
[05:46] vikstrous: alright i'll see how it goes
[05:46] vikstrous: thanks
[05:46] chjj: i was just using it there to show you something async
[05:46] tonymilne: Sorry if this is off topic, but are there many (or any) Australians in here?
[05:46] vikstrous: yeah i should keep them async since they are http requests :P
[05:47] chjj: vikstrous: i meant i just wanted to show you some basic asynchronous call as an example
[05:47] nadirvardar has joined the channel
[05:47] zeunix: quick question: do synchronous methods block the entire script execution, even those outside of an http server instance?
[05:47] chjj: anything async couldve been used in place of process.nextTick there
[05:48] vikstrous: chjj: oh alright thanks
[05:48] chjj: zeunix: yeah, node is one thread, if something blocks, it blocks the entire process
[05:48] zeunix: assumed as much, great thanks!
[05:48] vikstrous: chjj: that code is actually perfect for what i need
[05:48] chjj: good :)
[05:49] techwraith has joined the channel
[05:50] nerdfunk: tonymilne: I'm one, but live in tokyo ;)
[05:50] niftylettuce has joined the channel
[05:50] alek_br_ has joined the channel
[05:51] Tobsn: does anyone have a working node.js init script?
[05:51] chjj: nerdfunk: dont worry i wouldve left australia too ;p
[05:51] Tobsn: for debian
[05:51] nerdfunk: ah. something in the news ?
[05:51] marcosvm has joined the channel
[05:51] chjj: nah just joking
[05:51] chjj: lol
[05:51] Emmanuel__ has joined the channel
[05:51] pyrotechnick: *dreams of porting cucumber to node*
[05:52] abraham has joined the channel
[05:53] towski: ah so my setInterval calls weren't letting the process exit. Is there a way to clear those? or hints toward a better way
[05:53] pyrotechnick: clearInterval
[05:53] pyrotechnick: setInterval returns a handle to the interval
[05:53] pyrotechnick: store that
[05:53] pyrotechnick: and use clearInterval to remove it
[05:53] jchris has joined the channel
[05:53] towns has joined the channel
[05:54] pyrotechnick: clearInterval(setInterval()) will make one then destroy it for instance
[05:54] towski: pyrotechnick: awesome thanks
[05:54] waterhead has joined the channel
[05:54] pyrotechnick: you're welcome
[05:55] techwraith: towski: var interval = setInterval(func, 3000); clearInterval(interval);
[05:55] pyrotechnick: ...
[05:55] nerdfunk: clearInterval(setInterval(clearInterval(setInterval())))
[05:55] towski: no points awarded
[05:55] techwraith: nerdfunk: lol
[05:55] pyrotechnick: some people
[05:55] ph^ has joined the channel
[05:56] techwraith: I just thought it was more clear that way ;)
[05:57] pyrotechnick: im sure he knows how to assign
[05:57] techwraith: Most likely :)
[05:58] pyrotechnick: no i am certain
[05:58] pyrotechnick: more than likely
[05:58] pyrotechnick: beyond any doubt
[05:58] techwraith: :P
[05:58] TheFuzzball has joined the channel
[05:58] pyrotechnick: it looks like there's a v8 driver for cucumber hot damn
[06:00] jhurliman: anyone have experience with ? is that the generally preferred library for http(s) requests or is there another one i should be looking at?
[06:00] pyrotechnick: that's fine
[06:00] pyrotechnick: if you're doing restful stuff there's probably a more suitable one
[06:00] justinTNT has joined the channel
[06:01] lerchmo has joined the channel
[06:01] pyrotechnick: but that'll get you out of trouble
[06:01] meatmanek has left the channel
[06:01] mraleph has joined the channel
[06:01] pyrotechnick: techwraith: care to rephrase my answer?
[06:01] danfo has joined the channel
[06:02] techwraith: pyrotechnick: lol
[06:02] pyrotechnick: ahh im just trollin bro
[06:02] pyrotechnick: im angry that there's no cucumber in node yet
[06:02] techwraith: cucumber?
[06:02] pyrotechnick: tests written in english
[06:02] pyrotechnick: with regex matchers
[06:02] techwraith: oh, right
[06:02] pyrotechnick: and inline fixtures and stuff as tables
[06:03] techwraith: http://cukes.info/ right/
[06:03] techwraith: ?
[06:03] pyrotechnick: http://cukes.info/
[06:03] stonebranch has joined the channel
[06:03] pyrotechnick: yes
[06:03] matjas has joined the channel
[06:06] jhurliman: pyrotechnick, thanks
[06:06] davidcoallier has joined the channel
[06:08] brownies has joined the channel
[06:09] siong1987 has joined the channel
[06:09] donaldpcook has joined the channel
[06:10] nadirvardar has joined the channel
[06:13] meso__ has joined the channel
[06:13] Jamool has joined the channel
[06:14] nerdfunk: wow.
[06:14] nerdfunk: getting somewhere.. finally.
[06:14] nerdfunk: haha
[06:16] jhurliman: pyrotechnick, any idea how to use the pool options for the request library? we make external requests to two sites (youtube and facebook) and i'd like to use separate pools for each external site
[06:17] binarypie has joined the channel
[06:17] tonymilne: why do you need to pool your requests to them?
[06:17] tonymilne: i would have thought pooling saved your own resource, eg. database.
[06:17] tonymilne: because database cant handle more than x connections.
[06:17] jhurliman: tonymilne, the documentation says it will pool whether i like it or not, using node's default pool which has maxSockets set to 5 in node 0.4.7
[06:17] tonymilne: ah, ok.
[06:18] jhurliman: and then defines the relevant options for request as: "pool - A hash object containing the agents for these requests." and "pool.maxSockets - Integer containing the maximum amount of sockets in the pool."
[06:19] harth has joined the channel
[06:19] pyrotechnick: i think it means a pool of request objects not a queue of requests
[06:20] Tobsn: can anyone tell me why npm install express -g cant be found by node?
[06:20] briznad has joined the channel
[06:20] isaacs: Tobsn: because you install locally the things you need locally
[06:20] isaacs: Tobsn: or use npm link
[06:20] Tobsn: well i cant in this case
[06:20] isaacs: `npm link express` to link it into the project folder.
[06:20] isaacs: why can't you?
[06:20] Tobsn: because its an image
[06:20] isaacs: are you developing in a folder you don't have write access to? ;P
[06:21] Tobsn: why doesnt it find that fucking folder?
[06:21] Tobsn: i tried everything
[06:21] Tobsn: drives me nuts
[06:21] isaacs: Tobsn: you have not tried everything. it is outside of the require() path to try to make you not do exactly what you're trying to do.
[06:21] isaacs: but it's trivial to circumvent. either use link, which is the preferred option, or just set the NODE_PATH properly.
[06:21] Tobsn: fack.
[06:21] isaacs: but we want you to feel like yor'e doing something outside the golden path.
[06:21] isaacs: because you are.
[06:22] Tobsn: well what is node path exactly, /usr/local/lib/node_modules ?
[06:22] isaacs: no, that's where npm puts global things
[06:22] Tobsn: wtf...
[06:22] isaacs: but you could set the NODE_PATH environ to include that folder, and then it'd find them.
[06:22] svenlito has joined the channel
[06:22] Tobsn: so to what do i have to set it?
[06:22] isaacs: you are supposed to install locally the things you need to require() locally.
[06:23] temp01 has joined the channel
[06:23] isaacs: Tobsn: http://www.google.com/search?btnG=1&pws=0&q=environment+variables
[06:23] Skola has joined the channel
[06:23] Tobsn: i know how that stuff works
[06:23] isaacs: ok
[06:23] Tobsn: im just wondering what node_path is
[06:23] Tobsn: is it the /module folder?
[06:23] isaacs: scroll up a ffew lines
[06:23] Tobsn: and why is there lib/node and lib/node_modules
[06:23] jdalton has joined the channel
[06:24] jdalton has left the channel
[06:24] Tobsn: this part really gets me so annoyed... i cant tell you how...
[06:24] isaacs: because lib/node is where node puts a few items (nodewaf) and where it looks for modules by default.
[06:24] admc has joined the channel
[06:24] isaacs: i'm trying to explain to you that there is an easy path here.
[06:24] Tobsn: btw. i also want a working init.d script for node... every single one out there isnt working or made by someone who just copied the skeleton
[06:25] isaacs: 3 options: 1. install express locally. 2. use npm link to create a local symlink to the global express. 3. (not recommended by anyone) add /usr/local/lib/node_modules to your NODE_PATH environ
[06:25] isaacs: btw, that sounds like you just volunteered to write an init.d script for node ;)
[06:25] isaacs: i'm looking forward to it.
[06:25] Tobsn: erm no
[06:25] Tobsn: i tried for like 2 hours now
[06:26] Tobsn: and im close to smash my imacs screen
[06:26] Tobsn: and i love my imac.
[06:26] tonymilne: what are you putting in it?
[06:26] isaacs: you seem quite rageful.
[06:26] Tobsn: yep
[06:26] isaacs: at the moment, i mean.
[06:26] Tobsn: yep
[06:26] isaacs: normally i have seen you to be a relatively nice fellow, iirc.
[06:26] Tobsn: i am
[06:26] Tobsn: i just get super annoyed if things just dont work how i want it :P
[06:26] isaacs: you should maybe go for a walk. pet a kitty or something.
[06:26] Tobsn: hehe
[06:27] isaacs: :)
[06:27] Tobsn: the problem with the startup script is that i cant get an error back... if its not starting it still reports a start
[06:27] pyrotechnick: FYI - https://github.com/noblesamurai/cucumis
[06:27] isaacs: i really would suggest trying to see the beauty in local npm installs.
[06:27] pyrotechnick: there is a cucumber parser and testing framework
[06:27] isaacs: if it is simply not an option for some unforeseen reason, there is the NODE_PATH environment var option.
[06:28] jhurliman: (btw, peeking at the source for the request library revealed an undocumented feature. setting pool: false in the options disables connection pooling entirely for a request)
[06:28] isaacs: but that's dirty. if you have to do this, it'd be good to really have a nice long soak on why it is that it appears necessary.
[06:28] isaacs: isolation is a good thing in code.
[06:30] Tobsn: hmm yeah
[06:30] Tobsn: problem is that the app is serving a tracking system right now that generates around 120k in profit right now
[06:30] Tobsn: per day
[06:30] Tobsn: and we try to move it into the cloud
[06:30] FireFly has joined the channel
[06:30] Tobsn: and shit is breaking left and right cause TJ cant seem to keep function names the same between express versions
[06:30] Tobsn: and other funny stuff
[06:31] Tobsn: which is very unpleasant.
[06:31] ChrisPartridge: SubStack: ping
[06:31] tim_smart: Welcome to new and changing software :)
[06:31] tim_smart: Getting more stable though
[06:32] SamuraiJack has joined the channel
[06:32] LowValueTarget has joined the channel
[06:34] astropirate has joined the channel
[06:34] pyrony has joined the channel
[06:34] Tobsn: seriously, im most pissed off that there is no init.d script for node
[06:34] GriffenJBS has joined the channel
[06:35] tim_smart: Tobsn: What OS does your server run?
[06:35] Tobsn: debian
[06:35] tim_smart: OK. Does debian come with upstart these days?
[06:36] Tobsn: of course not
[06:36] Tobsn: and you cant just switch or run them both
[06:36] tim_smart: Ubuntu uses both?
[06:36] Tobsn: and im not using ubuntu cause those boxes arent desktop machines.
[06:36] Tobsn: :P
[06:37] tim_smart: ubuntu-server rather
[06:37] Tobsn: what amazes me the most is that nobody came up with a working init.d solution
[06:37] Tobsn: how do people deploy node?
[06:37] Tobsn: or is everyone using ubuntu?!
[06:37] tim_smart: With other monitoring tools
[06:37] tim_smart: nodejitsu uses forever or something
[06:37] Tobsn: oh
[06:37] tonymilne: init + monit on ubuntu. ;)
[06:37] vikstrous: chjj: I have a funny thing that's going on now... each function that's called async is supposed to make a modification to an object, but only the last modification remains when the loop is over... why?
[06:38] Tobsn: could i use monit without an init script?
[06:38] Tobsn: tim_smart, thats all bananas because you dont want node monitor node
[06:38] tim_smart: Tobsn: Monit is mainly just a tool to ensure no downtime
[06:38] Tobsn: its a tool to monitor a process
[06:38] tim_smart: Tobsn: I agree there
[06:38] tim_smart: That is why I don't use it :)
[06:39] Tobsn: sike.
[06:39] kawaz_air has joined the channel
[06:39] jhurliman: Tobsn, i was under the impression that most people don't launch node directly, they use one of the wrappers that handles restarting after a crash, alerting, load balancing, or whatever your requirements are
[06:39] jdp has joined the channel
[06:40] Tobsn: what if you restart your box?
[06:40] tim_smart: jhurliman: Yes, but he wants to know what such 'wrappers' are
[06:40] Tobsn: what if you have 40 cloud servers and you restart them all
[06:40] Tobsn: how is it coming back?
[06:40] Tobsn: i know what wrappers are out there, i still want a init script
[06:40] jhurliman: ahh. i'm only familiar with monit right now, but have been browsing for other options too
[06:41] jhurliman: monit has an init script at least
[06:41] tim_smart: Monit can exec a script on system reboot
[06:41] tim_smart: Or you can have it make an http request to the intended port, and if the server is down, restart etc
[06:42] jhurliman: i use the latter. no need to explicitly run anything on startup. if monit is running and it detects that node is not running, it will start it
[06:43] Tobsn: nevermind, got it working with monit without init script
[06:43] ph^ has joined the channel
[06:43] tim_smart: :)
[06:44] vikstrous: can someone take a look at this? the problem i'm having is that after a for loop executes a number of async functions, it calls render_response and passes it the variable "data". However, it only has the last modification made by the last function to terminate
[06:44] vikstrous: http://pastebay.com/122843
[06:45] vikstrous: it's probably a coffeescript problem :(
[06:45] mtsl has joined the channel
[06:46] tim_smart: vikstrous: You will to have a closure to wrap the data and i variables.
[06:47] vikstrous: tim_smart: What does that mean? How do I do that?
[06:47] tim_smart: The classic case in async code where the loop finishes iterating before the callback is called
[06:47] alcuadrado has joined the channel
[06:48] dve has joined the channel
[06:48] alcuadrado: Hi there! anyone has used formidable?
[06:48] alcuadrado: I'm in doubt about kind of errors can the parse's callback receive
[06:49] emattias has joined the channel
[06:50] tim_smart: vikstrous: https://gist.github.com/64073f5bdee248c6e53e
[06:50] `3rdEden has joined the channel
[06:50] tim_smart: or...
[06:51] SubStack: ChrisPartridge: pong
[06:51] mtduv: :q
[06:51] tim_smart: vikstrous: https://gist.github.com/2ab0e95295f12e863bc1
[06:52] ChrisBuchholz has joined the channel
[06:53] ChrisPartridge: SubStack: Is there anyway to pass opts to dnode.listen to include more packages to bundle with browserify?
[06:55] vikstrous: tim_smart: Wow. Thanks! That worked!
[06:55] vikstrous: I'll figure out later when it's not 3 am
[06:55] vikstrous: why it did
[06:57] groom has joined the channel
[06:58] kryptom has joined the channel
[06:59] _jdalton has joined the channel
[07:01] _jdalton has left the channel
[07:01] fangel has joined the channel
[07:02] mike5w3c_ has joined the channel
[07:03] yozgrahame has joined the channel
[07:03] iwinulose has joined the channel
[07:06] skohorn_ has joined the channel
[07:08] andrewfff has joined the channel
[07:08] upNic has joined the channel
[07:08] mraleph has joined the channel
[07:09] mAritz has joined the channel
[07:10] iFire has joined the channel
[07:12] SubStack: ChrisPartridge: just do this https://github.com/substack/dnode/tree/master/examples/web-browserify
[07:13] upNic has left the channel
[07:14] galaxywatcher has joined the channel
[07:14] dgathright has joined the channel
[07:14] upNic has joined the channel
[07:14] harth has joined the channel
[07:17] MikhX_ has joined the channel
[07:17] viz has joined the channel
[07:18] jonathantaylor has joined the channel
[07:18] ivanfi has joined the channel
[07:19] mjr_ has joined the channel
[07:19] markwubben has joined the channel
[07:20] Druide_ has joined the channel
[07:20] upNic has joined the channel
[07:22] ChrisPartridge: SubStack: Ah, so if it's already mounted it won't do it inside dnode?
[07:23] kal_ has joined the channel
[07:26] meso_ has joined the channel
[07:26] MikhX has joined the channel
[07:26] ChrisPartridge: Woohoo, works a treat - express, dnode and smoothie charts for win
[07:29] akume has joined the channel
[07:31] akume: i'm having a problem and any assistance would be helpful. i'm running a node server locally on port :3001 but when i go to the browser, the page isn't getting loaded up. i tried reinstalling node to no avail, any other options i should look into?
[07:32] akume: also, when i do a 'lsof -i :3001' the node server is running
[07:33] akume: the name says "*.redwood-broker"
[07:33] SeyZ has joined the channel
[07:33] Bj_o_rn has joined the channel
[07:34] [AD]Turbo has joined the channel
[07:34] mjr_: mjr:~$ grep 3001 /etc/services
[07:34] mjr_: redwood-broker 3001/udp # Redwood Broker
[07:34] mjr_: That's what port 3001 is commonly known as.
[07:35] bojicas has joined the channel
[07:35] akume: so i should take it off port 3001?
[07:36] mjr_: Oh, 3001 is probably fine
[07:36] akume: ok
[07:36] irPhunky has joined the channel
[07:36] mjr_: best to add logging to your program at each step of the way, and if that doesn't reveal the cause, then run a packet sniffer.
[07:36] mjr_: Like http_trace or tcpdump.
[07:37] akume: i also noticed i get a ERR_EMPTY_RESPONSE on chrome
[07:38] mjr_: Can you gist your server code?
[07:38] qFox has joined the channel
[07:38] icebox has joined the channel
[07:38] akume: ok
[07:38] akume: one sec
[07:40] iori has joined the channel
[07:41] akume: https://gist.github.com/2a999b4d5d7f2dcddb29
[07:41] Fredderf has joined the channel
[07:42] msucan has joined the channel
[07:42] mjr_: what's ./controllers/index_controller.js
[07:43] akume: just organized my code in an mvc fashion
[07:44] akume: index_controller for the first landing page
[07:44] neurone-1337 has joined the channel
[07:44] jacter has joined the channel
[07:44] q_no has joined the channel
[07:45] akume: it essentially just renders the index view
[07:45] svenlito has joined the channel
[07:48] Tobsn: anyone an idea why monit cant start forever?
[07:48] DennisRasmussen has joined the channel
[07:51] meso_ has joined the channel
[07:51] [AD]Turbo: hi there
[07:51] hellp has joined the channel
[07:52] Mar4ne1 has joined the channel
[07:52] Mar4ne1: hello all
[07:52] akume: @ tobsn have you tried autorestart
[07:52] Tobsn: hmm?
[07:52] Tobsn: forever?
[07:53] tobiassjosten has joined the channel
[07:53] akume: you want something to restart everytime you make a change correct
[07:53] Tobsn: no
[07:54] Tobsn: i can run forever start /script.js - works
[07:54] Tobsn: i can run node script.js - works
[07:54] Tobsn: i can run curl localhost and it will return something
[07:54] Tobsn: but i cant check with monit if on localhost 80 / is there or not and stop/start forever or node
[07:55] akume: oh, i'm not sure about that
[07:55] sendark has joined the channel
[07:55] akume: sorry
[07:55] industrial has joined the channel
[07:56] industrial: With cloud9 I can't change themes, show invisibles etc. These menu items do nothing atm for me :S
[07:56] industrial: (local)
[07:58] troessner has joined the channel
[07:58] akume: have you tried aptana as an ide?
[07:59] industrial: I'm a long time Vim user always looking for something new. I've used most IDE's over time but right now my job doesn't really require an IDE
[08:00] dies_el has joined the channel
[08:00] industrial: well, more like the framework I'm coding with (CakePHP) at the job won't have good IDE support because IDE's won't be able to do completions etc on the code.
[08:00] akume: gotcha
[08:01] industrial: I'm secretly hoping for cloud9 to have a vim plug or something
[08:02] jonathantaylor has joined the channel
[08:02] akume: well i'ma try another restart on this computer and hopefully node will get back to it's senses and give the browser a response
[08:02] industrial: vim is becoming very very old, and I don't agree with backwards compatibility coding :P You should do that with big corporate software that just needs to keep running a bit longer, not with your main tool for producing code that _could_ be the awesomest thing evarrr :P
[08:03] meso__ has joined the channel
[08:03] industrial: the whole plugin system and language (vimscript) sucks ass basically
[08:03] industrial: by default, even the indenting for all HTML doesn't work in any PHP file >: |
[08:03] industrial:
[08:05] uchuff has joined the channel
[08:05] robhawkes has joined the channel
[08:07] MrTopf has joined the channel
[08:07] rauchg has joined the channel
[08:10] `3rdEden: Tobsn: I have no issues with monit & forever ._.
[08:11] Tobsn: conf please!
[08:11] Tobsn: im trying since forever
[08:11] sikker has joined the channel
[08:11] Tobsn: do you have anything special set?
[08:11] `3rdEden: Tobsn: I just created a special init.d script for it
[08:11] `3rdEden: to start & stop servers
[08:11] Tobsn: can you pastebin?
[08:11] Tobsn: pleeeease
[08:11] Tobsn: i just build two simple script too and it didnt work
[08:12] `3rdEden: Tobsn: pastebin, srsly?
[08:12] `3rdEden: gist YO@
[08:12] Tobsn: gist
[08:12] Tobsn: whatever ;)
[08:12] sikker: I use dependency injection to give "fs" and "sys" to my libraries, rather than require() them inside the library, in order to accomodate reusability and unit testing. is this overkill? should I just, in other contexts, spoof require()?
[08:12] stonebranch has joined the channel
[08:12] `3rdEden: Tobsn: got to search access to the server :$
[08:12] Tobsn: i thought its the PATH variable so im setting that in the init script but thats not it
[08:12] Tobsn: also added the nodepath
[08:13] Tobsn: but didnt work either
[08:13] Tobsn: it sjust not coming up
[08:13] febits has joined the channel
[08:13] Tobsn: everything works when i do it manually but not if monit does it
[08:14] `3rdEden: Tobsn: still searching! :$
[08:14] Tobsn: :)
[08:14] eldios has joined the channel
[08:14] nexxy has joined the channel
[08:14] nexxy has joined the channel
[08:14] `3rdEden: aaaah
[08:15] Tobsn: yeah its not starting
[08:15] Tobsn: and nothing in the logs
[08:15] jetienne has joined the channel
[08:15] Nican has joined the channel
[08:16] path[l] has joined the channel
[08:16] `3rdEden: Found it, stripping out our dedicated codez
[08:16] `3rdEden: so gimma min
[08:16] `3rdEden: FFS
[08:16] Tobsn: :D
[08:16] `3rdEden: I just closed the gist -_-
[08:17] copongcopong has joined the channel
[08:18] mc_greeny has joined the channel
[08:18] `3rdEden: Tobsn: https://gist.github.com/964088
[08:19] `3rdEden: and my server.js just provides a /ping url so I can monitor it without having to do nasty database lookups
[08:21] thalll has joined the channel
[08:21] unomi has joined the channel
[08:22] Country has joined the channel
[08:22] awenkhh has joined the channel
[08:23] Tobsn: nope
[08:23] TomY_ has joined the channel
[08:23] Tobsn: not working
[08:24] Tobsn: [UTC May 10 08:23:34] info : 'forever' start: /etc/init.d/forever
[08:24] Tobsn: just says that and nothing happens
[08:25] `3rdEden: wtf :D
[08:25] `3rdEden: Do you have forever in /usr/local/bin/forever
[08:26] `3rdEden: gist your monitrc
[08:27] Tobsn: yep
[08:27] Tobsn: all there
[08:27] Tobsn: monitrc is default
[08:27] q_no has joined the channel
[08:28] Tobsn: only settings ON in the monitrc are
[08:28] Tobsn: set daemon 120 # check services at 2-minute intervals
[08:28] Tobsn: with start delay 10 # optional: delay the first check by 4-minutes (by
[08:28] Tobsn: and
[08:28] Tobsn: include /etc/monit/conf.d/*
[08:28] Tobsn: yep its not working
[08:28] Tobsn: wtf.
[08:28] Tobsn: drives me nuts
[08:28] `3rdEden: wtf
[08:29] `3rdEden: and you changed the ports & address as well in the monit rc shizzle i gisted?
[08:29] FireFly|n900 has joined the channel
[08:29] Tobsn: yep
[08:29] Tobsn: all changed
[08:29] Tobsn: [UTC May 10 08:27:28] error : 'forever' failed, cannot open a connection to INET[localhost:80] via TCP
[08:29] Tobsn: [UTC May 10 08:27:28] info : 'forever' trying to restart
[08:29] Tobsn: [UTC May 10 08:27:28] info : 'forever' stop: /etc/init.d/forever
[08:29] Tobsn: [UTC May 10 08:27:28] info : 'forever' start: /etc/init.d/forever
[08:29] Tobsn: but nothing happens
[08:29] `3rdEden: odddd
[08:30] `3rdEden: Do you see a monit health check inside your node app?
[08:31] Tobsn: hu?
[08:31] jacobolus has joined the channel
[08:33] mc_greeny has joined the channel
[08:33] `3rdEden: Well monit does a HTTP request to your node application
[08:33] `3rdEden: To check if it's still alive
[08:33] Tobsn: i straced the process
[08:34] `3rdEden: geek.
[08:34] `3rdEden: :D
[08:34] Tobsn: http://pastebin.com/raw.php?i=dzjjgiVd
[08:34] `3rdEden: I don't speak strace ;(
[08:35] `3rdEden: maybe you have a typo?
[08:35] `3rdEden: access("/etc/init.d/foreverstop", X_OK) = 0
[08:35] Tobsn: hu?
[08:35] `3rdEden: shouldn't that be /etc/init.d/forever stop?
[08:36] andrewfff has joined the channel
[08:37] Tobsn: ah thats the old one i still had in there
[08:37] ewdafa has joined the channel
[08:37] Tobsn: i got into monit how monit would start the process
[08:37] Tobsn: sudo su and castrated env
[08:37] Tobsn: and if i call the startup script its executing with no error but there is nothing in the process list
[08:37] Skola has joined the channel
[08:38] febits[0] has joined the channel
[08:38] `3rdEden: have you verified if your `forever` works in /etc/init.d as expected?
[08:38] Tobsn: yep
[08:38] Tobsn: if i call it myself it works
[08:39] xsyn has joined the channel
[08:39] Tobsn: http://pastebin.com/raw.php?i=N8HVgr1x
[08:39] viz has joined the channel
[08:39] `3rdEden: how od you start your monit?
[08:39] `3rdEden: with or without sudo
[08:39] Tobsn: without
[08:39] Tobsn: its a debian box
[08:39] Tobsn: im on it as root
[08:39] `3rdEden: I'm also on debian
[08:40] Tobsn: ha
[08:40] xsyn: Can I ask a bit of a noob question?
[08:40] Tobsn: i kept pressing ps aux
[08:41] Tobsn: and for a second i saw this:
[08:41] xsyn: I'm struggling with my routes
[08:41] Tobsn: root 3525 0.0 0.0 4000 556 ? S 08:40 0:00 /bin/sh /etc/init.d/forever stop
[08:41] Tobsn: root 3527 0.0 1.4 630548 14556 ? R 08:40 0:00 node /usr/local/bin/forever stop /www/app/app.js
[08:41] Tobsn: root 3528 0.0 0.0 4000 556 ? S 08:40 0:00 /bin/sh /etc/init.d/forever start
[08:41] Tobsn: root 3529 0.0 1.4 630612 14624 ? R 08:40 0:00 node /usr/local/bin/forever start /www/app/app.js
[08:41] xsyn: I've got a route that works
[08:41] xsyn: ala app.get('/dreams.:format?', function(req, res){
[08:41] xsyn: but now I'm trying to add a route
[08:41] `3rdEden: Tobsn: that looks like a working process to me
[08:41] xsyn: app.get('dreams/new', function(req, res) {
[08:41] Tobsn: its only there for a second and it calls start and stop at the same time
[08:41] Esteb has joined the channel
[08:42] xsyn: and I'm being told I can't GET it
[08:42] xsyn: is there something special I need to do for subroutes?
[08:42] Tobsn: why would monit call both?!
[08:42] `3rdEden: Tobsn: for a restart, it needs to verify that it's stopped first
[08:43] `3rdEden: thats why it does a stop before a start
[08:43] Tobsn: but its not starting it then
[08:43] `3rdEden: it is according to your ps output `/bin/sh /etc/init.d/forever start`
[08:44] Tobsn: that works
[08:44] Tobsn: if i run it
[08:44] `3rdEden: maybe pipe the output to a file
[08:44] steevel has joined the channel
[08:44] `3rdEden: lik$DAEMON start blablablba.js >> startoutput.log
[08:45] Tobsn: this is just insane
[08:45] herbySk has joined the channel
[08:46] seivan has joined the channel
[08:46] chjj: wow, Object.defineProperty is killing performance in this benchmark i wrote
[08:46] Tobsn: well that just outputs what forever outputs
[08:46] `3rdEden: yeh, it works fine here ;!
[08:46] cwo has joined the channel
[08:46] Tobsn: # tail -f /var/log/forever.log
[08:46] Tobsn: info: Running action: start
[08:46] Tobsn: info: Forever processing file:
[08:46] Tobsn: nothing else
[08:47] `3rdEden: does your app crash?
[08:47] `3rdEden: or anything else
[08:47] Tobsn: i dont know
[08:47] Tobsn: how would i? hehe
[08:47] `3rdEden: because the script seems to be doing it job by the looks of it
[08:47] `3rdEden: tail the forever log in the tmp dir?
[08:48] chjj: i was trying to see if a linked list would actually be worthwhile in javascript, i do Object.defineProperty(obj, 'next', ...) with a reference to the next object in the list, bam, performance drops like crazy
[08:48] markwubben has joined the channel
[08:48] chjj: with a regular enumarable property its great though
[08:48] Tobsn: there is nothing in the forever log file
[08:49] Tobsn: coming from forever itself
[08:49] test2 has joined the channel
[08:49] Tobsn: wow.
[08:49] Tobsn: today i learned to hate node.
[08:49] Tobsn: ;)
[08:49] xsyn has joined the channel
[08:50] chjj: nonsense
[08:51] Tobsn: yep, added -l -o -e to forever
[08:51] Tobsn: no output whatsoever
[08:51] `3rdEden: Tobsn: because you fail it doesn't mean that node fails :$
[08:51] `3rdEden: :D
[08:51] Tobsn: well
[08:51] Tobsn: tell me whats wrong
[08:51] Tobsn: or at least how to debug it
[08:52] `3rdEden: the forever instance add logs to /tmp/forever/forever.randomstring.log
[08:52] `3rdEden: with the output of your application
[08:52] `3rdEden: do you see any information there?
[08:52] `3rdEden: have you tried restarting your server? so that monit is started with sudo rights?
[08:53] `3rdEden: does your app require a sudo'd port? like 80 or what ever?
[08:53] kal_ has joined the channel
[08:53] Tobsn: dude
[08:53] Tobsn: hehe
[08:53] Tobsn: ;)
[08:53] Tobsn: i tried like everything
[08:53] Tobsn: yeah it requires 80
[08:54] Tobsn: wait let me try 8080
[08:54] Tobsn: just for the heck of it
[08:54] `3rdEden: ACTION waits for it to work
[08:54] deuf has joined the channel
[08:55] Viper-7 has joined the channel
[08:55] Tobsn: nope
[08:55] Tobsn: same result
[08:55] Tobsn: absolutely nothing
[08:56] `3rdEden: Ok, i give up
[08:57] Tobsn: omg
[08:57] Tobsn: it just started working
[08:57] `3rdEden: ..
[08:57] Tobsn: i have npm global
[08:57] Tobsn: npm link express in the folder solved it
[08:57] Tobsn: wtf.
[08:57] Tobsn: im setting NODE_PATH in the init script
[08:58] `3rdEden: hmzz
[08:58] andrewfff has joined the channel
[08:58] Tobsn: PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
[08:58] Tobsn: NODE_PATH=/usr/local/lib/node_modules
[08:58] `3rdEden: lol ;D
[08:58] Tobsn: hmm?
[08:58] Tobsn: arg
[08:59] `3rdEden: I'm serously starting to hate npm
[08:59] `3rdEden: 1.0*
[08:59] Tobsn: yep
[08:59] Tobsn: isaacs just warned me about it
[08:59] Tobsn: but it sucks
[08:59] Tobsn: i want all global
[09:00] `3rdEden: Global by default was win,
[09:00] `3rdEden: it should be been local optional using npm install -l
[09:00] admc has joined the channel
[09:00] `3rdEden: it causes waay to much issues
[09:00] Tobsn: yep
[09:00] Tobsn: exactly what i said
[09:00] Tobsn: -l
[09:01] Tobsn: oaky
[09:01] Tobsn: got it working global
[09:01] indutny has joined the channel
[09:01] `3rdEden: great
[09:01] Tobsn: export NODE_PATH=/usr/local/lib/node_modules
[09:01] Tobsn: $DAEMON start /www/app/app.js
[09:01] Tobsn: fml.
[09:01] Tobsn: 4 hours
[09:01] `3rdEden: ACTION updates his gist
[09:01] Tobsn: i think im gonna fork npm with NODE_PATH set by default and no -g but -l
[09:01] Tobsn: ;)
[09:01] `3rdEden: call it `gpm` :D
[09:02] Tobsn: yep
[09:02] mscdex: someone should name a daemonizer for node scripts, "iddqd"
[09:02] Tobsn: gonna do that right now
[09:02] deuf has left the channel
[09:03] mscdex: but gpm = mouse server for console apps!
[09:03] mscdex: :p
[09:03] `3rdEden: oh
[09:03] `3rdEden: ;D
[09:03] Tobsn: i dont fucking care
[09:03] Tobsn: they also have monit for node and connect
[09:03] Tobsn: its all already used somewhere
[09:04] levi501d has joined the channel
[09:04] Tobsn: https://github.com/tobsn/gpm
[09:04] Tobsn: har.
[09:06] `3rdEden: :D
[09:06] `3rdEden: besure to make a pull request :$
[09:06] bzinger has joined the channel
[09:07] Tobsn: https://github.com/tobsn/gpm
[09:07] Tobsn: now the readme is perfect.
[09:07] mscdex: oh no, microsoft just bought skype
[09:07] mehlah has joined the channel
[09:08] wao: is it official already?
[09:08] `3rdEden: Tobsn: you don't have a gpmjs.org :D
[09:08] Tobsn: yeah and im not getting it
[09:09] Tobsn: but i have node.gd
[09:09] Tobsn: :P
[09:09] mscdex: wao: yeah
[09:09] mscdex: wao: they're going to announce it tomorrow it looks like
[09:09] mscdex: $8.5b
[09:10] Tobsn: https://github.com/tobsn/gpm
[09:10] Tobsn: hehe.
[09:11] k1ttty has joined the channel
[09:11] andrewfff has joined the channel
[09:11] dsirijus has joined the channel
[09:13] `3rdEden: omg + watch + watch!
[09:13] djcoin has joined the channel
[09:14] Tobsn: lol
[09:14] Tobsn: 8.5b?
[09:14] Tobsn: lol
[09:15] Tobsn: ebay bought skype for 2b or something
[09:15] Tobsn: and they couldnt make anything out of it
[09:15] Tobsn: wow... microsoft really cant figure out the online market
[09:16] philhawksworth has joined the channel
[09:16] philhawksworth has left the channel
[09:17] Poetro has joined the channel
[09:17] Tobsn: Last year, Skype had revenue of $860 million on which it posted an operating profit of $264 million. However, it overall made a small loss, of $7 million, and had long-term debt of $686 million. A $7 billion purchase price would represent a huge premium over the $3-4 billion conjectured in the Facebook and Google deals.
[09:17] Tobsn: lol.
[09:18] Tobsn: thats like valuating facebook at i dont know how many billion while they're making 200m in profit
[09:18] SvenDowideit has joined the channel
[09:19] andrewfff has joined the channel
[09:20] broofa has joined the channel
[09:22] `3rdEden: Microsoft probably hopes that Skype has pattents to some voip so they can sue google over google voice :$
[09:22] m00p has joined the channel
[09:23] amerine has joined the channel
[09:24] Tobsn: lol
[09:24] Tobsn: maybe
[09:25] `3rdEden: OMG WEBGL HAXORSS YOUR COMPUT0RS DISABLE!! it alllll <-- nutshell version of http://bit.ly/mInx08
[09:25] Treffynnon has joined the channel
[09:26] blueadept has joined the channel
[09:27] Tobsn: is that like the crazy chrome pwnage hack from yesterday?
[09:27] Tobsn: which only works on windows? ;)
[09:27] `3rdEden: idk :?
[09:27] andrewfff has joined the channel
[09:27] nexxy: and only through flash?
[09:27] Tobsn: you didnt see that?
[09:27] `3rdEden: I wasn't even awre of a hack
[09:27] `3rdEden: Chrome is just stupid to bundle flash by default
[09:28] Tobsn: http://www.vupen.com/demos/VUPEN_Pwning_Chrome.php
[09:28] Tobsn: there ya go
[09:28] `3rdEden: ACTION opens it in chrome
[09:28] Tobsn: its not flash
[09:28] nexxy: mhmm
[09:29] Tobsn: well, its windows, im not impressed nor surprised.
[09:29] Tobsn: if they wouldve done it cross platform
[09:29] Tobsn: that would be fun
[09:29] Tobsn: i would silent install a botnet on chrome users :P
[09:29] Tobsn: by now.
[09:29] Tobsn: :P
[09:30] nexxy: that says a lot about your character
[09:30] `3rdEden: Tobsn secretly leads AnonOps
[09:30] nexxy: LOL
[09:30] nexxy: I happen to know for a fact
[09:30] nexxy: that you don't ;3
[09:31] nexxy: topiary thinks he does ;P
[09:31] Tobsn: no comment.
[09:31] nexxy: ;3
[09:31] Tobsn: all i have to say is that i dont own a playstation.
[09:31] nexxy: that's in your best interest!
[09:32] Tobsn: im setting up a google alert now for "pippa black naked"
[09:33] indutny has joined the channel
[09:33] copongcopong has joined the channel
[09:34] Tobsn: i wonder why google stopped google notebook
[09:39] indutny has joined the channel
[09:41] sreeix has joined the channel
[09:43] meso_ has joined the channel
[09:43] eldios: because it was not $$$ enough (and btw they were doing it wrong)
[09:45] gmci has joined the channel
[09:46] m64253 has joined the channel
[09:47] `3rdEden|stuff: <-- gonna do some stuff
[09:47] nexxy: <-- gonna keep sitting here typing and staring
[09:47] `3rdEden|stuff: like 90% of the users are going here
[09:47] `3rdEden|stuff: ACTION waves
[09:49] danfo has joined the channel
[09:51] Opaque has joined the channel
[09:53] azeroth___ has joined the channel
[09:54] suckerpunch has joined the channel
[09:55] ShizWeaK has joined the channel
[09:57] zhware has joined the channel
[09:59] vish- has joined the channel
[10:03] galaxywatcher has joined the channel
[10:03] k1ttty has joined the channel
[10:05] SvenDowideit has joined the channel
[10:05] Xano has joined the channel
[10:06] rchavik has joined the channel
[10:07] JoeYang_ has joined the channel
[10:10] Qbix2 has joined the channel
[10:15] Frippe has joined the channel
[10:15] Frippe has joined the channel
[10:18] amerine has joined the channel
[10:18] ChrisBuchholz has joined the channel
[10:19] rchavik has joined the channel
[10:20] xsyn_ has joined the channel
[10:20] jonaslund has joined the channel
[10:22] seivan has joined the channel
[10:24] danfo_ has joined the channel
[10:25] temp01 has joined the channel
[10:25] ber_ has joined the channel
[10:26] mike5w3c has joined the channel
[10:28] galaxywatcher has joined the channel
[10:28] Schmallon has joined the channel
[10:28] openpercept has joined the channel
[10:33] k1ttty has joined the channel
[10:33] thalll has joined the channel
[10:37] MattJ has joined the channel
[10:39] kawaz_air has joined the channel
[10:42] Mar4ne1: Hello everyone
[10:42] Mar4ne1: I'm a relatively recent node.js developer
[10:42] Mar4ne1: and I was looking for a bit of assistance
[10:43] squeeks: just ask.
[10:43] Mar4ne1: I've developed an instant messaging system (using node.js and Socket.io)
[10:43] Rob- has joined the channel
[10:43] Mar4ne1: and now i'm securing my site using SSL
[10:43] Mar4ne1: however, WebSocket isn't secured on that server running node.js
[10:43] `3rdEden|stuff: (set the option secure:true in socket.io's clientside constructor)
[10:44] Mar4ne1: how do i specify the certs
[10:44] `3rdEden|stuff: o
[10:44] Mar4ne1: o?
[10:44] Emmanuel__: o.
[10:44] `3rdEden|stuff: /me googles
[10:44] FireFly|n900 has joined the channel
[10:44] Mar4ne1: ^^ as above :P
[10:44] `3rdEden|stuff: socket.io used to have an ssl example
[10:45] `3rdEden|stuff: but with the 0.7 release rauchg also cleared the complete repo history
[10:45] Mar4ne1: they changed the HTTP moduel i think
[10:45] `3rdEden|stuff: yay for forks
[10:45] `3rdEden|stuff: https://github.com/Hotelsnl/Socket.IO-node/blob/master/example/server-ssl.js
[10:45] `3rdEden|stuff: does that help?
[10:45] Mar4ne1: looking now :D
[10:46] `3rdEden|stuff: and the ssl enabled client: https://github.com/Hotelsnl/Socket.IO-node/blob/master/example/chat-ssl.html
[10:46] bruse: forks.. or git history? :P
[10:48] Mar4ne1: m thanks a heap 3rdEden :)
[10:48] Mar4ne1: i'm going to spend some time going through this, see if i can integrate it
[10:50] Bonuspunkt has joined the channel
[10:50] ezl has joined the channel
[10:50] s1985 has joined the channel
[10:54] broofa has joined the channel
[10:54] hybsch has joined the channel
[10:55] Jalava: I wonder if there exists project that works similarily to express-resource but allows commands to resources
[10:56] Bonuspunkt has joined the channel
[10:56] Jalava: like /resource/:id/dosomething/paramA/:value/paramB/:value
[10:57] jonaslund has joined the channel
[10:57] andrewfff has joined the channel
[10:58] roman____ has joined the channel
[10:58] matwill has joined the channel
[10:58] sreeix_ has joined the channel
[10:59] roman____: mscdex, got a sec? Having a few problems with node-oscar.
[11:01] fson__ has joined the channel
[11:02] pt_tr has joined the channel
[11:02] s1985 has left the channel
[11:03] TomY has joined the channel
[11:05] danfo has joined the channel
[11:05] nexxy has joined the channel
[11:05] nexxy has joined the channel
[11:05] indutny has joined the channel
[11:05] broofa has joined the channel
[11:08] amerine has joined the channel
[11:08] f^ has joined the channel
[11:08] matte has joined the channel
[11:10] dyer has joined the channel
[11:10] nexxy has joined the channel
[11:10] nexxy has joined the channel
[11:11] febits has joined the channel
[11:11] andrewfff has joined the channel
[11:12] fairwinds has joined the channel
[11:13] eb4890 has joined the channel
[11:15] prof-freud has joined the channel
[11:15] copongcopong has joined the channel
[11:15] sreeix has joined the channel
[11:18] tmedema has joined the channel
[11:18] Qbix2 has joined the channel
[11:19] jeromegn has joined the channel
[11:19] viz has joined the channel
[11:20] nexxy has joined the channel
[11:20] nexxy has joined the channel
[11:22] temp01 has joined the channel
[11:24] rbnio has joined the channel
[11:27] tmedema: Anyone has a clue on why flash could potentially cause a ECONNRESET error? http://groups.google.com/group/nodejs/browse_thread/thread/c6beb0e43cb61c1b#
[11:27] JulioBarros has joined the channel
[11:27] max has joined the channel
[11:28] tahu has joined the channel
[11:29] q_no has joined the channel
[11:30] Frippe has joined the channel
[11:30] Frippe has joined the channel
[11:31] rbnio has joined the channel
[11:31] squeeks: Still having fun with it eh?
[11:31] JohnnyL has joined the channel
[11:34] jetienne: q. is there another tool like inliner ?
[11:34] `3rdEden|stuff: depends on what inliner does
[11:34] jetienne: https://github.com/remy/inliner
[11:34] jetienne: `3rdEden: in short, it takes an url and convert that in single html file, and pack it
[11:35] `3rdEden: yeh i read the readme ;)
[11:35] jetienne: `3rdEden: nice tool, i was using it for packaging webapp. but it is buggy and fails to output anything now
[11:35] `3rdEden: trying to remember fo zakas or stroyan did something like.. (from yahoo)
[11:36] jetienne: `3rdEden: those are github usernames ?
[11:37] `3rdEden: i'm talking about http://www.nczonline.net/blog/about/ and http://phpied.com/
[11:39] jetienne: `3rdEden: thanks i will look
[11:39] `3rdEden: https://github.com/nzakas/ https://github.com/nzakas/
[11:39] `3rdEden: nzakas has cssembed.. but thats about it :$
[11:40] jetienne: `3rdEden: hmm ok
[11:41] jetienne: `3rdEden: how do you package your webapp ?
[11:41] jetienne: any alternative ?
[11:41] `3rdEden: custom code base
[11:42] jetienne: this is what i had before
[11:42] `3rdEden: So I don't have to "package" anything, it's automagically generated by our hooks :)
[11:42] dnolen has joined the channel
[11:43] indutny has joined the channel
[11:43] lukegalea has joined the channel
[11:44] philhawksworth has joined the channel
[11:44] sendark: error: CastError: Cast to undefined failed for value "undefined"
[11:44] sendark: anyone familiar with this mongoose error?
[11:46] `3rdEden: https://github.com/LearnBoost/mongoose/issues/201
[11:46] SeyZ has joined the channel
[11:46] sendark: cheers `3rdEden
[11:46] boghog has joined the channel
[11:46] `3rdEden: My amazing google powers saved the day once again D:
[11:46] sendark: hehe
[11:47] sendark: so i'm i just meant to define the object somewhere else in my schema?
[11:48] openpercept has joined the channel
[11:48] pastak has joined the channel
[11:51] Xano has joined the channel
[11:54] sendark: TypeError: Object # has no method 'update' ? jesus now it's broken.
[11:54] sendark: and its lunchtime
[11:54] sendark: DAMN
[11:54] sendark: hehe
[11:54] fairwinds has joined the channel
[11:56] MrTopf has joined the channel
[11:56] MrTopf has joined the channel
[11:57] tiagoa has joined the channel
[11:59] `3rdEden: mmm lunch good idea sendark
[11:59] viz has joined the channel
[12:01] hellp has joined the channel
[12:01] Rob- has joined the channel
[12:01] mike5w3c has joined the channel
[12:02] christkv has joined the channel
[12:03] GasbaKid has joined the channel
[12:04] no-gooder has joined the channel
[12:04] Will| has joined the channel
[12:06] deedubs has joined the channel
[12:07] rbnio has left the channel
[12:08] Qbix2 has joined the channel
[12:10] hasenj has joined the channel
[12:11] Mar4ne1: Hi guys, is there a dedicated socket.io irc channel? I can't seem to find any references online
[12:11] Mar4ne1: I'm trying to setup a secured, socket.io, node server
[12:12] Mar4ne1: however, after using this basic documentation http://nodejs.org/docs/v0.4.1/api/tls.html#tLS_
[12:12] Mar4ne1: i'm unable to attach a socket.io listener to the created tls server
[12:12] Mar4ne1: any thoughts
[12:13] jtrudeau has joined the channel
[12:14] Frippe has joined the channel
[12:15] ivanfi has joined the channel
[12:16] matwill: Mar4nel: not an answer but have you looked at the socket.io Google Group?
[12:17] matwill: Its pretty active and I think Guillermo Rauch (The creator) frequents it, though not sure.
[12:17] Mar4ne1: thanks man searching now
[12:18] path[l] has joined the channel
[12:22] peerless has joined the channel
[12:22] aheckmann has joined the channel
[12:23] `3rdEden: Mar4ne1: also feel free to ping me with your issues, I'm also one of the maintainers of Socket.IO
[12:24] Qbix2 has joined the channel
[12:24] galaxywatcher has joined the channel
[12:28] tahu has joined the channel
[12:30] okuryu has joined the channel
[12:31] TomY has joined the channel
[12:31] herbySk has joined the channel
[12:31] fumanchu182 has joined the channel
[12:31] ita_ has joined the channel
[12:35] danfo has joined the channel
[12:37] maxautomation has joined the channel
[12:37] jdp has joined the channel
[12:38] SvenDowideit has joined the channel
[12:39] maxautomation has left the channel
[12:39] jdp has joined the channel
[12:44] jano has joined the channel
[12:45] boaz has joined the channel
[12:45] eldar has joined the channel
[12:46] malkomalko has joined the channel
[12:48] catshirt has joined the channel
[12:48] davidwalsh has joined the channel
[12:49] dyer has joined the channel
[12:49] [algo] has joined the channel
[12:50] dgathright has joined the channel
[12:51] [algo]: which promises you use for node.js ?
[12:51] rworth has joined the channel
[12:51] hij1nx has joined the channel
[12:52] jmar777 has joined the channel
[12:52] FireFly|n900 has joined the channel
[12:53] ezl has joined the channel
[12:53] FireFly has joined the channel
[12:54] IndividualRich has joined the channel
[12:55] saschagehlich has joined the channel
[12:56] thomblake has joined the channel
[12:58] seivan has joined the channel
[13:00] maximosis has joined the channel
[13:00] matwill has joined the channel
[13:00] malkomalko: anybody seen this with express? "Can't use mutable header APIs after sent"
[13:01] sendark: nope
[13:01] sendark: anyone familiar with mongoose
[13:02] mape: malkomalko: are you trying to modify the request after sending it?
[13:02] mape: writing or whatnot
[13:02] sendark: error: TypeError: Object.keys called on non-object
[13:03] malkomalko: I have a controller, that internally calls another http to stream data into a file, then callback when done
[13:03] kriszyp has joined the channel
[13:03] matwill has joined the channel
[13:03] jlecker has joined the channel
[13:03] sendark: anyone famiar with that error when doing object.save()?
[13:03] malkomalko: is it because on the http request I'm making behind my controller I'm setting the headers on that request?
[13:06] abraham has joined the channel
[13:08] colinclark has joined the channel
[13:10] baudehlo1 has joined the channel
[13:10] DennisRasmussen has joined the channel
[13:13] matwill: Hey are there many nodeconf session videos online?
[13:13] fermion has joined the channel
[13:13] cloudhead2 has joined the channel
[13:14] arpegius has joined the channel
[13:14] mape: are there any?
[13:15] matwill: I've found some slides.
[13:16] matwill: I remember reading something about a page of videos from nodeconf, on HN, but I can't find that particular comment.
[13:17] piscisaureus has joined the channel
[13:17] gmanika has joined the channel
[13:17] marcello3d has joined the channel
[13:18] Peeter has joined the channel
[13:19] ioneyed has joined the channel
[13:19] rchavik has joined the channel
[13:19] rchavik has joined the channel
[13:20] jonasen has joined the channel
[13:20] xsyn has joined the channel
[13:20] industrial has left the channel
[13:21] xsyn: I'm really struggling to get my head around findById with mongoose and mongo
[13:21] xsyn: I've set up my model
[13:21] xsyn: I've added a getter that converts the id to a HexString
[13:21] cbibler_ has joined the channel
[13:22] xsyn: I can check my ID in both the db, and through my node app
[13:22] xsyn: and they're cool
[13:22] avalanche123 has joined the channel
[13:22] xsyn: but when I run myModel.findById(id, function(d){
[13:22] xsyn: d is always undefined
[13:23] xsyn: Has anybody experienced this?
[13:23] keithbloom has joined the channel
[13:24] ryanfitz has joined the channel
[13:24] ajoslin103 has joined the channel
[13:25] ajoslin103: has anyone used v8-gl yet?
[13:25] boghog: what's that?
[13:26] tiemonster has joined the channel
[13:26] mattmcmanus has joined the channel
[13:27] ajoslin103: I'm trying to draw png's in node (and have with node-canvas) but I need to do some texture mapping and the 3d math is beyond me. v8-gl is a module for web-gl (opengl) -- I'll use anything that will do the 3d work for me !!
[13:27] ajoslin103: I can create the image I need, but now I have to map it onto a 3d surface (inside of a cylinder) and I'm stuck !!
[13:30] ezl has joined the channel
[13:30] zhe has joined the channel
[13:30] postwait has joined the channel
[13:31] c4milo has joined the channel
[13:31] tiemonster: In EJS, why does <% if (twitter) { %><%- twitter %><% } %> fail with "twitter is not defined" ???
[13:32] willwhite has joined the channel
[13:33] catshirt has joined the channel
[13:34] `3rdEden: because ejs uses with to introduce locals
[13:34] `3rdEden: ACTION thinks
[13:35] `3rdEden: but!
[13:35] `3rdEden: what you can do tiemonster is
[13:35] `3rdEden: <% if (locals.twitter) { %><%- twitter %><% } %>
[13:35] `3rdEden: that should work
[13:35] tiemonster: twitter is a "helper"
[13:36] zhe has joined the channel
[13:36] zhe: hi
[13:36] `3rdEden: tiemonster: just try it ;o
[13:36] sendark: anyone know about unique indices in embedded documents?
[13:38] tiemonster: `3rdEden: yeah - then it never exists
[13:38] Opaque: Anyone know how to set your own objectid in mongoose?
[13:38] vipaca has joined the channel
[13:38] vipaca has joined the channel
[13:39] `3rdEden: tiemonster: that's because it was not defined in the first place
[13:39] tiemonster: but after I do define the helper, it still doesn't show up
[13:39] `3rdEden: your `twitter` is probably undefined than
[13:40] dooart has joined the channel
[13:40] tiemonster: I'll just use twitter, and ensure the helper is defined first
[13:40] ajoslin103: does anyone know if I can run openGL or webGL on nodejs without XWindows
[13:40] gtramont1na has joined the channel
[13:41] sirkitree has joined the channel
[13:41] Bogh has joined the channel
[13:42] Bogh has left the channel
[13:42] christkv has joined the channel
[13:43] sendark: Opaque yeah new Objectid?
[13:44] christkv_ has joined the channel
[13:44] Opaque: I mean, set the _id field to whatever type I want.
[13:44] arpegius has joined the channel
[13:44] demastrie has joined the channel
[13:45] JulioBarros has joined the channel
[13:46] m64253 has joined the channel
[13:47] amacleod has joined the channel
[13:47] copongcopong has joined the channel
[13:47] timmywil has joined the channel
[13:47] strmpnk has joined the channel
[13:49] edude03 has joined the channel
[13:50] dgathright_ has joined the channel
[13:51] JacobSingh has joined the channel
[13:52] Opaque: Ah, I got it. Something about mongoose wasn't detecting the schema update so it kept creating oid's.
[13:53] indutny has joined the channel
[13:54] sivy has joined the channel
[13:54] rfay has joined the channel
[13:55] dcampano has joined the channel
[13:56] mbrevoort has joined the channel
[13:58] aconbere has joined the channel
[14:02] Silly_Wabbit has joined the channel
[14:02] tiemonster: isn't there a way easier way to make buffered HTTP requests in Node? I don't need to stream the data...
[14:03] dguttman has joined the channel
[14:04] neoesque has joined the channel
[14:04] edude03 has joined the channel
[14:05] replore_ has joined the channel
[14:05] timmywil has joined the channel
[14:05] truedat101 has joined the channel
[14:06] unomi has joined the channel
[14:07] lerchmo has joined the channel
[14:07] bradleymeck: tiemonster, just make an array of buffers, there are some helper libs around
[14:07] bradleymeck: then again generally you want to avoid buffering
[14:07] kixxauth has joined the channel
[14:08] philhawksworth has left the channel
[14:08] tiemonster: I'm fetching my twitter feed, so I want all of the json before I start parsing it...
[14:09] Skola has joined the channel
[14:09] Ori_P has joined the channel
[14:09] brianc has joined the channel
[14:09] cloudhead has joined the channel
[14:10] baoist has joined the channel
[14:11] brentrockwood has joined the channel
[14:11] bradleymeck: tiemonster mmm yea, streaming json parsers can be overkill, but usefull if the object is big enough
[14:13] tiemonster: it's not. I'm looking for a simple backend AJAXy request
[14:14] arpegius has joined the channel
[14:14] Corren has joined the channel
[14:15] hwinkel has joined the channel
[14:15] d0k has joined the channel
[14:15] Swimming_bird has joined the channel
[14:15] alek_br_ has joined the channel
[14:16] lessthanzero has joined the channel
[14:17] nibblebot has joined the channel
[14:17] dmojoryder has joined the channel
[14:17] yhahn has joined the channel
[14:18] `3rdEden: https://github.com/vibornoff/node-yajl <-- streaming json parser
[14:18] `3rdEden: that might help you out tiemonster
[14:19] tiemonster: I thought there was a buffered abstraction in the core API. guess not.
[14:21] chjj: mmm streaming json parser is win
[14:24] JacobSingh has joined the channel
[14:24] larry__ has joined the channel
[14:25] svenlito has joined the channel
[14:26] baudehlo1: why do so many JS programmers have this fascination with naming things "_" ?
[14:26] baudehlo1: makes me stabby.
[14:26] mscdex: as a prefix?
[14:26] baudehlo1: no
[14:26] context: no. just _
[14:26] baudehlo1: just _
[14:27] context: baudehlo1: its the hipster movement
[14:27] baudehlo: e.g. the docs for https://github.com/vibornoff/node-yajl
[14:27] cloudhead has joined the channel
[14:27] baudehlo: h.on( 'mapKey', function (_) { console.debug(_+':') });
[14:27] chjj: i dont see that too often
[14:27] baudehlo: was it too much to name it "key" ?
[14:27] tiagoa_ has joined the channel
[14:28] chjj: in a str.replace callback if i dont need a capture ill name it '__'
[14:28] pifantastic has joined the channel
[14:28] chjj: i dont see why people would be eager to name things '_', it would get confusing if you wanted to use underscore then
[14:28] qFox has joined the channel
[14:29] baudehlo: chjj: I see it a bunch in the apis that are supposed to hide the callback style
[14:29] kmiyashiro has joined the channel
[14:29] chjj: you mean streamline? theres actually a good reason for that: its banking on programmers not normally using '_' as a name for a variable actually
[14:30] baudehlo: yes.
[14:30] chjj: thats why its used there, because its *not* normally used
[14:30] chjj: so it wont collide with other variable names
[14:30] kmiyashiro has joined the channel
[14:30] bradleymeck: baudehlo because of streamline.js and underscore.js?
[14:30] baudehlo: that frankly seems like a stupid reason to use it.
[14:30] chjj: why?
[14:31] chjj: you wouldnt want to name it something verbose because it would be as tiring as callbacks are to people who would want to use it
[14:31] baudehlo: chjj: because what happens when another library comes along that is banking on a variable name that isn't being used.
[14:31] chjj: and you wouldnt want to name it something commonly used
[14:31] bradleymeck: then again for throw away variables _ is kinda prolog
[14:31] pizthewiz has joined the channel
[14:31] chjj: ...
[14:31] telemachus: lua too
[14:31] baudehlo: *shrug* I just prefer being explicit.
[14:31] telemachus: (for throwaways - erlang, too?)
[14:32] baudehlo: I've come from the perl world, and the single letter $ variables always annoy me there too.
[14:32] telemachus: naming sucks
[14:32] systemfault: scala also likes underscores IIRC :P
[14:32] mattmcmanus has joined the channel
[14:32] chjj: $ variables are used in javascript actually, theres a reason for them there
[14:32] chjj: theyre meant for regexes
[14:33] caolanm has joined the channel
[14:33] wilmoore has joined the channel
[14:34] thalll has joined the channel
[14:34] baudehlo: well they're not variables there. They're more templates.
[14:34] chjj: huh?
[14:35] chjj: theyre variables, well i guess properties/variables
[14:35] baudehlo: they only work inside strings.
[14:35] chjj: no
[14:35] chjj: im talking about the RegExp constructor
[14:35] chjj: RegExp.$1, RegExp.$2, etc
[14:35] pifantastic_ has joined the channel
[14:35] timmywil has joined the channel
[14:36] baudehlo: chjj: what are those? There's nothing about them in https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp
[14:36] context: blink() > *
[14:36] chjj: v8: 'abc'.match(/(b)/); RegExp.$1;
[14:36] v8bot: chjj: "b"
[14:36] chjj: :)
[14:37] baudehlo: oh yuck.
[14:37] baudehlo: lol
[14:37] baudehlo: ah: https://developer.mozilla.org/en/JavaScript/Reference/Deprecated_Features#RegExp_Properties
[14:37] chjj: very convenient actually, once you get past how sloppy a notion it is
[14:38] pifantastic_ has joined the channel
[14:38] systemfault: The guy who thought to use $ didn't care about the rest of the world it seems.. (Not sure if the dollar sign is on every keyboard layout)
[14:38] chjj: hehe, tell that to the php guys
[14:38] baudehlo: there's a good reason they are deprecated.
[14:38] malkomalko has joined the channel
[14:38] djcoin has joined the channel
[14:38] systemfault: We should start using the Euro/Yen/something else character :P
[14:38] chjj: yes, but im saying, theyre in the language for a reason, that feature exists in js engines
[14:39] systemfault: Understood :)
[14:39] chjj: @baudehlo
[14:39] bruse: ¤ is the generic currency symbol
[14:39] baudehlo: chjj: but presumably won't be there in the future.
[14:39] bruse: fair for everyone
[14:39] chjj: baudehlo, how can you say that when this is still implemented in JS engines:
[14:39] chjj: v8: 'blink'.blink();
[14:39] v8bot: chjj: ""
[14:39] chjj: ...
[14:40] kawaz_air has joined the channel
[14:40] baudehlo: I am presuming that "deprecated" means it will be removed at some point in the future.
[14:40] LowValueTarget has joined the channel
[14:40] chjj: no
[14:40] baudehlo: or perhaps under "use strict";
[14:40] chjj: yes maybe under use strict
[14:40] chjj: thats why use strict is there, in fact, thats a great indicator that these things wont be removed
[14:41] chjj: why do you think
[14:41] chjj: typeof null still returns 'object'?
[14:41] __sorin__ has joined the channel
[14:41] systemfault: Not that the $ sign is that much of a problem... the lack of block scoping is a much bigger issue to me :'(
[14:41] baudehlo: "still"? lol I learned Javascript as I was writing Haraka (i.e. I've "known" js for about 3 months now).
[14:41] Venom_X has joined the channel
[14:42] rfunduk has joined the channel
[14:42] baudehlo: systemfault: yeah agreed.
[14:42] chjj: systemfault, why?
[14:42] chjj: baudehlo, ok, well typeof null has always returned 'object' and it always will
[14:43] baudehlo: ok. So null is an empty object. Is it a bad thing?
[14:43] chjj: because javascript has to pay very special attention to backward compatibility, because its used in the browser
[14:43] chjj: no, thats my point, null is not an empty object
[14:43] MikhX has joined the channel
[14:43] baudehlo: well I don't mean empty as in {}
[14:43] systemfault: chjj: I use the crockford-style of putting all my variable declarations at the top of the function to avoid any problems.
[14:43] chjj: its not an object, at all, in any sense
[14:44] chjj: typeof null returns 'object' because the first implementations of JS got it wrong
[14:44] trotter has joined the channel
[14:44] systemfault: chjj: With block-scoping, I could just use my vars where I need them
[14:44] chjj: and they didnt want to change it to break backward compat
[14:44] systemfault: s/use/declare
[14:44] baudehlo: chjj: I guess you need to edumacate me - what should it return?
[14:44] chjj: ideally it should return 'null'
[14:44] arpegius has joined the channel
[14:44] test2: should return null
[14:45] chjj: but no js implementation has ever done that, and they never will, it will never get changed or fixed
[14:45] zeade has joined the channel
[14:45] jdalton has joined the channel
[14:45] test2: null is conceptually correct
[14:45] jdalton has left the channel
[14:46] chjj: my point is, you say these things are going to be removed from the language, but theyre not
[14:46] CoinOpeBoy has joined the channel
[14:46] chjj: js will always try to maintain backward compatibility (unfortunately)
[14:46] chjj: unfortunately for us serverside guys anyway
[14:47] baudehlo: I don't say they will be... I just assumed that's what deprecated meant.
[14:48] mikegerwitz: baudehlo: That's the general use of the term. And if something is deprecated it certainly should be removed. For something like JS, though, that's likely to be decades down the road...
[14:48] mikegerwitz: baudehlo: (but deprecated doesn't necessarily imply removal)
[14:48] chjj: any web language will tons of different implementations in tons of different browsers cant really risk removing stuff
[14:48] chjj: with*
[14:48] chjj: anyway, how did this all start?
[14:49] chjj: oh yeah, variable names
[14:49] baudehlo: lol
[14:49] chjj: i hate camel case variable names
[14:49] chjj: i really do
[14:49] baudehlo: ditto.
[14:49] chjj: but i use them in js
[14:49] baudehlo: it's the crockford style :-(
[14:49] chjj: i actually try to have really concise short variable names, just so i dont have to camel case them
[14:50] chjj: the aesthetics are more important to me
[14:50] viz has joined the channel
[14:50] baudehlo: I just use my own style.
[14:50] pyrony has joined the channel
[14:50] LowValueTarget has joined the channel
[14:51] systemfault: baudehlo: Same.
[14:51] systemfault: baudehlo: But my style is derived from crockford's
[14:51] chjj: whats crockford style variable names?
[14:51] mikegerwitz: Variable style can be useful. I consistently use snake_case for scalars/objects, camelCase for functions and CamelCase (capital first) for ctors. Can be useful in determining what's going on at a glance if it's consistent.
[14:52] systemfault: chjj: Declare all of them at the beginning of the function.
[14:52] xsyn: Any idea why my numbers aren't being updated in my docs, while my strings are (using mongoose and mongo) ?
[14:52] chjj: mikegerwitz, i do too, but i try not to camelcase if i can
[14:52] systemfault: chjj: Instead of at the moment of their use.
[14:52] chjj: systemfault: oh, i thought you were talking about var names
[14:52] systemfault: Ahh.. no
[14:52] Aikar: in v8 it really doesnt matter, v8 will push them to the top for you on compile
[14:52] systemfault: Well.. camelCase is the standard.
[14:52] systemfault: I don't think anyone can deny it.
[14:53] Aikar: and easier to type :3
[14:53] chjj: systemfault: i actually disagree with crockford on that point, i think its ok to declare "var"s elsewhere as long as you understand that javascript is going to move them to the top of the scope
[14:53] chjj: as long as youre aware
[14:53] Aikar: haet underscores
[14:53] mikegerwitz: Aikar: That's the reason Crockford recommends putting them at the top. Beacuse they'll be pushed to the top and undefined, whcih can cause confusion
[14:53] chjj: its not a problem
[14:53] systemfault: Like chjj said, it's not a problem.
[14:53] systemfault: Because I'm aware of that.
[14:53] dambalah has joined the channel
[14:53] chjj: crockford recommends a lot of stuff that assumes the programmer is very unaware
[14:53] chjj: as if he doesnt trust himself when programming
[14:53] systemfault: But... when you work with other people..
[14:54] systemfault: chjj: I don't trust others...
[14:54] tobiassjosten has joined the channel
[14:54] Aikar: in a world of junior php devs, kinda have to
[14:54] systemfault: It's not about me.
[14:54] context: chjj: you trust yourself?
[14:54] chjj: context: sometimes ;)
[14:54] context: chjj: you've never looked at code you wrote the day before and wanted to shoot yourself?
[14:54] systemfault: context: We're not perfect and we're always improving..
[14:55] context: systemfault: yeah i know ;)
[14:55] chjj: oh i definitely have to a degree, but i can tell you it wasnt because i declared a "var" in the wrong spot
[14:55] context: chjj: but there are those times when you have a slight buzz, and wake up the next day and go 'WOW im a genius'
[14:55] systemfault: But still, the behaviors of JS are pretty well defined in the standard.
[14:55] samsonjs has joined the channel
[14:55] systemfault: But a lot of people don't know about them... like hoisting.
[14:55] context: hoisting?
[14:56] chjj: a lot of people understand hoisting but dont understand function statement hoisting
[14:56] JacobSingh has joined the channel
[14:56] chjj: function statement hoisting is even weirder than var "hoisting"
[14:56] systemfault: context: Yeah.. JS moves the functions and and the variable declarations at the top of the function.
[14:56] some1else has joined the channel
[14:56] chjj: function statements*
[14:57] systemfault: context: So if you don't understand that, you might get a "undefined" somewhere and it will take you a lot of time to find out why.
[14:57] coreb1 has joined the channel
[14:57] chjj: var a = function() {}; "a" gets hoisted and is initialized as "undefined", function a() {} - the entire function gets hoisted
[14:58] ngs has joined the channel
[14:58] fermion has joined the channel
[14:58] systemfault: So.. by declaring all the variables at the top, you basically avoid the hoisting problem.
[14:58] Metapony has joined the channel
[14:59] chjj: well all you do is make it explicit, that the variables are hoisted there
[14:59] sub_pop has joined the channel
[14:59] chjj: its doesnt really do anything at all
[15:00] chjj: i dont like it when i put all the "var"s at the top though, it makes it harder to see where i initially set a variable
[15:00] chjj: harder to see where the first time i set it was
[15:00] context: chjj: so you are saying var a can exist and not exist ?
[15:01] chjj: what?
[15:01] Muon has joined the channel
[15:01] d0k has joined the channel
[15:01] mikegerwitz: Placing a variable declaration far from where its used is considered bad practice. Unfortunately, it makes sense in JS, but is still messy.
[15:01] colinclark has joined the channel
[15:01] context: its common in C as well to put all variable definitions at the top of a function
[15:02] context: except for like for (int i..)
[15:02] gazumps has joined the channel
[15:02] mikegerwitz: context: Because it was required pre-C99
[15:02] context: mikegerwitz: if your function is that long you need help anyway.
[15:02] chjj: yeah, C is a different beast though
[15:02] mikegerwitz: context: I agree
[15:02] chjj: JS is supposed to be a high level language
[15:02] chjj: not C
[15:02] highermath_away has joined the channel
[15:04] __class__ has joined the channel
[15:04] coreb1: looking at this example https://github.com/visionmedia/express/blob/master/examples/blog/models/post.js, more specifically var Post = exports = module.exports = function Post(title, body) { .. } what's exports vs module.exports?
[15:04] sonnym has joined the channel
[15:05] mikegerwitz: In C it does make sense though. You can declare a variable without initializing it, which provides useful information. K&R actually does initialize near use in their examples. In JS, declaring a variable without initializing it is possible, but having a bunch of var foo, bar, baz, etc at the top of a function just seems pointless.
[15:05] themiddleman_itv has joined the channel
[15:05] mikegerwitz: context: exports = module.exports
[15:05] chjj: coreb1: exports is just a reference to module.exports
[15:05] mikegerwitz: coreb1: *
[15:05] colinclark_ has joined the channel
[15:05] chjj: its the same object
[15:05] mikegerwitz: coreb1: module.exports is useful if you want to set it to a value other than the initial object, e.g. a ctor
[15:06] chjj: right, it gives you an empty object there to start out with, but you can overwrite it by doing module.exports = myobj;
[15:06] aroop has joined the channel
[15:06] chjj: exports = myobj wont work because of the way variables work in js
[15:07] MrTopf has joined the channel
[15:07] mattmcmanus has joined the channel
[15:07] icebox has joined the channel
[15:07] coreb1: chjj: because of scope?
[15:07] chjj: no, just because if you do exports = myobj, its no longer a reference to the module.exports property
[15:07] chjj: youve overwritten it completely
[15:08] tbranyen: yeah, module.exports = exports = {} i think is what it does
[15:08] tbranyen: although that makes me wonder, if you override module.exports, does exports still reference the old object?
[15:08] chjj: yes
[15:08] mikegerwitz: tbranyen: yep
[15:09] chjj: if you want to be sure, you can do module.exports = exports = myobj;
[15:09] mikegerwitz: coreb1: JS doesn't have references, pointers, or anything of the like.
[15:09] icebox: Any problem with npm 1.0.6 and cygwin? I cannot install any package.
[15:09] chjj: haha, JS with pointers, that would be great
[15:09] icebox: icebox: with npm 1.0.1 worked nice.
[15:10] mikegerwitz: chjj: I would fall in love all over again. But yeah it makes no sense in JS, heh
[15:10] chjj: and i dont think it would work, it would be really weird for v8 to implement direct access to pointers
[15:10] coreb1: is "exports" something node.js makes available, like module.exports?
[15:11] chjj: module.exports and exports initially reference the same object
[15:11] chjj: an object you can throw stuff on, exports.myvar = 1;
[15:11] chjj: if you do console.log(module.exports.myvar); youll see "1"
[15:11] mikegerwitz: coreb1: A module is wrapped in a function. So it' sactually something like: ( function( exports, __dirname, __filename, ... ) { /* your code */ } )();
[15:12] chjj: yeah, you get your own little scope when youre inside a module
[15:12] chjj: and you get access to this "module" object
[15:12] mikegerwitz: module, exports *
[15:12] chjj: the exports property exposes whatever you want when the module is required by another module
[15:13] chjj: well technically module, exports, __dirname, __filename, and require are all the arguments passed in
[15:14] Jamool has joined the channel
[15:14] coreb1: alright, but what do you gain by doing this; var Post = exports = module.exports = function Post {..} what's the reason of setting that function to exports?
[15:14] Jamool_ has joined the channel
[15:15] arpegius has joined the channel
[15:15] chjj: cause if you only do module.exports = ...
[15:15] chjj: "exports" still references the original object
[15:15] chjj: need to set that too, its just how variables work in js
[15:16] pyrony has joined the channel
[15:16] fmeyer has joined the channel
[15:16] coreb1: further down in the file, he does exports.count = function(fn){ - how does "var Post = exports = module.exports = function Post {..} " affect that?
[15:16] stagas: no you don't, exports = module.exports, only if you set exports = func you lose the reference
[15:16] mikegerwitz: coreb1: in that case, just do module.exports = function Post {}, and pretend exports doesn't exist. var Post is redundant as well in v8
[15:17] chjj: stagas: im saying, if you do module.exports = ..., "exports" will still refer to the initial object, not what you set module.exports to
[15:17] chjj: so if you want to just use "exports.whatever" elsewhere, you need to set exports as well
[15:17] vdemedes has joined the channel
[15:18] vdemedes: Hello!
[15:18] nphase: anyone have any ideas as to how to debug within vm.runInNewContext() ?
[15:18] liar has joined the channel
[15:18] stagas: oh right
[15:18] edude03 has joined the channel
[15:18] nphase: it seems im getting an unexpected identifier error from within the vm, cant figure out what it is
[15:19] brettgoulder has joined the channel
[15:20] JulioBarros has joined the channel
[15:20] briznad has joined the channel
[15:20] BigWookie has joined the channel
[15:23] BigWookie: :/ I already asked in #nodejitsu, http-proxy routing tables don't work as expected, the paths in the source are applied to the uri redirected to the destination
[15:24] ryanfitz has joined the channel
[15:24] Swizec has joined the channel
[15:25] JohnnyL has joined the channel
[15:25] jmar777 has joined the channel
[15:26] bojicas has joined the channel
[15:26] jchris has joined the channel
[15:27] path[l] has joined the channel
[15:27] coreb1 has left the channel
[15:28] mhausenblas has joined the channel
[15:30] temp01 has joined the channel
[15:30] Fredderf has joined the channel
[15:31] xastey has joined the channel
[15:31] xsyn has joined the channel
[15:31] xastey: anyone ever got "This type of response MUST NOT have a body. Ignoring write() calls."
[15:32] sorens3n has joined the channel
[15:33] vdemedes has left the channel
[15:33] rpflo has joined the channel
[15:36] svenlito has joined the channel
[15:37] indutny has joined the channel
[15:37] colinclark has joined the channel
[15:38] mc_greeny has joined the channel
[15:39] sleeplessinc has joined the channel
[15:39] jchris1 has joined the channel
[15:40] nibblebot has joined the channel
[15:40] stepheneb has joined the channel
[15:41] springmeyer has joined the channel
[15:42] larry__ has joined the channel
[15:43] unomi has joined the channel
[15:44] saschagehlich has joined the channel
[15:44] mattmcmanus has joined the channel
[15:45] ShawnJ has joined the channel
[15:45] arpegius has joined the channel
[15:45] towns has joined the channel
[15:45] norviller has joined the channel
[15:47] samsonjs has joined the channel
[15:47] MrTopf has joined the channel
[15:48] mikegerwitz: https://github.com/joyent/node/blob/master/lib/http.js#L594 might help to paste an example (but no, I have not)
[15:48] mikegerwitz: link to*
[15:48] Schmallon has joined the channel
[15:49] DennisRasmussen: What project management tool do you guys use?
[15:49] zeade has joined the channel
[15:50] multipass|2 has joined the channel
[15:51] steph021 has joined the channel
[15:53] rope has joined the channel
[15:54] newy_ has joined the channel
[15:54] sendark: DennisRasmussen: a notebook
[15:54] Yuffster_work has joined the channel
[15:55] matwill has joined the channel
[15:55] sendark: does anybody know why jade might put quotes around a text link i want to put onto one of my partials?
[15:55] mikegerwitz: DennisRasmussen: I used OpenGoo before it was commercialized into FengOffice (which now has a "Community Edition" licensed under the GNU AGPL, which you can download free of charge), and it was pretty good
[15:55] liar has joined the channel
[15:56] sendark: i.e. span.text #{user.text} and user.text can contain links, i.e. when the dogs go home. However, this is literally appearing the rendered page, rather than the link
[15:56] RusAlex has joined the channel
[15:57] dmcquay has joined the channel
[15:58] seivan has joined the channel
[15:59] sendark: ok for whomever wants to know, it can be easily done by instead of using #{obj.field} doing !{obj.field}
[15:59] patcito has joined the channel
[15:59] jacter has joined the channel
[16:00] mc_greeny has joined the channel
[16:00] tjholowaychuk has joined the channel
[16:00] path[l] has joined the channel
[16:01] boaz_ has joined the channel
[16:02] ShawnJ_ has joined the channel
[16:04] test2: anyone go to scottish ruby conf this year?
[16:04] stephank has joined the channel
[16:04] test2: any talk of node there?
[16:04] brettgoulder has joined the channel
[16:06] fangel has joined the channel
[16:06] vikstrous has joined the channel
[16:07] tim_smart has joined the channel
[16:08] john_teague has joined the channel
[16:08] aberry has joined the channel
[16:09] __main__ has joined the channel
[16:09] caolanm has joined the channel
[16:10] squeeks: Yes, there was. And of coffeescript
[16:10] wilmoore has joined the channel
[16:10] gf3: NO U
[16:10] dmcquay_ has joined the channel
[16:11] john_teague1 has joined the channel
[16:13] john_teague1: ?
[16:13] amerine has joined the channel
[16:14] xsyn has joined the channel
[16:14] sirkitree has joined the channel
[16:15] tfe_ has joined the channel
[16:15] tfe_ has joined the channel
[16:15] tbranyen: am not digging the client side js community using npm for their modules :-/
[16:15] tbranyen: and if NPM approves of this, they should probably think about changing the name
[16:15] arpegius has joined the channel
[16:15] tjholowaychuk: yeah they should use my asset thing
[16:15] tjholowaychuk: or similar
[16:15] tjholowaychuk: it's more homebrew of random client-side stuff
[16:15] tjholowaychuk: well random assets in general
[16:15] halfhalo: I haaaaate client side ui's
[16:15] tbranyen: tjholowaychuk: dustin diaz has been encouraging peeps to use his ender thing
[16:16] tbranyen: and to push stuff into npm so it can be more useful
[16:16] tjholowaychuk: haha
[16:16] tjholowaychuk: fuck
[16:16] tjholowaychuk: yeah not good
[16:16] tjholowaychuk: god damn mac
[16:16] tjholowaychuk: wont charge
[16:16] halfhalo: if I wanted client side ui's I would stab js in the face first
[16:17] BillyBreen has joined the channel
[16:18] Opaque: why won't app.get('/user/:id(\d+)' accept numbers :( I've tracked down my problem to this one thing. For some reason, out of nowhere, this req param just starts messing up. I've only now added the regex, but it worked perfectly fine before (for numbers). I added the regex to check it out.
[16:18] Corren has joined the channel
[16:18] tjholowaychuk: Opaque: \\d+
[16:19] tjholowaychuk: it's a string so you have to double escape those
[16:19] broofa has joined the channel
[16:19] tjholowaychuk: escape the escape
[16:19] tjholowaychuk: wee
[16:20] davidcoallier has joined the channel
[16:21] pyrony has joined the channel
[16:21] Opaque: Surprisingly that fixed my problem. I say that because nothing has actually changed except for that regex.
[16:21] Opaque: It worked before I added it. Stopped. Then added it and it worked. My problem is arising from Mongoose. It started complaining about not being able to cast the number or something.
[16:22] tjholowaychuk: hm well it shouldn't have worked properly without that
[16:22] tahu has joined the channel
[16:22] jtrudeau has joined the channel
[16:22] Opaque: Why?
[16:22] hij1nx has joined the channel
[16:22] chjj: because \d+ just becomes d+ in a string
[16:23] Tidwell has joined the channel
[16:23] tjholowaychuk: because the regexp would be (d+)
[16:23] tjholowaychuk: which doesnt make sense lol
[16:23] Opaque: I meant before the regex was added at all.
[16:23] saschagehlich: is there something like n overview of all modules with their dependencies for npm?
[16:23] tjholowaychuk: ohh
[16:23] NinjaFox has joined the channel
[16:24] matwill: I vaguely remember an express template engine that relied on DOM manipulation, iirc TJ was involved with it, anyone know what I'm talking about/can link me?
[16:24] tjholowaychuk: hmm nope that wouldn't be me
[16:24] tjholowaychuk: i think that was the nodejitsu guys
[16:25] NinjaFox: o/
[16:26] mike5w3c_ has joined the channel
[16:26] kriszyp has joined the channel
[16:26] tim_smart: Anyone know how to capture the exit code of a command in a shell script?
[16:26] tjholowaychuk: echo $?
[16:27] tim_smart: I'll try that
[16:27] aconbere has joined the channel
[16:27] matwill: TJ, you're right! It was the nodejitsu guys, was called Weld. Cheers
[16:28] matwill: Don't know why I thought it was you, my bad.
[16:28] tim_smart: tjholowaychuk: nope :/
[16:28] tjholowaychuk: tim_smart: hmm
[16:28] tjholowaychuk: should work :s
[16:29] eyesUnclouded has joined the channel
[16:29] context: tim_smart: yes. tjholowaychuk is right.
[16:29] context: in sh/bash $? returns the return code of the last command
[16:29] tim_smart: Oh I thought the ? was posed as a question
[16:29] tbranyen: and zsh if that helps :)
[16:29] context: and.. "echo $?" IS a command. and $? will be different afterward.
[16:30] coreb has joined the channel
[16:30] tim_smart: Thanks context, tjholowaychuk
[16:30] tjholowaychuk: np
[16:30] d0k has joined the channel
[16:31] dguttman has joined the channel
[16:32] q_no has joined the channel
[16:34] d0k has joined the channel
[16:35] kryptom has joined the channel
[16:36] V1 has joined the channel
[16:36] sourcode has joined the channel
[16:37] indutny has joined the channel
[16:38] MikhX has joined the channel
[16:40] davidsklar has joined the channel
[16:40] yozgrahame has joined the channel
[16:42] ryanj has joined the channel
[16:42] JohnnyL: I asked this before but do you guys normally use CoffeeScript? Or perhaps plan to use it?
[16:43] JohnnyL: I like the class layout, it's pretty sweet.
[16:43] gf3: NO U
[16:43] tjholowaychuk: no
[16:43] counterbeing has joined the channel
[16:43] brianc has joined the channel
[16:43] c4milo: no
[16:44] chjj: no
[16:44] beawesomeinstead has joined the channel
[16:44] chjj: dont ever plan to
[16:44] jmar777: what? rumor was that express 2.0 was going to be 100% coffeescript! :p
[16:45] taf2: ACTION wipes up the puke from his desk at the thought
[16:45] tbranyen: i use coffeescript every day it makes me more efficient and i almost feel like a real ruby coder
[16:45] gf3: YOU WOULD
[16:45] tbranyen: i'm thinking of becoming a d-bag
[16:45] gf3: ACTION points at the nerd
[16:45] tbranyen: gives me goosebumps
[16:45] tbranyen: gf3: :3
[16:45] arpegius has joined the channel
[16:45] jmar777: something intrinsically wrong about something that makes you feel like you're coding in a different language lol
[16:46] systemfault: Coffeescript is not ugly but well.. it isn't JS :/
[16:46] systemfault: Moreover, it's more difficult to debug.
[16:46] JohnnyL: systemfault: good point
[16:46] chjj: people give js too much shit for its syntax
[16:46] taf2: it's syntax is the shit
[16:46] __sorin__ has joined the channel
[16:46] chjj: its trendy to not like c syntax for some reason
[16:47] tjholowaychuk: I find it interesting that brendan wants to add support for the whole "class foo extends bar" thing
[16:47] tjholowaychuk: that is going to confuse
[16:47] tjholowaychuk: so many people
[16:47] chjj: yeah i dont like that =/
[16:47] tjholowaychuk: oh it's a class, but it's not a class
[16:47] jmar777: ya. that's been in the works forever though
[16:47] tbranyen: tjholowaychuk: he really likes coffeescript :-/
[16:47] Opaque: ACTION ponders if he should launch during busy finals time :/
[16:47] tjholowaychuk: and not only do we not have classes
[16:47] aguynamedben has joined the channel
[16:47] tjholowaychuk: we have some funky mix of protos and classical inheritance
[16:48] tjholowaychuk: which is already confusing to most
[16:48] chjj: very unnecessary, what i would be ok with is some new concise way to define inheritence, ctor.prototype = new parent() - never worked right to being with, and Object.create(parent.prototype - still a little verbose
[16:48] tjholowaychuk: so now we add this stupid syntax on top
[16:48] tjholowaychuk: and be cool
[16:48] tjholowaychuk: like ruby
[16:48] gf3: tjholowaychuk: I dig shorter functions and paren-less coding
[16:48] tbranyen: tjholowaychuk: from what i heard classes would be just syntactic sugar to constructors
[16:48] chjj: we dont need classes though
[16:48] chjj: right
[16:48] tjholowaychuk: tbranyen: yeah exactly
[16:48] tjholowaychuk: but its not a class
[16:48] tjholowaychuk: so dont call it a class
[16:48] tbranyen: like we have any class anyways
[16:48] chjj: but thats trivial to layer on yourself
[16:48] tbranyen: we're dirty prototype programmers
[16:48] jmar777: i like parens, but i would dig tiny lambda expressions
[16:48] tjholowaychuk: I just think it's a terrible terrible direction
[16:48] tjholowaychuk: brendan == bad leader
[16:48] gf3: pffft
[16:48] tjholowaychuk: i like parens as well
[16:49] tjholowaychuk: if foo {} does not look any better to me
[16:49] gf3: fuck parens
[16:49] tjholowaychuk: if anything it looks worse
[16:49] gf3: tjholowaychuk: no braces either
[16:49] tbranyen: tjholowaychuk: the way i see it is if people don't like javascript right now and want to radically change it... call it something else
[16:49] chjj: i cant seem to convince anyone else that the future of JS is worth worrying about
[16:49] gf3: if true x()
[16:49] gf3: if true x() else y()
[16:49] gf3: so much more readable
[16:49] tjholowaychuk: not really
[16:49] tjholowaychuk: it just becomes a soup of words
[16:49] chjj: gf, why?
[16:49] tjholowaychuk: more brain parsing
[16:49] gf3: if you can't read, tjholowaychuk
[16:49] tjholowaychuk: haha
[16:49] tbranyen: we already have that tho?
[16:50] tbranyen: true ? x() : y()
[16:50] tjholowaychuk: i've said it before, modeling a language on english
[16:50] tjholowaychuk: is terrible
[16:50] gf3: tbranyen: simplified example
[16:50] jmar777: i'd just like to be able to write something like: names.map(item => { item.toUpperCase(); })
[16:50] gf3: chjj: more readable IMHO, get's the "programming" noise out of the way
[16:50] halfhalo: ze balance, it be needed
[16:50] gf3: chjj: I don't need brackets and braches and colons telling me what's happening
[16:51] chjj: eh, im okay with parantheses, and im ok with curly braces, makes things explicit, allows me to give it my own style
[16:51] chjj: not worry about whitespace
[16:51] tjholowaychuk: non-braces
[16:51] tjholowaychuk: gets so hard to read
[16:51] newy_ has joined the channel
[16:51] tjholowaychuk: I've seen some larger coffee projects and omg
[16:51] tjholowaychuk: brutal
[16:51] gf3: tjholowaychuk: I don't code with braces if I don't have to
[16:51] chjj: yeah the indentation levels get rough
[16:52] tjholowaychuk: gf3: k?
[16:52] tjholowaychuk: lol
[16:52] chjj: if theres like 200 lines of code in 3+ indentation levels
[16:52] gf3: a combo of indentation and braces works well
[16:52] nadirvardar has joined the channel
[16:52] gf3: chjj: in moderation
[16:52] gf3: chjj: use many small functions, you're golden
[16:52] taf2: no moderation, be consistent
[16:52] chjj: gf3: the problem is, people dont do that
[16:52] chjj: i dont use coffeescript, im talking about the code i see written by people who use it
[16:52] gf3: chjj: well that doesn't affect how I write *my* code
[16:52] tbranyen: tjholowaychuk: if you like braces so much why'd you make stylus
[16:52] jmar777: well, basically just look at virtually every article on large-scale python projects. code gets nasty.
[16:53] tjholowaychuk: im sorry but this is a mess https://github.com/jashkenas/coffee-script/blob/master/src/rewriter.coffee
[16:53] creationix has joined the channel
[16:53] tjholowaychuk: tbranyen: it allows both
[16:53] tbranyen: tjholowaychuk: i was just being a dick
[16:53] jmar777: tbranyen: haha - GREAT question lol
[16:53] chjj: lol
[16:53] gf3: chjj, tjholowaychuk: read this bad boy for an idea of where I'm coming from: http://inimino.org/~inimino/blog/javascript_whitespace
[16:53] tjholowaychuk: tbranyen: but certainly the same issue, no doubt about that
[16:53] tjholowaychuk: gf3: i remember that post
[16:53] tjholowaychuk: didnt like it
[16:53] tjholowaychuk: lol
[16:53] gf3: lame balls man
[16:53] gf3: it's a quality read
[16:54] gf3: inimino puts some great ideas forth and the WHY behind them
[16:54] msilverman2 has joined the channel
[16:54] jtsnow has joined the channel
[16:55] puffpio has joined the channel
[16:55] chjj: heres what they should do for JS instead of adding classes: standardize __proto__
[16:55] tjholowaychuk: yeah
[16:55] gf3: and get rid of the __*__
[16:55] chjj: its gonna stay implemented anyway
[16:56] chjj: it will be in forever, might as well standardize it
[16:56] gf3: function __________construct () {}
[16:56] tbranyen: gf3: too late for that, but i suppose if they are making radically backwards breaking changes
[16:56] tbranyen: might as well?
[16:56] jmar777: chjj++
[16:56] gf3: yeh
[16:56] v8bot: jmar777 has given a beer to chjj. chjj now has 1 beers.
[16:56] chjj: my first beer
[16:56] chjj: !
[16:56] gf3: you can do some really cool shit w/ __proto__
[16:56] jmar777: ahh - enjoy lol
[16:56] gf3: http://gf3.ca/2010/12/16/executable-instances
[16:57] Bj_o_rn has joined the channel
[16:57] chjj: yeah, __proto__ is amazing, and amazingly convenient
[16:57] rfay has joined the channel
[16:57] towski has joined the channel
[16:57] tbranyen: biggest thing for me is the proxy object shit
[16:57] jmar777: definitely. makes inheritance stuff extremely straight forward
[16:57] sorens3n: that article seemed to be pretty basic
[16:57] sorens3n: just gave it a read
[16:57] tbranyen: http://jsconf.eu/2010/speaker/be_proxy_objects.html <<< dis stuff
[16:57] sorens3n: http://inimino.org/~inimino/blog/javascript_whitespace
[16:57] tbranyen: wish v8 had that now
[16:57] taf2: should use getPrototypeOf when available instead of __proto__
[16:57] gf3: tbranyen: yeh, kindy wordy, but useful
[16:57] gf3: sorens3n: mhmm
[16:58] tbranyen: gf3: i just like metatabes in lua
[16:58] tbranyen: tables*
[16:58] JulioBarros has joined the channel
[16:58] [algo]: Fibers should be in JS
[16:58] tjholowaychuk: yeah i like how lua handles things much better
[16:58] chjj: taf2: getPrototypeOf only gets the prototype, it doesnt have even remotely the same behavior as __proto__ in any other aspect
[16:58] tjholowaychuk: .prototype is gay
[16:58] [algo]: I hate syncy async
[16:58] jmar777: for a _scary_ read, here's what we nearly had: http://blog.jeremymartin.name/2008/03/web-20-meet-javascript-20.html (and i'm ashamed to admit that I was totally stoked at the time). was a big java-head when i wrote it
[16:58] tbranyen: tjholowaychuk: yeah implementing your own lookup system in like 5 lines of code that completely emulates the power of prototype and gives you more flexibility is so choice!
[16:59] chjj: the v8 team should make a lua vm
[16:59] chjj: ;)
[16:59] tbranyen: if javascript is heading in that direction anyways, might as well go with lua heh
[16:59] tbranyen: chjj: lua-llvm is really fast already
[16:59] chjj: is it? ive never paid attention to the benchmarks actually
[16:59] jmar777: LuaNode
[16:59] matjas has joined the channel
[17:00] tbranyen: all you'd have to do is override the io library to make it impossible for people to use blocking io
[17:00] jchris has joined the channel
[17:01] gozala has joined the channel
[17:01] gozala has left the channel
[17:02] jbpros has joined the channel
[17:02] perezd has joined the channel
[17:02] stonebranch has joined the channel
[17:05] Determinist has joined the channel
[17:05] edude03 has joined the channel
[17:06] alek_br_ has joined the channel
[17:06] eb4890 has joined the channel
[17:08] brianm has joined the channel
[17:08] brianm has joined the channel
[17:08] derickson has joined the channel
[17:08] galaxywatcher has joined the channel
[17:08] nefD has joined the channel
[17:10] pcardune has joined the channel
[17:10] xsyn has joined the channel
[17:11] deepthawtz has joined the channel
[17:14] TheFuzzball_ has joined the channel
[17:15] pcardune has joined the channel
[17:16] sirkitre_ has joined the channel
[17:16] arpegius has joined the channel
[17:16] avalanche123 has joined the channel
[17:19] __main__ has joined the channel
[17:19] tedsuo has joined the channel
[17:20] awenkhh has joined the channel
[17:21] gmanika has left the channel
[17:21] eee_c has joined the channel
[17:22] truedat101 has joined the channel
[17:23] creationix has left the channel
[17:23] adambeynon has joined the channel
[17:23] donaldpcook has joined the channel
[17:25] AntelopeSalad: does anyone know if the nodeconf videos are in the process of being uploaded somewhere?
[17:25] Charuru has joined the channel
[17:25] pquerna: AntelopeSalad: they were all recorded
[17:25] pquerna: AntelopeSalad: so I imagine its being worked on :)
[17:26] malkomalko has joined the channel
[17:26] AntelopeSalad: nice
[17:27] dgathright has joined the channel
[17:27] pyrony has joined the channel
[17:27] mtsl has joined the channel
[17:28] puffpio has joined the channel
[17:28] steffkes has joined the channel
[17:28] Rixius has joined the channel
[17:28] Rixius has joined the channel
[17:29] jmar777: the jsconf videos usually start getting released ~1 week later, so hopefully nodeconf vids will be on a similar schedule
[17:29] nadirvar_ has joined the channel
[17:30] caolanm has joined the channel
[17:30] pedrobelo has joined the channel
[17:31] xastey has left the channel
[17:31] mikeal has joined the channel
[17:32] dve has joined the channel
[17:34] multipass|2 has joined the channel
[17:35] ardcore has joined the channel
[17:36] EyePulp has joined the channel
[17:37] MrErikCorry has joined the channel
[17:37] nibblebot: what is the easiest setup for npm global and npm link
[17:37] aroop has joined the channel
[17:37] ryah has joined the channel
[17:38] nibblebot: why is it not recommended to use global and set NODE_PATH= global root?
[17:38] flippyhead has joined the channel
[17:39] derickson: Off topic: Does anyone know of an easy way to un-watch a bunch of repos on github? I'm drowning in noise...
[17:41] techwraith: nibblebot: The reason global isn't recommended, is because modules usually belong with the app that needs to use them.
[17:41] kryptom: techwraith: i'd check the repo api (haven't seen anything in the UI)
[17:41] techwraith: nibblebot: It helps out in deployment quite a bit too...
[17:41] techwraith: kryptom: Thanks :)
[17:41] kryptom: techwraith: http://develop.github.com/p/repo.html
[17:41] context: nibblebot: 'global root' ?
[17:41] nibblebot: for deployment i am using npm link and packages.json
[17:41] nibblebot: but for just random development
[17:41] nibblebot: i'd like to be able to access a module from anywhere
[17:42] guybrush: so link it
[17:42] ardcore has left the channel
[17:42] svenlito has joined the channel
[17:42] fallsemo has joined the channel
[17:42] nibblebot: link it? after installing locally or globally?
[17:42] multipass|2 has joined the channel
[17:42] context: globally
[17:42] briznad has joined the channel
[17:42] gmanika has joined the channel
[17:42] context: or add the global path into require.paths for the random one off scripts
[17:43] qbyt has joined the channel
[17:43] context: do like NODE_ROOT_PATH and add that to require.paths so its more simple
[17:43] nibblebot: interesting
[17:43] Marak has joined the channel
[17:43] MikhX has joined the channel
[17:44] puffpio has joined the channel
[17:44] context: will still only work locally but...
[17:44] context: if you plan on moving it ever you should give it a package.json anyway
[17:45] Qbix2 has joined the channel
[17:46] Marak: package.json is key
[17:46] arpegius has joined the channel
[17:46] Marak: we use package.json for deployments
[17:46] orospakr has joined the channel
[17:47] __sorin__ has joined the channel
[17:47] Country has joined the channel
[17:48] abraham has joined the channel
[17:49] mjr_ has joined the channel
[17:49] multipass|2 has joined the channel
[17:50] context: marak: well i see where nibblebot is getting. its annoying enough now i cant just run node to mess around.
[17:50] dmcquay__ has joined the channel
[17:50] Marak: hrmmm?
[17:50] nibblebot: what i've down now is this
[17:51] nibblebot: global install everything
[17:51] nibblebot: then npm link everything from my home dir
[17:51] nibblebot: so ~/node_modules has all links
[17:51] context: ahh nice.
[17:51] nibblebot: and i do all my dev in a subdir of ~
[17:52] deepthawtz has joined the channel
[17:52] ita has joined the channel
[17:52] gmanika has left the channel
[17:53] flippyhead has joined the channel
[17:54] NinjaFox has left the channel
[17:57] jchris has joined the channel
[17:57] Max-Might has joined the channel
[17:59] aberry has left the channel
[18:00] Max-Might has left the channel
[18:00] sechrist has joined the channel
[18:00] Swizec has joined the channel
[18:03] thalll has joined the channel
[18:04] MarkMenard has joined the channel
[18:04] dgathright has joined the channel
[18:05] rfay has joined the channel
[18:06] JacobSingh has joined the channel
[18:08] tomaw_ has joined the channel
[18:08] TomY has joined the channel
[18:09] EvanCarroll has joined the channel
[18:09] galaxywatcher has joined the channel
[18:10] caolanm has joined the channel
[18:10] ita has left the channel
[18:10] seivan has joined the channel
[18:11] mikeal has joined the channel
[18:14] jacter1 has joined the channel
[18:14] leahculver has joined the channel
[18:16] arpegius has joined the channel
[18:18] kblake has joined the channel
[18:18] insin has joined the channel
[18:20] xsyn_ has joined the channel
[18:20] superjudge has joined the channel
[18:21] leahculver has joined the channel
[18:21] leahculver has joined the channel
[18:22] sled has joined the channel
[18:22] jwl: still don't know how to do proper coding in node.js
[18:22] jacobolus has joined the channel
[18:22] alindeman: Proper coding like best practices?
[18:22] jwl: i want to rename a folder.. then move it to another location .. should i use spawn?
[18:22] jwl: more like how to do synched coding with ascyched coding
[18:23] jwl: that is a 2 step that has to be in sync
[18:23] jwl: could someone give me some hint
[18:23] tbranyen: jwl: mv is the same thing
[18:23] davidcoallier has joined the channel
[18:23] tbranyen: mv is how you rename and move
[18:23] tbranyen: in a single operation
[18:23] jwl: yeah i know
[18:24] jwl: okay but lets say i want to do it in 2 step
[18:24] alindeman: fs.rename?
[18:24] jwl: and those steps are in sync
[18:24] tbranyen: i really don't understand the point of that
[18:24] tbranyen: are doing something in between?
[18:24] alindeman: You could do one within the completion callback of the other
[18:24] jwl: tbranyen: its just an example .. how to do 2 steps in sync
[18:24] Spion has joined the channel
[18:24] jarek has joined the channel
[18:24] jarek has joined the channel
[18:24] puffpio: in the success callback of rename, do the move
[18:24] tbranyen: jwl: i'm sure you could find a better example than rename and move which are effectively the exact same thing in a bsd world
[18:25] jwl: puffpio: how do i send a callback to a spawned process
[18:25] jwl: http://nodejs.org/docs/v0.4.7/api/child_processes.html#child_process.spawn
[18:25] jwl: listen on "data" ?
[18:26] jwl: but what if it doesn't send a data
[18:26] jwl: like rm ... it doesn't print out anything on console
[18:26] wdperson has joined the channel
[18:27] puffpio: instead of using 'spawn' why not use 'exec'
[18:27] puffpio: since you are doing these simple one liner commands
[18:27] puffpio: and exec provides a hook for a callback
[18:27] jwl: yeah
[18:27] puffpio: where you can read stdin and make sure things worked well
[18:27] jwl: what is the difference between spawn and exec?
[18:27] puffpio: or stderr
[18:28] puffpio: exec is more high level
[18:29] puffpio: runs what u give it ..buffers all the output, and runs the callback at the end
[18:29] mertonium has joined the channel
[18:29] puffpio: whereas spawn you can attach those data callbacks and read stdout or stdferr while its runing
[18:29] puffpio: for example u could spawn a video encoding job which is long running
[18:29] puffpio: and read stdout for the % complete
[18:29] puffpio: or something
[18:30] brianc: basically you could build your own 'exec' command using the 'spaw' command
[18:30] brianc: spaw = spawn
[18:31] jwl: ah
[18:31] jwl: so exec is an abstraction for spawn you can say
[18:31] jwl: a simpler method
[18:32] jwl: then i guess i want to use spawn() so i dont have to learn 2 things =)
[18:32] colinclark has joined the channel
[18:32] admc has joined the channel
[18:32] MikhX has joined the channel
[18:33] TomY has joined the channel
[18:34] Marak: is it possible to "rebind" to a child process via pID, if the parent process died
[18:34] puffpio: jwl: i guess you could say exec is a convenience
[18:35] jwl: puffpio: yeah
[18:35] jwl: nice thought =)
[18:35] jwl: puffpio: what if the command doesn't return a data
[18:36] jwl: and i want to run another command after that one
[18:36] jwl: i should listen on "exit" ?
[18:36] puffpio: for spawn?
[18:36] puffpio: jwl: yeah
[18:36] context: jwl: what
[18:36] JacobSingh_ has joined the channel
[18:36] context: oh
[18:36] jwl: context: what?
[18:36] context: nm
[18:37] fyskij has joined the channel
[18:37] john_teague has joined the channel
[18:37] jwl: nm?
[18:37] kblake has joined the channel
[18:38] stanni has joined the channel
[18:38] context: never mind
[18:39] stride: never mind?
[18:39] ErikC has joined the channel
[18:39] stride: :>
[18:39] chrislorenz has joined the channel
[18:40] jwl: =)
[18:40] jbpros has joined the channel
[18:40] TomY has joined the channel
[18:41] jwl: context: onigi
[18:44] eb4890 has joined the channel
[18:44] saschagehlich: tjholowaychuk: ping
[18:44] tjholowaychuk: saschagehlich: pong
[18:45] saschagehlich: tjholowaychuk: I'm playing around with express' built-in sass compiling stuff
[18:45] guigouz has joined the channel
[18:45] saschagehlich: I did app.use express.compiler({ src: __dirname + '/public/stylesheets', enable: ['sass']}) and put a application.sass to public/stylesheets/
[18:45] leahculver has joined the channel
[18:45] leahculver has joined the channel
[18:45] tjholowaychuk: saschagehlich: stylus man !
[18:45] tjholowaychuk: haha
[18:45] tjholowaychuk: :p
[18:45] saschagehlich: so now, as I request localhost/stylesheets/application.css it should give me the compiled sass right?
[18:45] saschagehlich: atm I don't see why I should use stylus :P
[18:46] pcardune has joined the channel
[18:46] tjholowaychuk: because it's vastly superior
[18:46] micheil has joined the channel
[18:46] tjholowaychuk: but anyway
[18:46] saschagehlich: okay, that's an argument. :P
[18:46] tjholowaychuk: change /public/stylesheets to /public
[18:46] rfay has joined the channel
[18:46] tjholowaychuk: then GET /stylesheets/foo.css
[18:46] arpegius has joined the channel
[18:46] tjholowaychuk: but yeah I'd recommend checking out stylus, my old sass thing doesn't really do much
[18:47] saschagehlich: then I get 304 to /jade
[18:47] saschagehlich: o_O
[18:47] saschagehlich: oh lol
[18:47] saschagehlich: nvm
[18:47] tjholowaychuk: if you have public/stylesheets in the path to the compiler GET /foo.css should work
[18:48] tjholowaychuk: just depends how you set things up
[18:48] tjholowaychuk: between compiler / static()
[18:48] guigouz: i need to write a download manager lib (with resume and such which makes the lib reliable), do you have any recommendations for a node.js implementation ?
[18:48] test1 has joined the channel
[18:48] tjholowaychuk: guigouz: check out connect's static() middleware
[18:48] tjholowaychuk: it supports Range etc
[18:49] tjholowaychuk: or the Express res.download() / res.sendfile() which use connect's internals
[18:49] tjholowaychuk: but more flexible
[18:49] cloudhea1 has joined the channel
[18:49] eee_c has joined the channel
[18:49] pquerna: issaaaaaaacssss
[18:49] criswell has joined the channel
[18:49] saschagehlich: tjholowaychuk: the GET request now generates a application.css which is empty :(
[18:50] tjholowaychuk: stylus
[18:50] tjholowaychuk: :D
[18:50] alcuadrado has joined the channel
[18:50] guigouz: tjholowaychuk: will take a look. i need to use that on a headless daemon, not a web app
[18:50] saschagehlich: is it easier to implement?
[18:50] tjholowaychuk: guigouz: doesn't matter, it's just code it can be used for anything you want :p
[18:50] guigouz: thanks
[18:50] hij1nx has joined the channel
[18:50] tjholowaychuk: saschagehlich: it's just better all around
[18:51] CiRlE has joined the channel
[18:51] alcuadrado: Hi there, can anyone help me with to decide how to organize some async workflow with mongoose?
[18:51] alcuadrado: s/with//
[18:51] malkomal_ has joined the channel
[18:52] techwraith: alcuadrado: What did you need, I may be able to help, not much time right now though
[18:52] techwraith: (just a heads up in case I get part way through helping you)
[18:53] CoinOpeBoy has joined the channel
[18:54] V1: tjholowaychuk: question regarding cluster's development, have you tried balancing the fds your self instead of having the OS handle it? If so what where your experiances with it
[18:54] brianm has joined the channel
[18:54] tjholowaychuk: V1: I have no interest in doing that
[18:54] tjholowaychuk: it would be slower, and for what benefit?
[18:55] tjholowaychuk: making that logic extensible
[18:55] saschagehlich: tjholowaychuk: okay, stylus works like a charm. good work! ;)
[18:55] V1: tjholowaychuk: Iknow, but I have interest in doing that for new module that I'm working on so I wondered if you had any experiance with it
[18:55] tjholowaychuk: would be nice, but not something I want
[18:55] tjholowaychuk: saschagehlich: haha :)
[18:55] tjholowaychuk: V1: ah, nope
[18:55] larry__ has joined the channel
[18:55] brianm has joined the channel
[18:56] V1: tjholowaychuk: I `need` sticky session support
[18:56] CiRlE has joined the channel
[18:56] tjholowaychuk: hm :s
[18:56] tjholowaychuk: I dont see why
[18:56] tjholowaychuk: IMO that's bad design
[18:56] aconbere has joined the channel
[18:56] alcuadrado: techwraith, thanks! I'm making a simple real time notifications system, and there is a part in which it receives a json and stores it in mongo, but I want it to be well organized. I currently have a Prototype (call it App) which instantiates another one for every request (an HttpRequestManager instance). So I want the request manager to store the object in mongo, and in case it fails give an error page, but also, App should be no
[18:56] alcuadrado: tified (with an event maybe) of this failure
[18:57] techwraith: So what issue are you having?
[18:57] V1: tjholowaychuk: I know, it's not one of the best solutions, but it should just work
[18:58] V1: (for our usecase(
[18:58] alcuadrado: So I was thinking on creating another layer of abstraction between App+HttpRequestManager and Mongoose (call it NotificationsRepository)
[18:58] eee_c1 has joined the channel
[18:58] awenkhh has joined the channel
[18:59] alcuadrado: but if I add a callback to mongoose's save for every HttpRequestManager I would end up with memory leaks maybe
[18:59] tjholowaychuk: V1: I agree it would be cool to have it configurable though
[18:59] tjholowaychuk: so people dont keep reinventing cluster-ish stuff
[18:59] tjholowaychuk: or tons of forks
[18:59] alcuadrado: and also checking for the correct save every single time per each HttpRequestManager
[19:00] V1: tjholowaychuk: Yeh, but adding it to cluster would mean a considerable rewrite of the fd / ipc handling ( i think )
[19:01] CiRlE has joined the channel
[19:01] tjholowaychuk: V1: kinda. i dont know, ultimately i think without good reason it's bad design to not just utilize the kernel
[19:01] leahculver has joined the channel
[19:01] leahculver has joined the channel
[19:01] techwraith: alcuadrado: What would mem leak there?
[19:02] sor3nsen has joined the channel
[19:02] V1: tjholowaychuk: well the kernel doesn't know what goes on inside node's event loop
[19:02] baoist has joined the channel
[19:02] tjholowaychuk: shouldnt need to
[19:02] alcuadrado: because I have a single NotificationsRepository, which has lots of callbacks of differents HttpRequestManagers attached, so they would not be released
[19:02] tjholowaychuk: process is a process
[19:02] gazumps has joined the channel
[19:02] tjholowaychuk: your logic should not be bound to which one
[19:02] alcuadrado: unless I remove that listerners once used
[19:02] techwraith: alcuadrado: Ah, gotcha
[19:03] techwraith: Why have the abstraction then?
[19:03] V1: so if something is blocking (sync or allot of processing) it would not be an ideal candidate to process another request
[19:03] eldios has joined the channel
[19:03] alcuadrado: because I think it's not responsibility of a HttpRequestManager to notify the App that mongo has already saved smth
[19:05] arpegius_ has joined the channel
[19:05] saschagehlich: does somebody have a reset stylus file (yui 2 reset equivalent)?
[19:06] Marak: fuck, why is my mac being upset about things today
[19:06] Marak: Error: dlopen(/usr/local/lib/node/.npm/daemon/0.3.0/package/build/default/daemon.node, 1): no suitable image found. Did find: /usr/local/lib/node/.npm/daemon/0.3.0/package/build/default/daemon.node: mach-o, but wrong architecture
[19:06] Marak: i can never remember how to fix that
[19:06] CiRlE has joined the channel
[19:07] counterbeing has joined the channel
[19:07] counterbeing1 has joined the channel
[19:08] neurone-1337 has joined the channel
[19:08] zeade has joined the channel
[19:09] davidcoallier has joined the channel
[19:11] CiRlE has joined the channel
[19:11] Ori_P has joined the channel
[19:11] figital has joined the channel
[19:12] foobarfighter: hi techwraith
[19:12] baudehlo: ACTION wonders if he should rewrite SpamAssassin using node.
[19:12] saschagehlich: mjr_: is it right that redis jumps back to the first database if you don't do requests for a while?
[19:12] lemon-tree has joined the channel
[19:13] techwraith: Hi foobarfighter
[19:13] foobarfighter: im watching you
[19:14] BigWookie has left the channel
[19:16] daglees has joined the channel
[19:17] deedubs has joined the channel
[19:19] leahculver has joined the channel
[19:19] leahculver has joined the channel
[19:19] eee_c has joined the channel
[19:20] maushu has joined the channel
[19:20] xsyn has joined the channel
[19:20] TooTallNate has joined the channel
[19:22] joemccann has joined the channel
[19:22] puffpio has joined the channel
[19:22] CiRlE has joined the channel
[19:23] jarek_ has joined the channel
[19:23] rpflo has joined the channel
[19:23] zemanel has joined the channel
[19:27] aroop has left the channel
[19:27] some1else has joined the channel
[19:28] eb4890 has joined the channel
[19:30] Marak: fucking 10 new npm modules are being published per day
[19:30] Marak: i mean, shit
[19:30] Marak: HOW WILL I RAP THEM ALL AT THIS RATE
[19:31] ezl has joined the channel
[19:31] dmcquay_ has joined the channel
[19:31] leahculver has joined the channel
[19:31] leahculver has joined the channel
[19:32] kblake has joined the channel
[19:33] ruquay has joined the channel
[19:33] DennisRasmussen has joined the channel
[19:34] jhurliman: can someone help me parse the final callback in this semaphore? i'm trying to find documentation for callback.apply and understand how the "arguments" variable appears out of nowhere
[19:34] MikhX has joined the channel
[19:35] arpegius has joined the channel
[19:35] ruquay: jhurliman: the arguments is always supplied to javascript functions.
[19:35] Marak: jhurliman: "arguments" is a reserved word in JS, it refers to the arguments passed into the current context
[19:35] jhurliman: ah thank you
[19:35] ruquay: jhurliman: are you getting an error?
[19:35] jhurliman: no not getting an error, was just curious how it worked
[19:36] ruquay: the arguments is an array-like object which always refers to the current function
[19:36] gm___ has joined the channel
[19:36] ruquay: http://www.crockford.com/javascript/inheritance.html
[19:36] Marak: jhurliman: that looks really weird, im not sure why you are using that code. you should be using the async library maybe
[19:36] Marak: jhurliman: that code is just scary looking
[19:37] jhurliman: Marak, i just need a basic semaphore
[19:37] jhurliman: it was posted to the mailing list by ryan gahl
[19:37] jhurliman: need to fetch 50 urls and fire a callback when all fetches have completed
[19:37] Marak: jhurliman: yeah, use the async library i think
[19:37] jhurliman: link please?
[19:38] jacter has joined the channel
[19:38] Marak: jhurliman: https://github.com/caolan/async
[19:38] stepheneb has joined the channel
[19:38] jhurliman: ty
[19:39] jhurliman: ah perfect, this is what i was looking for
[19:39] leahculver has joined the channel
[19:39] leahculver has joined the channel
[19:40] _jdalton has joined the channel
[19:41] puffpio has joined the channel
[19:41] jspiros has joined the channel
[19:44] heavysixer has joined the channel
[19:47] dans has joined the channel
[19:47] leahculver has joined the channel
[19:47] leahculver has joined the channel
[19:48] CiRlE has joined the channel
[19:50] mertonium has joined the channel
[19:50] jacter has joined the channel
[19:50] Marak: does anyone know how to resolve issues like: Error: dlopen(/usr/local/lib/node/.npm/iconv/1.1.0/package/iconv.node, 1): no suitable image found. Did find: /usr/local/lib/node/.npm/iconv/1.1.0/package/iconv.node: mach-o, but wrong architecture
[19:50] markwubben has joined the channel
[19:50] Marak: reinstall / uninstall not seeming to help
[19:50] Marak: i've seen this before, forgot how to fix
[19:51] pedrobelo has joined the channel
[19:51] nibblebot: quick poll: vows or expresso for express models/controllers?
[19:51] newy_ has joined the channel
[19:52] towski: anyone have any experience getting prototype to work with jsdom
[19:52] counterbeing1: Hey folks… I have a tech question and I was hoping someone could point me in the right direction as to some documentation…
[19:52] counterbeing1: while(i < loop_cap){
[19:52] counterbeing1: sys.puts("Now working on: " + mega_array[i]);
[19:52] counterbeing1: get_data(mega_array[i]);
[19:52] counterbeing1: i++;
[19:52] counterbeing1: }
[19:53] counterbeing1: it fires all of the "Now working on"s before the "get_data" function even gets a chance to fire :(
[19:53] tyfighter has joined the channel
[19:53] nibblebot: is get_data async?
[19:53] counterbeing1: i think it is
[19:53] counterbeing1: which is where i encounter my problem
[19:53] nibblebot: so async functions need a callback
[19:53] nibblebot: since you can't capture the return value directly
[19:54] nibblebot: like in a sync function
[19:54] counterbeing1: i see
[19:54] nibblebot: and a while loop won't block on multiple calls of async function
[19:54] counterbeing1: so "callback" is what i'm looking for?
[19:54] mikegerwitz: counterbeing1: What arguments does the function accept?
[19:54] counterbeing1: just one, a URL
[19:54] counterbeing1: in the array i have 50 URLS
[19:55] nibblebot: async function calls are usually called as such
[19:55] JulioBarros has joined the channel
[19:55] nibblebot: do_thing(args, function(err, data){ //work with result here });
[19:55] mikegerwitz: counterbeing1: ut ohs! So it provides no means to tell you wne it's completed?
[19:55] mikegerwitz: when*
[19:55] nibblebot: you pass in a callback function as last param
[19:55] nibblebot: and when it has completed
[19:55] nibblebot: you can work with the result or check for errors
[19:55] joeshaw: counterbeing1: did you write get_data() or is it provided by some library?
[19:55] counterbeing1: i wrote it
[19:55] mikegerwitz: oh.
[19:56] joeshaw: ah, ok, yeah, you need to convert it into a function which takes a callback
[19:56] joeshaw: and then calls that callback when the work is done
[19:56] counterbeing1: it's a really simple function to get info from the URL it is provided
[19:56] mikegerwitz: counterbeing1: then you need a callback and recursion, rather than a loop.
[19:56] counterbeing1: cool!
[19:56] counterbeing1: thanks a ton!
[19:56] counterbeing1: i'm going to go read about this callback
[19:56] counterbeing1: it's something that has been confusing me :)
[19:56] nibblebot: it's the core of node.js
[19:56] counterbeing1: (Day 2 with node)
[19:57] ncb000gt has joined the channel
[19:57] mikegerwitz: counterbeing1: A callback is simply a function that's called when the operation is completed. See also anonymous functions.
[19:57] mikegerwitz: counterbeing1: and closures
[19:57] counterbeing1: awesome! googling away.
[19:58] counterbeing1: thanks again all!
[19:58] kblake has joined the channel
[19:58] jdalton has joined the channel
[19:58] CiRlE has joined the channel
[20:02] Marak: nibblebot: vows
[20:03] jdalton has left the channel
[20:03] counterbeing has joined the channel
[20:04] azeroth____ has joined the channel
[20:05] arpegius has joined the channel
[20:06] Aikar: hmm
[20:06] Aikar: i did git checkout 4.0
[20:06] Flobblebobble has joined the channel
[20:06] Aikar: >>> git branch
[20:06] Aikar: * 4.0
[20:06] Aikar: but when i do node -v it shows v0.5.0-pre
[20:07] Aikar: does 4.0 have a 5.0 v tag or do you gotta do something else after git checkout 4.0 ?
[20:08] JulioBarros has joined the channel
[20:08] Aikar: err
[20:08] Aikar: i guess that was from my own typo
[20:09] newy_ has joined the channel
[20:09] mikegerwitz: Aikar: You may have to do `make distclean` to ensure everything's cleaned up
[20:09] mikegerwitz: I've had that problem in the past
[20:09] f^ has joined the channel
[20:09] jesusabdullah: I wish you could comment on issues without reopening them
[20:09] jesusabdullah: -_-;
[20:10] CiRlE has joined the channel
[20:11] mikegerwitz: yep
[20:11] mikegerwitz: wrong window, but I do agree with jesusabdullah, so that was convenient
[20:11] admc1 has joined the channel
[20:12] azeroth_____ has joined the channel
[20:13] gilesgoatboy has joined the channel
[20:14] Aikar: mikegerwitz: looks like i screwed up switching branches anyways, so i just deleted the dir and recloned
[20:14] mikeal has joined the channel
[20:14] eee_c has joined the channel
[20:17] bentruyman has joined the channel
[20:17] kblake has joined the channel
[20:19] stephank: What would be totally rad, is if NPM had a command to `git clone` dependencies recursively based on the repo spec in package.json. (rather than just install)
[20:20] arpegius has joined the channel
[20:21] techwraith: stephank: That's not really npm's job :)
[20:21] stephank: why not?
[20:22] truedat101 has joined the channel
[20:23] nibblebot: why would you want to clone?
[20:23] prof-freud has joined the channel
[20:25] stephank: I find it's the easiest way to work on and contribute to dependencies. By cloning in node_modules, I can work on (with keep history) and test dependencies from within my own project right away.
[20:25] stephank: It really lowers the barrier for me!
[20:26] Aikar: how do you use modes on the fs.open etc calls?
[20:26] Aikar: '0777', 0777, 777, '777' doesnt work
[20:27] aconbere has joined the channel
[20:30] Aikar: fs.open appears to be broken
[20:31] Aikar: doesnt honor the go+w modes
[20:31] Aikar: can chmod once its written
[20:31] puffpio_ has joined the channel
[20:31] broofa has joined the channel
[20:32] hellp has joined the channel
[20:32] Aikar: 0755 appears to be highest fs.open will create with
[20:33] robhawkes has joined the channel
[20:33] path[l] has joined the channel
[20:33] pedrobelo has joined the channel
[20:35] f^ has joined the channel
[20:35] rfay has joined the channel
[20:36] boghog: hrm, is there a way to use repl to run code given at the prompt in the 'current' context of my node application? i want to use repl to workaround bugs on the fly before I take my app down, but right now I would need to put various things on the repl's context object to get handles to things
[20:36] gazumps has joined the channel
[20:36] stisti: Aikar: What is your umask?
[20:37] boghog: as an example use-case, I have an irc bot, and it got disconnected but the connection refused to time out, I couldn't CTRL+C it to kill it because I would lose some data that it normally saves on disconnect/shutdown. so I was thinking that if I had a repl interface I could save the data on the console before I took it down
[20:37] stepheneb has joined the channel
[20:38] eguest309 has joined the channel
[20:38] stepheneb has joined the channel
[20:38] eguest309: hello
[20:39] eguest309: does anyone have any good startup script for starting one or more node.js processes kind of like as a startup service
[20:40] stephank: boghog: Your modules run in local scope, much like a function wrapper. So anything you declare with var is local. I haven't used repl much, but I guess the other way to get to your objects is to require stuff in the repl itself. Of course, that doesn't work it gives you the running state of your app, rather than just class defs, for example.
[20:40] dmcquay has joined the channel
[20:40] stephank: doesn't work /unless/ it gives you the running state*...
[20:41] boghog: yeah
[20:42] mjr_: boghog: you need to expose everything to the repl scope
[20:42] boghog: yeah, im looking at the repl source though it might be easy to hack it to use runInThisContext
[20:42] boghog: instead of a given context that I would need to expose everything on
[20:42] stisti: eguest309: Check out "forever"
[20:43] f^ has joined the channel
[20:43] kryptom has joined the channel
[20:44] eguest309: alrit thanks.will check it out
[20:44] uchuff has joined the channel
[20:44] duncanbeevers: boghog: Check out node-inspector https://github.com/dannycoates/node-inspector
[20:44] mjr_: Once you get everything exposed to the repl scope, it is an amazingly useful tool.
[20:44] rizalmovic has joined the channel
[20:44] mjr_: You can just change your program while it is running.
[20:44] mjr_: so great
[20:45] Venom_X has joined the channel
[20:45] stisti: http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever
[20:45] context: wow! node-inspector looks awesome
[20:46] jhurliman: node-inspector is indeed awesome
[20:46] jhurliman: using the same debugger for your frontend and backend code... :)
[20:46] matyr has joined the channel
[20:46] mjr_: dannycoates showed me his new debugging tool that he's working on, and it takes node inspector to the next level.
[20:46] mjr_: Really cool.
[20:47] duncanbeevers: mjr_: Rad. I'd love to see what he's up to.
[20:47] stephank: I found node-inspector to be a bit rough. But that doesn't make the stuff any less incredible.
[20:47] isaacs has joined the channel
[20:48] stephank: mjr_: pursuade him to release early, release often? ;)
[20:48] gm___ has joined the channel
[20:48] mjr_: Basically he's got this thing where stopping at breakpoints will capture enough state to update the UI, but then it can resume the program.
[20:48] mjr_: So you can debug while the server is still serving.
[20:48] context: repl ?
[20:48] JohnEl has joined the channel
[20:48] pquerna: eheh
[20:49] mjr_: But it's in the webkit dev tools inspector thing.
[20:50] counterbeing has joined the channel
[20:50] pquerna: mjr_: https://github.com/cloudkick/whiskey/blob/coverage/lib/coverage.js does the breakpont on startup, step into everything thing
[20:50] pquerna: (we ended up using jscoverage for now, the dbugger step on everything method was too slow)
[20:50] arpegius has joined the channel
[20:50] mjr_: that is crazy
[20:51] mjr_: Does it work?
[20:51] pquerna: yep
[20:51] mjr_: awesome
[20:51] pquerna: it made tests go from like 400ms to 30 seconds
[20:51] stephank: haha
[20:51] pquerna: which was a bummer
[20:52] f^ has joined the channel
[20:53] tim_smart has joined the channel
[20:53] mjr_: That's uhh... slower.
[20:54] mjr_: The V8 debugger API seems pretty cool though.
[20:54] admc1: anyone have an example node script that automates an ssh session?
[20:54] saschagehlich: isaacs: ping
[20:54] Me1000 has joined the channel
[20:54] isaacs: yo
[20:54] saschagehlich: is there another way to get the dependencies of a npm module?
[20:54] pquerna: mjr_: yeah, i was thinking about making a c++ extension that could do it in process
[20:54] c4milo: admc1: node-control?
[20:54] saschagehlich: or do I have to access registry.npmjs.org/modulename ?
[20:54] pquerna: mjr_: using the debugger api in C++ world isn't too bad
[20:54] admc1: c4milo: thanks ill check it out
[20:54] isaacs: saschagehlich: that's probably the easiest way, short of installing it.
[20:55] saschagehlich: hum okay
[20:55] isaacs: saschagehlich: you could do `npm view whatever` to get at it
[20:55] pquerna: mjr_: but it was so slow.... node-jscoverage works :-/
[20:55] saschagehlich: yea I had a look at the source and saw that npm is doing the same thing
[20:55] isaacs: saschagehlich: you could also hit registry.npmjs.org/modulename/version-or-tag to just get at one version, if you don't need the whole thing
[20:55] saschagehlich: the problem is - right now I'm writing a crawler to create a nice-looking "npm modules repository"
[20:55] pquerna: isaacs: any reason not to use your SAX parser other than all the many disclaimers it already has?
[20:56] pquerna: (ie, you intend to keep it alive)
[20:56] saschagehlich: to have a nice overview about what modules are there, with search functionality etc
[20:56] isaacs: saschagehlich: if you can express your logic in a map-reduce, then you can skip the crawl, and just build a couchapp
[20:56] isaacs: saschagehlich: or just fork the existing search site
[20:56] isaacs: pquerna: i think the existing disclaimers are reasonably sufficient :)
[20:56] pquerna: okay, great
[20:56] isaacs: pquerna: it's not a priority for me to maintain it, but i'm not gonna kill it. if you find a bug, i might even fix it. if you send a patch, i'll almost certainly accept it.
[20:57] Fredderf has joined the channel
[20:57] tbranyen: isaacs: http://dustindiaz.com/ender-cli first two comments
[20:57] tbranyen: any thoughts
[20:57] saschagehlich: alright, thanks!
[20:57] stephank: isaacs: Btw, search main page says "Dependended", which should be "Depended" I think.
[20:57] isaacs: stephank: yep, typo. pull request!
[20:58] stephank: heh, okay
[20:58] kblake has joined the channel
[20:58] CIA-72: node: 03isaacs 07v0.4 * r307f39c 10/ (lib/url.js test/simple/test-url.js):
[20:58] CIA-72: node: Fix a url regression
[20:58] CIA-72: node: The change for #954 introduced a regression that would cause
[20:58] CIA-72: node: the url parser to fail on special chars found in the auth
[20:58] CIA-72: node: segment. Fix that, and also don't create invalid urls when
[20:58] CIA-72: node: format() is called on an object containing an auth member
[20:58] CIA-72: node: containing '@' characters or delimiters. - http://bit.ly/kiTJwn
[20:59] CiRlE has joined the channel
[20:59] jchris has joined the channel
[20:59] kblake has joined the channel
[21:00] isaacs: tbranyen: i think that dustin summed up some pretty reasonable reasons to put ender in the npm registry
[21:00] isaacs: tbranyen: note: the registry !== npm
[21:00] dmcquay has joined the channel
[21:00] Fredderf_ has joined the channel
[21:00] multipass|2 has joined the channel
[21:00] towski: anyone know how jsdom defines Event
[21:00] tilgovi has joined the channel
[21:00] tilgovi has joined the channel
[21:00] SubStack: let's put everything on the registry
[21:01] SubStack: in fact let's have a node.js livecd that fetches packages from the registry
[21:01] mscdex: yeah!
[21:01] isaacs: tbranyen: the npm program is a client that does installation, and doesn't much care what it's installing. it's optimized for node programs, and designed for them, but it's no more reasonable to choose git (which is optimized for content tracking and collaboration) as a package deployment mechanism, than to use npm for client-side javascript.
[21:01] ph^ has joined the channel
[21:01] piscisaureus has joined the channel
[21:01] leahculver has joined the channel
[21:01] yozgrahame has joined the channel
[21:01] mscdex: the npm registry is the new github!
[21:01] stephank: isaacs: voila: https://github.com/isaacs/npmjs.org/pull/8
[21:01] mscdex: :p
[21:02] SubStack: tbranyen: also with browserify you can pull down browser-side libs from npm
[21:02] isaacs: tbranyen: in other words, yeah, it's a bit silly to bang in nails with a screwdriver. but if the screwdriver is heavy, and you HAVE the screwdriver and no hammer, then it might actually be a pretty ok option.
[21:02] SubStack: which is actually a useful thing to do, but not in the ways you might initially expect
[21:02] f^ has joined the channel
[21:02] Tobsn has joined the channel
[21:03] tbranyen: isaacs: well git isn't branded to any specific technology
[21:03] tbranyen: in fact git is branded as agnostic
[21:03] tbranyen: npm not so much
[21:03] isaacs: node is for website.
[21:03] isaacs: *websites
[21:03] tbranyen: also ender is fine in npm, but the issue was client side libs that can't work with node
[21:03] SubStack: I really like having flow control libs, jquery, data structure algorithm libs, and browser-specific components of modules require()able in browser-side code
[21:03] isaacs: client-side javascript is a core web technology.
[21:03] tbranyen: and you could npm install them thinking they do
[21:03] __sorin__ has joined the channel
[21:03] SubStack: replicating business logic not so much
[21:03] tbranyen: and realizing afterwards that they rely on the dom or something breaking on load
[21:03] isaacs: tbranyen: then they should probably have an "engines" hash indicating as much
[21:04] SubStack: also bundling modules so that you can write code the node way in the browser rocks
[21:04] tbranyen: you can list engines code doesn't work on in engines
[21:04] isaacs: "engines" : { "jquery" : "*" } i dunno
[21:04] tbranyen: interesting
[21:04] tbranyen: "-node": "*"
[21:04] isaacs: if there's an "engines" hash, and it doesn't include "node", then npm assumes that it's invalid.
[21:04] azeroth_ has joined the channel
[21:04] brianloveswords has joined the channel
[21:04] tbranyen: right on
[21:04] isaacs: even "engines" : {} would work
[21:05] TomY has joined the channel
[21:05] isaacs: tbranyen: you can also, btw, restrict which versions of npm can install your package that way
[21:05] isaacs: "engines" : { "npm" : ">=1.0.2" }
[21:05] yhahn has left the channel
[21:05] isaacs: the goal of the registry from the start was to be for more than just npm.
[21:06] isaacs: afaik, the dojo folks are the only ones mocking the same API for different purposes, and a few dojo packages are actually served from dojofoundation.org rather than the couchapp
[21:06] tim__ has joined the channel
[21:07] CiRlE has joined the channel
[21:07] chrislor_ has joined the channel
[21:08] kmiyashiro: why do some people say not to use redis as a db?
[21:08] duncanbeevers: I've been writing client-side code following node package conventions and then wiring it together with a custom client-side require implementation. It's been breezy.
[21:08] f^ has joined the channel
[21:09] chjj: kmiyashiro: redis is a very specific use case
[21:09] chjj: its a completely in-memory key-value store
[21:09] brianm has joined the channel
[21:09] MikhX has joined the channel
[21:09] chjj: well almost completely*
[21:09] chrislorenz has joined the channel
[21:09] kmiyashiro: so jus don't store docs in it?
[21:09] matt_m has joined the channel
[21:10] chjj: ?
[21:10] awenkhh has joined the channel
[21:10] towns has joined the channel
[21:10] chjj: its not that simple, it depends on the kind of data youre storing, yes, but it also depends on how accessible that data needs to be
[21:11] Corren has joined the channel
[21:11] duncanbeevers: kmiyashiro: http://antirez.com/post/a-few-key-problems-in-redis-persistence.html
[21:11] matt_m: does "node" command look for any env vars or something when invoked with a script name as an argument? I am having a weird issue, when executed "node scrpt.js" on one user it works, on another it complains it doesn't know what console.log is. It actually doesn't even start the CLI on this user. I am quite consfused. Any pointers?
[21:12] isaacs: matt_m: maybe they're finding different versions of node?
[21:13] kmiyashiro: duncanbeevers: thanks
[21:14] creationix has joined the channel
[21:14] dambalah has left the channel
[21:14] matt_m: isaacs: indeed, you are right! then I guess I'll know how to "fix" that. thanks!
[21:16] azeroth__ has joined the channel
[21:16] jaequery has joined the channel
[21:16] jaequery: hi
[21:16] jaequery: hola amigoes!
[21:17] creationix: howdy everyone
[21:17] halfhalo: dundunDUN....
[21:17] jaequery: que pasa!
[21:17] pquerna: anyone familiar with django-sentry? Anything similiar for node around eyt?
[21:17] kmiyashiro: is it possible to run a function using a variable value?
[21:17] creationix: voy a ganar el mundo con el ayudo de webOS y nodeJS!
[21:18] kmiyashiro: I want to run foo.bar() and x = bar
[21:18] kmiyashiro: can I do foo.{bar}() or something?
[21:18] jaequery: am i the only one dealing with pain of, "deep tree-nested coding" syndrome with node.js?
[21:18] kmiyashiro: I mean foo.{x}
[21:18] creationix: kmiyashiro: yes
[21:18] creationix: foo[x]
[21:18] kmiyashiro: oh right
[21:18] kmiyashiro: ACTION facepalm
[21:18] yogurt_truck has joined the channel
[21:18] creationix: and functions are just values like numbers or objects
[21:19] kmiyashiro: so it would be foo[x]()?
[21:19] Rixius has left the channel
[21:19] kmiyashiro: to actually run it?
[21:19] jaequery: my code now looks like a tree, with all this event driven, i gotta pass cb method after another
[21:19] kmiyashiro: or foo[x].call(blah)
[21:19] jaequery: is there any cleaner way ?
[21:19] duncanbeevers: jaequery: Check out weepy's kaffeine dialect
[21:19] creationix: kmiyashiro: right foo.bar is the same thing as foo["bar"]
[21:19] Ratty_: kmiyashiro: the first one
[21:19] Rixius has joined the channel
[21:19] kmiyashiro: ok, thanks!
[21:19] Metapony has joined the channel
[21:20] SubStack: jaequery: build a flow control lib!
[21:20] SubStack: it's super fun
[21:20] JojoBoss has joined the channel
[21:20] creationix: jaequery: there is an old post here http://howtonode.org/control-flow
[21:20] jaequery: user = User.find! {id: nick}, how the hell?
[21:21] creationix: jaequery: and go from there, or npm search control flow
[21:21] wereHamster has joined the channel
[21:21] broofa_ has joined the channel
[21:21] yogurt_truck has joined the channel
[21:21] halfhalo: I finally fixed my issue with sequelize and express. sequelize was erroring out but being caught by a try/catch... and all due to a single string instead of an int. Took me forever to find out it wasn't parsing correctly.
[21:24] dans_ has joined the channel
[21:24] truedat101 has joined the channel
[21:24] mikeal has joined the channel
[21:26] chalaschek has joined the channel
[21:27] chalaschek has joined the channel
[21:28] chalaschek has joined the channel
[21:29] ryah has joined the channel
[21:30] tim_smart has joined the channel
[21:30] kblake has joined the channel
[21:31] aaronlevy has joined the channel
[21:31] eguest309 has left the channel
[21:32] Prism has joined the channel
[21:32] eee_c1 has joined the channel
[21:33] towns has joined the channel
[21:34] DennisRasmussen has joined the channel
[21:35] f^ has joined the channel
[21:35] norviller has joined the channel
[21:35] BillyBreen has joined the channel
[21:36] dmcquay_ has joined the channel
[21:36] javaanse_jongens has joined the channel
[21:39] beldur has joined the channel
[21:40] dies_el has joined the channel
[21:41] svenlito has joined the channel
[21:45] Wizek has joined the channel
[21:45] mraleph has joined the channel
[21:45] Me1000 has joined the channel
[21:47] eee_c has joined the channel
[21:48] Corren has joined the channel
[21:51] tahu has joined the channel
[21:53] towski: what's the difference between a global function, say 'function hey(){' , and a global variable, like hey = function(){}
[21:53] EvanCarroll: 1wom 2
[21:53] rfay has joined the channel
[21:53] towski: node seems to be treating them differentl
[21:53] EvanCarroll: change password time.
[21:53] mattly has joined the channel
[21:54] context: haha.
[21:54] CiRlE has joined the channel
[21:54] context: hate it when that happens
[21:54] context: towski: they are different.
[21:56] cloudhead has joined the channel
[21:56] hij1nx has joined the channel
[21:57] wilmoore has joined the channel
[21:57] rauchg has joined the channel
[21:59] perezd has joined the channel
[21:59] towski: context: so my problem is, I want to make something defined first as 'function hey(){ }' become a global
[21:59] towski: of the same name
[22:00] Fredderf_ has joined the channel
[22:00] jaequery: whats the difference between, bla.bla = function(r){..} and var bla = { bla: function(r){ ... }
[22:01] Ratty_: jaequery: Nothing really
[22:01] Tidwell: jaequery: you'll get an error with that first one if you haven't declared bla already, otherwise, nothing
[22:02] matyr has joined the channel
[22:02] dgathright_ has joined the channel
[22:03] jaequery: cool
[22:03] jaequery: thx
[22:03] jaequery: also, should i quote the keys? is that better practice?
[22:04] mikeal has joined the channel
[22:04] thomblake1 has joined the channel
[22:05] davidsklar has joined the channel
[22:06] broofa has joined the channel
[22:06] cloudhead has joined the channel
[22:06] insin| has joined the channel
[22:07] TomY has joined the channel
[22:07] vikstrous has joined the channel
[22:08] jeff_horton has joined the channel
[22:09] kblake has joined the channel
[22:15] matyr_ has joined the channel
[22:17] kblake has joined the channel
[22:18] piscisaureus has joined the channel
[22:18] boaz has joined the channel
[22:18] towns has joined the channel
[22:19] DennisRasmussen has joined the channel
[22:19] dmojoryder has joined the channel
[22:19] deedubs has joined the channel
[22:19] timmywil has joined the channel
[22:21] fallsemo has joined the channel
[22:23] kblake has joined the channel
[22:24] yozgrahame has joined the channel
[22:24] ryanfitz has joined the channel
[22:26] mike5w3c_ has joined the channel
[22:26] davidcoallier has joined the channel
[22:26] maximosis has joined the channel
[22:30] CiRlE has joined the channel
[22:33] davidsklar has joined the channel
[22:34] piscisaureus has joined the channel
[22:35] sonnym has joined the channel
[22:35] demet8 has joined the channel
[22:35] kblake has joined the channel
[22:35] aho has joined the channel
[22:36] aho has joined the channel
[22:37] sspencercon has joined the channel
[22:38] jhurliman: anyone have a favorite library for node.js unit tests?
[22:38] CiRlE has joined the channel
[22:38] sendark has joined the channel
[22:39] aconbere has joined the channel
[22:40] isaacs: jhurliman: i'm partial to node-tap
[22:40] isaacs: jhurliman: but it's not very polished yet
[22:40] isaacs: docs etc.
[22:40] jhurliman: i'll take a look, thanks
[22:41] isaacs: jhurliman: you should bug the author to finish it up already.
[22:41] jhurliman: who needs polish when it comes to unit tests anyways ;)
[22:42] darshanshankar has joined the channel
[22:43] galaxywatcher_ has joined the channel
[22:44] PhilK has joined the channel
[22:45] temp01 has joined the channel
[22:46] Venom_X has joined the channel
[22:47] slloyd has joined the channel
[22:49] dyer has joined the channel
[22:51] dgathright_ has joined the channel
[22:51] peerless has joined the channel
[22:52] mikeal has joined the channel
[22:52] CiRlE has joined the channel
[22:54] baoist has joined the channel
[22:54] danfo has joined the channel
[22:55] kblake has joined the channel
[22:56] crodas has joined the channel
[22:56] maximosis has joined the channel
[22:57] kblake has joined the channel
[22:58] ryah has joined the channel
[22:58] hybsch has left the channel
[22:59] sgentle has joined the channel
[23:01] ChrisPartridge has joined the channel
[23:03] ryah has joined the channel
[23:06] dnolen has joined the channel
[23:07] svenlito has joined the channel
[23:08] mikeal1 has joined the channel
[23:08] svenlito has joined the channel
[23:09] viz has joined the channel
[23:12] fallsemo has joined the channel
[23:12] samsonjs_ has joined the channel
[23:13] oninoshiko has joined the channel
[23:18] stepheneb has joined the channel
[23:20] patcito has joined the channel
[23:20] mattijs has joined the channel
[23:20] russell_h has joined the channel
[23:22] [[zz]] has joined the channel
[23:23] greg has joined the channel
[23:25] dmojoryder has joined the channel
[23:25] russell_1 has joined the channel
[23:27] azeroth_ has joined the channel
[23:28] CiRlE has joined the channel
[23:33] moshe_ has joined the channel
[23:36] m64253 has joined the channel
[23:37] danfo has joined the channel
[23:37] narkeeso has joined the channel
[23:38] samsonjs has joined the channel
[23:38] pyrotechnick has joined the channel
[23:41] tjholowaychuk has joined the channel
[23:42] russell_h has joined the channel
[23:44] hij1nx has joined the channel
[23:44] bronson has joined the channel
[23:45] CiRlE has joined the channel
[23:46] temp01 has joined the channel
[23:47] maximosis has joined the channel
[23:51] matyr has joined the channel
[23:52] crodas has joined the channel
[23:53] jmoyers has joined the channel
[23:54] marcello3d has joined the channel
[23:54] marcello3d has joined the channel
[23:55] gtramont1na has joined the channel
[23:55] samsonjs has joined the channel
[23:55] ChknFngr has joined the channel
[23:57] n2liquid has joined the channel
[23:59] puffpio has joined the channel