<   August 2012    >
Su Mo Tu We Th Fr Sa  
          1  2  3  4  
 5  6  7  8  9 10 11  
12 13 14 15 16 17 18  
19 20 21 22 23 24 25  
26 27 28 29 30 31
00:01 thatguydan joined
00:01 mappum joined
00:02 dshaw_ joined
00:02 WillMarshall joined
00:03 slajax joined
00:04 esundahl joined
00:05 laner joined
00:06 adymitruk_ joined
00:08 trave joined
00:09 ryanj joined
00:09 yhpark_ joined
00:12 wangbus^ca joined
00:12 coderarity joined
00:12 baudehlo joined
00:12 <zivester> What's a good way to get people to look at my package and gain some feedback on it? (first time module creator)
00:12 teerapapc joined
00:12 <coderarity> zivester, lots of people tweet about stuff they make
00:13 luckysmack joined
00:13 <zivester> ah man, i dont have a tweeter... at least not for myself :-/
00:13 mxweas joined
00:13 Progster joined
00:15 h4mz1d joined
00:16 <gildean> zivester: why not paste a link here and ask for feedback?
00:17 aslant joined
00:18 JohnnyL joined
00:18 nicholasf joined
00:18 <zivester> figured it's too late, but here is my very simple tool https://github.com/zivester/node-quickthumb
00:19 <zivester> looking for any and all feedback, my style, the code... or features you would like to see
00:19 pringlescan joined
00:19 <zivester> i've stumbled on a couple oth modules that do some parts of this, was hopiing to see what parts others appreciate
00:20 <gildean> zivester: take not that i just woke up and most of the western world is still asleep, you might not get much feedback at this hour
00:20 <gildean> note*
00:21 <zivester> so *I* must be awake during the day?? preposterous
00:21 Hebo joined
00:21 <gildean> zivester: but it looks ok, how fast is it?
00:21 vvgomes joined
00:22 perezd joined
00:22 <zivester> its simple... only uses imagemagick and stores a local cache... not much esle to that
00:23 <zivester> could move to graphics magick and move to streamed images
00:23 austinbv joined
00:23 <coderarity> zivester, being awake during day is overrated
00:23 <gildean> also as it's directly related to express, you might want to join #express as well
00:24 <zivester> noted, thanks gildean
00:24 thirdknife joined
00:24 <zivester> coderarity... being awake at all sucks
00:25 emjayess joined
00:26 jryans joined
00:26 djshotglass joined
00:26 <djshotglass> herp derp
00:26 mapppum joined
00:27 <djshotglass> never used nodejs is it normal pratice not to use a httpd like lighttpd/apache?
00:27 <djshotglass> or is the webserver thats spawned by running 'node subway' just for dev testing
00:27 <zivester> i haven't gotten into the server part.. its good for rapid prototyping
00:28 <zivester> very few instances of a Node Server that would just run as is
00:29 <clooth> I am dog
00:30 <gildean> djshotglass: no reason why not, most people just create more customized server stacks instead of a general one
00:30 daffl joined
00:31 JohnnyL left
00:32 generalissimo joined
00:32 exien joined
00:33 etcetera joined
00:33 yhpark joined
00:33 txxt joined
00:33 wangbus^ca joined
00:35 knkumar1 joined
00:36 sreeix joined
00:38 rampr joined
00:39 jetienne joined
00:39 maxani joined
00:40 bkahl_ joined
00:40 r0tha joined
00:42 <exien> The mysql package (which i'm using for db access) throws an exception if the database goes down it. But how am I supposed to return an error callback from my model file to close the request if I never get a chance to do so?
00:42 khrome joined
00:45 luigy joined
00:46 pvankouteren_ joined
00:47 kmiyashiro joined
00:49 <astropirate> exien, try {} catch(e) { mew() }
00:51 <exien> astropirate: I've tried that, but the mysql code is async and uses events, so I can't catch it
00:51 recycle joined
00:52 <astropirate> AHHH
00:52 <astropirate> no clue then
00:52 sreeix joined
00:53 pretty_function joined
00:54 jocafa joined
00:54 <exien> astropirate: k thanks
00:56 sreeix joined
01:01 tyebud joined
01:03 mxweas joined
01:05 thealphanerd joined
01:05 neoesque joined
01:06 tyebud left
01:06 Sapr0 joined
01:07 ramitos joined
01:08 etcetera joined
01:08 joshfinnie joined
01:09 tjmehta joined
01:10 jxson joined
01:10 replore joined
01:10 replore_ joined
01:15 ibobrik joined
01:15 nonuby joined
01:16 <nonuby> confusing terminology. is this http://nodejs.org/api/net.html#net_socket_setnodelay_nodelay saying that sockets are nodelay by default or just referring to the arg?
01:16 <samholmes> What's the term for thie initial product on a startup?
01:16 <samholmes> there's an acronym for it.
01:16 <samholmes> what is is again?
01:16 <Mortchek> nonuby, the argument.
01:17 <nonuby> thanks very nearly missed that
01:17 <Mortchek> nonuby, whenever you see some identifier in the description of a function/method, and the same identifier appears in the signature, you can assume they refer to the same thing.
01:18 etcetera joined
01:19 xpollen8 joined
01:19 vvgomes joined
01:19 langworthy joined
01:20 stisti joined
01:20 <xpollen8> trying to use filed pipes. how does one over-ride filed-chosen mimetypes? also, how to set Content-Disposition? not in dox..
01:20 justal joined
01:21 <wookiehangover> http://i.gif.ly/42fcc0f8.gif
01:22 yhpark joined
01:22 ewalker joined
01:23 ryanfitz joined
01:26 mattgifford joined
01:27 breck joined
01:30 avalanche123 joined
01:31 riverraid joined
01:32 _roland joined
01:33 Hebo joined
01:35 timest left
01:35 TomWij joined
01:37 pringlescan joined
01:40 stisti joined
01:42 etcetera joined
01:43 __doc__ joined
01:44 octane-- joined
01:46 worr joined
01:46 <worr> hey, fast question
01:46 <worr> when writing a native module, how can I execute code when instances of my object fall out of scope?
01:47 <worr> I want to do some cleanup, so I popped it into my destructor, but it doesn't seem to get called
01:47 <ljharb> destructor?
01:47 <ljharb> oh, a native module
01:48 apham joined
01:49 <worr> ljharb: mhmm, any idea?
01:49 milani joined
01:49 <ljharb> nope, i don't know anything about native modules
01:50 ewalker joined
01:50 yanush joined
01:51 aib_233 joined
01:51 dguttman joined
01:53 dguttman joined
01:53 edwardly joined
01:55 aliem joined
01:57 hongymagic joined
01:57 pringlescan joined
02:01 emjayess_ joined
02:01 tmpvar joined
02:02 Jhsto joined
02:03 dgathright joined
02:03 chakrit joined
02:03 chakrit joined
02:04 mandric joined
02:04 worr left
02:04 zivester joined
02:04 ibobrik joined
02:07 bright_day joined
02:07 <bright_day> window close
02:07 <bright_day> window exit
02:08 Wizek joined
02:08 <Industrial> Anyone use Stylus? I have this weird case where every now and then the stylus output file (css) is blank
02:11 TheJH joined
02:11 marsulle joined
02:12 EyePulp joined
02:13 hongymagic left
02:13 e6nian joined
02:13 jryans joined
02:14 jeswin joined
02:15 jp232 joined
02:16 andrewffff_ joined
02:18 joshontheweb joined
02:18 afk47 joined
02:19 <chakrit> anyone knows this guy fictorial?
02:21 mtsr joined
02:23 jaseemabid joined
02:24 joshontheweb joined
02:24 yhpark_ joined
02:24 yhpark_ joined
02:25 stevengill joined
02:25 SamuraiJack joined
02:26 stisti joined
02:26 armetiz joined
02:27 lpin joined
02:28 techthumb joined
02:28 thanpolas joined
02:28 tornad joined
02:29 margle joined
02:30 etcetera joined
02:30 tmpvar joined
02:31 dshaw_ joined
02:32 djshotglass left
02:33 SamuraiJack joined
02:38 mappppum joined
02:38 mappum joined
02:38 emjayess joined
02:39 djcoin joined
02:39 Cr8 joined
02:39 Piotras joined
02:39 dgathright joined
02:39 maxani joined
02:39 Morkel joined
02:40 pringlescan joined
02:41 fangel joined
02:42 Lee- joined
02:42 ecthiender joined
02:43 tornad1 joined
02:43 nohu joined
02:44 iapain joined
02:47 toonketels joined
02:47 idiomatique joined
02:47 jaseemabid joined
02:48 Demux joined
02:49 widox joined
02:52 _pid joined
02:53 CStumph joined
02:55 balboah joined
02:56 stisti joined
02:57 AvianFlu joined
02:58 haarg joined
02:59 jocafa joined
02:59 tlync joined
03:01 jpe joined
03:02 Frippe joined
03:02 Frippe joined
03:02 _pid joined
03:04 tornad joined
03:04 maletor joined
03:06 ph^ joined
03:06 SamuraiJack joined
03:07 Evanlec joined
03:09 TheJH joined
03:09 blevs joined
03:09 tridion joined
03:10 mickhansen joined
03:10 aliem joined
03:11 braoru joined
03:12 ablomen joined
03:14 mvanek_wfh joined
03:14 thatguydan joined
03:15 emattias joined
03:15 tmpvar joined
03:16 erikzaadi joined
03:16 erikzaadi left
03:16 tornad1 joined
03:16 jolo2 joined
03:16 Senji joined
03:17 emattias joined
03:18 hackband joined
03:19 nicholas_ joined
03:19 rafmc joined
03:19 Jhsto joined
03:20 mattikus joined
03:21 dgathright joined
03:21 _baton_ joined
03:21 rampr joined
03:22 heroux joined
03:22 dshaw_ joined
03:23 stisti joined
03:23 <darrenlooby> Anyone got experience of writing a https app in express 3.x?
03:24 willwhite joined
03:25 tomahaug joined
03:27 dpino joined
03:27 opus_ joined
03:27 cianomaidin joined
03:28 RLa joined
03:28 salsamontes joined
03:29 cianomaidin joined
03:29 ngoldman joined
03:30 mattgifford joined
03:34 extrawurst joined
03:34 cianomaidin joined
03:35 rendar joined
03:35 saschagehlich joined
03:36 hallas joined
03:37 cpetzold joined
03:37 Wizek_ joined
03:38 [AD]Turbo joined
03:39 <[AD]Turbo> hi there
03:39 extrawurst left
03:39 NuZZ joined
03:41 `3rdEden joined
03:41 Zogot joined
03:41 saschagehlich_ joined
03:42 mmalecki joined
03:42 sorin7486 joined
03:43 <NuZZ> Hey guys is it possible to create a node IRC botnet? Ie. the functionality of communicating messages between seperate node process possibly hosted on different servers and connected to different networks?
03:43 <NuZZ> ie. eggdrop botnets
03:43 <NuZZ> I'm so tired of shitty eggdrop :|
03:43 <substack> everything is possible
03:43 <substack> the only limit is yourself
03:43 <NuZZ> has it been done then?
03:43 <NuZZ> fucking yoda!
03:44 <substack> NuZZ: https://github.com/hookio/hook.io https://github.com/substack/dnode https://github.com/isaacs/sodn
03:44 <NuZZ> clicking...
03:45 threeb joined
03:45 npa joined
03:46 mikedeboer joined
03:46 toothr joined
03:46 yawnt joined
03:47 <NuZZ> interesting. I googled this and did find that IRC bots were built around hook.io
03:47 <NuZZ> thanks.
03:47 <NuZZ> all that is left is to wonder if anyone has gone further with the IRC bot side of things
03:49 <NuZZ> there is everychance it can all be done with hookio, and I am just dyslexic atm. :)
03:49 mattgifford joined
03:50 cianomaidin joined
03:50 christi joined
03:51 <AAA_awright> I'm conserned that people write packages, which are fantastic, but then they go unmaintained
03:51 <AAA_awright> Like this: https://github.com/visionmedia/send/issues/9
03:52 <AAA_awright> Or Mongolian, a fantastic MongoDB driver, except for a quirk with connection.close() which I don't see getting fixed within the year
03:52 <AAA_awright> It's easy enough to write fixes for the packages, but then someone has to push an update for them
03:52 <AAA_awright> And people are just unwilling to do that
03:53 <mmalecki> AAA_awright: I usually just add people to my old packages
03:53 <mmalecki> if they seem interested.
03:53 <AAA_awright> mmalecki: How's that work?
03:54 <mmalecki> AAA_awright: you mean how do I do that? `npm owner add <new-owner> <package>`
03:54 <mmalecki> or, for you, you could edit couch directly :)
03:54 kuya joined
03:54 <AAA_awright> Oh
03:54 graeme_f joined
03:54 mephju joined
03:54 <AAA_awright> But then you have to trust people
03:55 <AAA_awright> mmalecki: I like Linus in his Google Tech Talk: "I'm a very untrusting person, I shouldn't have to trust anyone"
03:55 pokoli joined
03:56 riverrai_ joined
03:56 <AAA_awright> I think I'm ready to announce https://github.com/Acubed/git-node to the mailing list but I'd like to make sure it's mostly feature-complete, anyone want to try it out?
03:56 <mmalecki> AAA_awright: oh well, I don't really like that attitude, I like trusting people. and it never got me anything wrong in this community
03:56 <mmalecki> in real life, on the other hand!
03:56 jetienne joined
03:57 hammon2 joined
03:57 vmorgado joined
03:58 tornad joined
03:58 <AAA_awright> mmalecki: If you can get away with not trusting people, why not?
03:59 <AAA_awright> It means you can experiment with things more, and you take on less risk
03:59 <NodeX> the world is a lonely place when you dont trust anyone
03:59 <AAA_awright> It's everything that Git gave to revision control
03:59 <AAA_awright> No it's not?
03:59 <mmalecki> AAA_awright: well, yeah, I see pros of that concept :)
03:59 <AAA_awright> I can work with people without trusting them
03:59 <NodeX> work != connection
03:59 timoxley joined
03:59 yhpark joined
04:00 devsharpen joined
04:00 dreamerslab joined
04:00 <AAA_awright> Quoth Linus again: "Maybe <X coworker> forgot to take his meds today, who knows"
04:00 <AAA_awright> iirc
04:01 <NodeX> "I heard it on the internet, It must be true"
04:01 <dreamerslab> hi guys is there a way to switch the `require` path?
04:01 jp232 joined
04:01 graeme_f joined
04:01 phpnode joined
04:02 yawn joined
04:02 adrianlang joined
04:02 tornad1 joined
04:03 markwubben joined
04:03 tobias2 joined
04:04 antdillon joined
04:04 fly-away joined
04:04 ptdorf joined
04:05 <sorin7486> we had a guy around here that forgot to take his meds
04:06 <sorin7486> he broke a few doors one morning
04:06 <sorin7486> :)
04:06 <sorin7486> scared the hell out of his colleagues
04:07 <sorin7486> dreamerslab, what do you mean ?
04:07 <dreamerslab> thanks for the reply, normally require looks for `node_modules` in the current dir
04:07 <dreamerslab> is there a way to switch it to another dir?
04:09 ShaneHudson joined
04:09 <sorin7486> I think you can add NODE_PATH as an environment variable
04:09 <sorin7486> and you can specify a place for it to search for modules
04:09 caasiHuang joined
04:09 <sorin7486> try node --help
04:09 <sorin7486> I also think I've seen a setting somewhere to do this but I can't find it right now
04:10 <sorin7486> but why would you want to do that?
04:10 <dreamerslab> i think i've seen that on nodejs goole group but i can't find it either :(
04:11 [[zzz]] joined
04:11 Wizek joined
04:11 <dreamerslab> setting the NODE_PATH does not seem to work in my case
04:12 <dreamerslab> actually i want to require models in local package but calling in global
04:12 cianomaidin joined
04:12 hipsters_ joined
04:12 <dreamerslab> and the local package require another module in locals as well
04:12 teerapapc joined
04:14 <sorin7486> yeah, I can't help you there
04:14 <sorin7486> I don't even know what half of what you said means :)
04:15 margle joined
04:16 Zipp joined
04:18 <dreamerslab> still thanks :)
04:19 yawnt joined
04:22 sunoano joined
04:22 sunoano joined
04:22 jacobolus joined
04:23 dreamerslab left
04:27 tarisg joined
04:27 kall joined
04:28 tarisg left
04:28 vguerra joined
04:29 rio{ joined
04:36 rafmc joined
04:36 robotmay joined
04:36 salva joined
04:36 hellp joined
04:36 gregmoreno joined
04:36 eugeneware1 joined
04:36 Cr8 joined
04:36 sh1ftpgdn joined
04:36 MrMaksimize joined
04:36 yhpark joined
04:36 mattikus joined
04:36 grange joined
04:37 ifarkas joined
04:38 CStumph joined
04:39 yawn joined
04:40 cianomaidin joined
04:41 wltsmrz joined
04:45 davidcoallier joined
04:46 tnlogy joined
04:47 stisti joined
04:49 romainneutron joined
04:49 stagas joined
04:52 rampr joined
04:53 Fuu`` joined
04:55 sreeix joined
04:56 tornad joined
04:57 tc77 joined
04:59 caasiHuang joined
04:59 vmorgado joined
05:01 inimino joined
05:04 _smf_ joined
05:05 Emmanuel` joined
05:06 tornad1 joined
05:06 quesada joined
05:07 ptdorf_ joined
05:07 V1 joined
05:07 pretty_f_ joined
05:07 grosroro joined
05:07 ibobrik_ joined
05:07 stefan41_ joined
05:08 hammon3 joined
05:08 mikepj1 joined
05:08 nohu_ joined
05:08 YoY joined
05:09 r0tha_ joined
05:09 caasiHua_ joined
05:09 rafmc joined
05:10 pneftali_ joined
05:10 RichieEvan joined
05:11 MrMaksim1ze joined
05:11 shanecowherd joined
05:12 igl joined
05:12 vervain_ joined
05:12 markwubben joined
05:13 graeme_f joined
05:15 heavysixer_ joined
05:15 lpin joined
05:15 balboah_ joined
05:16 rampr_ joined
05:16 nat3 joined
05:16 fangel joined
05:16 andrewffff joined
05:19 balboah joined
05:19 eventualbuddha joined
05:19 TomWij joined
05:19 jacobolus joined
05:19 cianomaidin joined
05:20 willwhite joined
05:21 rafmc joined
05:21 mickhansen joined
05:22 majek joined
05:23 dpino joined
05:23 zivester joined
05:24 mephju joined
05:24 meso_ joined
05:24 mtsr joined
05:24 darrenlooby joined
05:24 pokoli joined
05:24 stevedomin joined
05:25 keeto joined
05:25 mihamina joined
05:25 _roland joined
05:26 adrianlang joined
05:26 william-s joined
05:26 edwardly joined
05:26 aslant joined
05:26 jetienne joined
05:26 Aphelion joined
05:26 Aphelion joined
05:26 Aphelion joined
05:27 haarg joined
05:27 cianomaidin joined
05:27 Evanlec joined
05:28 wolfeidau joined
05:29 JmZ_ joined
05:31 confoocious joined
05:31 confoocious joined
05:31 panosru joined
05:31 robotmay_ joined
05:32 V1 joined
05:32 adambeynon joined
05:33 jmpe joined
05:34 cebor joined
05:35 dscape joined
05:40 NodeX joined
05:44 olasd_ joined
05:44 olasd_ joined
05:47 sirwan joined
05:47 brooss joined
05:48 shanecowherd joined
05:51 MannyCal joined
05:51 jibay joined
05:53 taky joined
05:53 <taky> i love you node
05:53 <taky> i love you mongo, mapreduce
05:54 <taky> node is the best thing that ever happened to programming
05:56 jaseemabid joined
05:57 rickibalboa joined
05:57 dannyamey joined
05:58 <sirwan> taky: how did you get past your initial hate for callback hell ?
05:58 graeme_f joined
05:58 <NuZZ> hmmm
05:59 <NuZZ> callback hell you say
05:59 <NuZZ> my frameworks is in such a way that there is not really any callback hell
06:00 <zomg> sirwan: you just need to organize your code better ;) You can also use stuff like the async library
06:00 <NodeX> anyone had "XML Parsing Error: no element found Location: moz-nullprincipal:{1fbe0d1e-0f73-4df0-ace2-85b0d96618ad} Line Number 1, Column 1:" error with Node / Socket.io ?
06:00 <NuZZ> make server -> require a file, set shit up in said file, module.exports exports a function which server calls on the event of a request, gets matched against routes, goes through some logic to determine
06:01 <NuZZ> if it should be pumped to lactate or treated as a template for ejs
06:01 <NuZZ> it's all mostly synchronous
06:01 <taky> sirwan: it was a long hard rode of realizing where variables overrote eachother, and understanding the scope of doing stuff async, but eventually you get really fluent and swift will the callbacks
06:01 <taky> knowing where to isolate sections of code off in (function(){/*blocks*/})();
06:01 <taky> etc
06:01 <zomg> I'd imagine it's harder if you aren't already pretty familiar with JS itself
06:02 <zomg> But yeah, once you figure it out nicely it's not bad at all
06:02 <taky> its actually sort of refreshing after awhile
06:02 <NuZZ> indeedle
06:02 <NuZZ> you only really need to bother will callbacks when such operates in an asyn way right?
06:02 <NuZZ> how do you know it's async?
06:03 markwubben joined
06:03 <taky> generally rule of thumb is its probably async inless it has "sync" in the name
06:03 <NuZZ> as far as node modules go, yeah
06:04 <NuZZ> require() operates in a synchronous fashion though doesn't it. it's kind of a put off
06:06 <zomg> If it has a callback then it's most likely an async function =)
06:06 thinkinglemur joined
06:06 <zomg> Well, always best to assume it's async if it has a callback so things will keep working correctly even if it's just faking it
06:06 mmeno joined
06:07 <NuZZ> this coffeescript looks so delightful, no more awkward hasOwnProp and other loop issues, no more undefined var referenceerror issues. it's too bad I cant use globals
06:07 <NuZZ> zomg, right.
06:07 <substack> heylookit streaming accept-encoding negotiator https://github.com/substack/oppressor
06:07 <NuZZ> if there is a callback then that is a pretty logical conclusion
06:11 <NuZZ> likely a stupid question; what is the best practice for maintaining a single object throughout files? (ie. config object with database info, connections etc.)
06:11 much4 joined
06:11 <substack> pass the data to where it needs to go
06:12 <substack> you can module.exports = someObject and then require() that module too
06:12 <NuZZ> require maintains the object each time?
06:12 <substack> or you could have your modules that need your state register callbacks and then call THEM with the state
06:12 <substack> NuZZ: correct
06:12 <substack> requires are cached
06:13 <NuZZ> i just read about that, but wasn't 100%
06:14 skm joined
06:14 yanush joined
06:14 <mape> Anyone familiar with an issue where running cluster.disconnect doesn't actually kill all the workers? callback triggers but when I search for processes the worker is still around
06:14 <NuZZ> so, require('./config') must be requires('../config') when nested I assume to point to the correct file
06:14 <NuZZ> by nested i mean, within a subfolder
06:15 <substack> require paths are relative to __dirname in each file yes
06:15 mstruk joined
06:15 mstruk joined
06:16 teerapapc joined
06:16 abraxas joined
06:17 hichaelmart joined
06:17 <mape> only seems to happen on SIGTERM, not on SIGINT, but both of those run cluster.disconnect
06:17 coderarity left
06:17 standoo joined
06:19 Maarten joined
06:19 creationix joined
06:20 mstruk joined
06:20 mstruk joined
06:23 <NodeX> fixed it, seems it's a bug in socket.io 0.9.10
06:23 Senji joined
06:24 sreeix joined
06:26 _baton_ joined
06:29 _pid joined
06:31 jaseemabid joined
06:31 ibobrik joined
06:31 andrewffff_ joined
06:32 TimTim` joined
06:33 PhoSor joined
06:33 jimmyff joined
06:35 aslant joined
06:36 krishna joined
06:36 milani left
06:37 nat3 joined
06:38 meso_ joined
06:38 cianomaidin joined
06:40 maxani joined
06:40 joshontheweb joined
06:43 ptdorf joined
06:43 robotmay joined
06:45 kofno joined
06:45 dpino joined
06:47 pickels joined
06:49 yawn joined
06:50 <zomg> Anyone ever worked with OpenLayers or other custom mapping solutions?
06:50 <zomg> Seems to be kind of hard to find a nice guide on how to take a custom map file and use it with something like that
06:51 rampr joined
06:51 sreeix joined
06:52 nat3 joined
06:55 timkuijsten joined
06:55 timkuijsten joined
06:55 saschagehlich joined
06:55 gavin_huang joined
06:57 <rvagg> are we having npm issues? I'm having "login error" issues publishing
06:57 <NodeX> I used it ok about an hour ago
06:58 jimmyff joined
06:59 ian_brasil joined
07:00 mandric joined
07:02 spionL joined
07:03 <rvagg> pretty sure it wasn't a problem on my end but it's working now
07:05 nat3 joined
07:05 zonetti joined
07:05 nullunity joined
07:05 <framlin> I use the request-module and get the following error: (node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit." Howto setMaxListeners for the request-module (mikael)
07:06 <framlin> or howto avoid this problem ...
07:06 tlync joined
07:06 rafmc_ joined
07:08 <rvagg> Benvie: you around?
07:09 josh-k joined
07:10 whitman joined
07:10 toonketels joined
07:11 gavin_huang joined
07:12 japan0708 joined
07:12 <framlin> is anybody using request here?
07:13 mihamina1 joined
07:13 <framlin> do I have to close/end a response if i pipe something in?
07:14 <framlin> require('request')('http://localhost:9000'+req.url).pipe(response);
07:14 <framlin> this is causing my request-error
07:14 aslanted joined
07:15 caasiHuang joined
07:15 ninefawn joined
07:16 booyaa joined
07:16 <booyaa> woah sexy new look for npmjs.org
07:16 <booyaa> when did this happen?
07:18 thunderstrike joined
07:19 joshgillies joined
07:19 kaspertidemann joined
07:19 Progster joined
07:23 dannyamey joined
07:23 <NuZZ> my face when I spend hours looking up the easiest way to compile coffeescript with node, then I just create a file init.js which requires coffee-script and requires the rest of the app. myfacewhen
07:25 octane-- joined
07:25 harthur joined
07:25 <NuZZ> i want to know why npmjs has a period of failure where the stylesheet loads after the html renders
07:26 <holzp> that may not be npmjs, thats normal in browsers
07:26 <NuZZ> its not normal for decent servers
07:26 <holzp> the stylesheet loads but lags in application
07:26 <holzp> perhaps the client is indecent
07:26 <NuZZ> i have a feeling the static file serving is awkward or there is javascript on the client blocking it
07:27 <NuZZ> i've had it happen on a shitty paki website I re-designed. had to kill their javascript from loading in the header and put it in the footer
07:27 <NuZZ> lol here is the culprit
07:27 <NuZZ> <script src="//www.google-analytics.com/ga.js"></script>
07:28 <NuZZ> this is being loaded BEFORE the stylesheet
07:28 <NuZZ> is isaacs on here?
07:28 <holzp> drop the scripts down
07:29 <NuZZ> exactly, he needs to do this
07:29 <holzp> or better yet defer them till after load
07:29 <TimTim`> -_-
07:29 <purr> TimTim`: ಠ_ಠ is an IRC client/IRC client framework.
07:29 <TimTim`> lol wtf?
07:29 <NuZZ> haha
07:29 <NuZZ> -_-
07:29 <purr> NuZZ: ಠ_ಠ is an IRC client/IRC client framework.
07:30 <NuZZ> dafaq
07:30 <TimTim`> never seen that before
07:30 <NuZZ> -_
07:30 <TimTim`> that's awesome
07:30 <NuZZ> _-
07:30 <TimTim`> -_- is my favorite smiley too
07:30 <TimTim`> ಠ_ಠ
07:30 ivosq joined
07:31 <TimTim`> anyway back to what i was gonna say before purr botted his way into my thought process
07:32 <NuZZ> you like bananas?
07:32 <TimTim`> that's a little disconcerting to know that whoever designed npmjs.org didn't asyncronously load google analytics
07:32 aliem joined
07:33 <NuZZ> is it disconcerning to know he also has committed code to node.js itself?
07:33 <TimTim`> slightly
07:33 <NuZZ> haha
07:33 <TimTim`> depends on what he contributed to :D
07:33 <holzp> well its google's thing and they give you the snippit and rewriting it may be untoward.
07:33 <NuZZ> security bubble
07:33 <TimTim`> could have sworn google provides async code by default for that
07:34 <NuZZ> no it's just about the way the <head> is written
07:34 <NuZZ> but It's probably because isaacs, the guy who made the site, lives in a low-latancy world where such a glitch doesn't present itself
07:35 <NuZZ> the rest of the world? eh, not so much
07:35 stisti joined
07:36 <booyaa> nuzz could you check your racism at the door, 12:27 < NuZZ> i've had it happen on a shitty _paki_ website I re-designed.
07:36 <NuZZ> that isn't racism
07:36 jimmyff joined
07:36 <* TimTim`> suddenly craves curry.
07:36 graeme_f joined
07:37 <wltsmrz> Relevant? http://en.wikipedia.org/wiki/List_of_ethnic_slurs#P
07:38 mvanek_wfh left
07:38 <NuZZ> i mean pakistani's
07:38 <NuZZ> lol.
07:38 <NuZZ> but dont worry I can be plenty racist
07:38 <NuZZ> :)
07:38 mvanek joined
07:38 <TimTim`> shut up cracker
07:39 <NuZZ> :O I AM A BLACK WOMAN WHO DONT NEED NO MAN, how dare you!
07:39 <TimTim`> ok this is already getting out of hand
07:39 <* TimTim`> gets back to work.
07:39 <NuZZ> :D
07:41 <NuZZ> but yeah if isaacs comes online here msg him about dat <head> glitch, folks
07:42 <NuZZ> I am too lazy to submit an issue on the git
07:42 <broofa> Hey all, 'trying to familiarize myself with how to implement custom Streams and would appreciate criticism on the POST stream parser I put together: http://pastie.org/4603136
07:42 bnoordhuis joined
07:43 luigy joined
07:43 <wltsmrz> https://github.com/isaacs/npmjs.org/blob/master/www/attachments/index.html
07:44 <broofa> E.g. is it wrong to use the 'data' event to return the parsed form results? Also, I don't currently catch exceptions anywhere (e.g. possible parse errors)... but assuming I did, what's the best way to surface those? An 'error' event' I suppose?
07:45 stagas joined
07:45 <sirwan> NuZZ is a British twat
07:45 <sirwan> no vermin on the planet like the british
07:46 <kranius> haha
07:46 <sirwan> why is Britain trying to be a 51st american state yet hate America so much
07:46 <NuZZ> close but no cigar
07:46 <sirwan> they're incredibly jealous of america
07:46 alexgordon joined
07:46 <sirwan> yet copy their entire culture
07:46 <wltsmrz> I think you should try /catch the JSON parsing, broofa, and emit an 'error' as you suggested.
07:46 <sirwan> Brits are stereotypically pompous and arragont
07:46 <wltsmrz> That's my opinion and it's what I've done anyway.
07:46 <sirwan> really are a bunch of collectivist, draconian twats
07:46 <wltsmrz> Oh, but probably wait to JSON parse when you receive your 'end'
07:47 <broofa> wltsmrz - yeah, that's what I'm doing.
07:47 <broofa> line 39
07:47 <sirwan> plus every dog claims to be British nowadays were they clearly look Greek, French etc
07:47 <wltsmrz> Link?
07:47 <wltsmrz> Oh sorry.
07:48 <sirwan> Britain sucks Individualism out
07:48 <sirwan> thats why entreapeners leave britain
07:48 <sirwan> bunch of circle jerking collectivist dickheads
07:48 TheJH joined
07:48 <sirwan> NuZZ: your a pratt
07:49 <nkuttler> sirwan: ##politics
07:49 <NuZZ> you're*
07:49 <konobi> sirwan: watch it
07:49 imarcusthis joined
07:49 <sirwan> lol nkuttler ty
07:49 <broofa> wltsmrz - 'not actually sure this makes sense as a stream class, honestly, since I'm just buffering everything until the end. But the most common use case is pulling data from a stream.
07:49 <sirwan> just saying britain is more hated than america … america is a much more genuine place
07:49 <sirwan> unpretentious
07:49 <sirwan> but ill stop
07:49 <konobi> imarcusthis: hey marcus
07:49 <wltsmrz> Most people would extend Stream using util.inherits, broofa. That's kind of the usual way to achieve this.
07:49 darrenlooby joined
07:49 graeme_f joined
07:50 romainneutron joined
07:50 <NuZZ> they are both shitholes sirwan
07:50 <sirwan> NuZZ: no america is the best nation on the planet and i dont even live there
07:50 <sirwan> americans are cool people
07:50 <NuZZ> are you practising satire?
07:50 <broofa> (really, people??? this isn't even /interesting/ racism, for gods sake. :( )
07:51 <NuZZ> or perhaps just plain ole trolling
07:51 <sirwan> no fuck the humour is facecious and shit i dont practice that depressive crap
07:51 <sirwan> NuZZ: you were just clearly trolling earlier
07:51 <drey> is there an accepted way of providing a db to multiple files within an application? something along the lines of a singleton in db.js and just requring that as needed?
07:51 <sirwan> how about you learn from me and stfu
07:52 <NuZZ> nope, genuine ole nuzzy dont be trollin
07:52 yanush joined
07:52 <wltsmrz> Something like this, broofa? http://pastie.org/pastes/4603213/text?key=dcigcwa8oid266uujgpmw
07:52 sh0ne joined
07:52 <sirwan> wtf is 'ole nuzzy' … like your a legend on these chat rooms ?
07:52 <sirwan> your a dickhead
07:52 was kicked by konobi: sirwan
07:52 <wltsmrz> You can see Suckle for a working example of this https://github.com/Weltschmerz/Suckle/blob/master/lib/suckle.js
07:52 <NuZZ> you're*
07:53 mickhansen joined
07:54 jonatas_oliveira joined
07:55 <broofa> wltsmrz nit: in suckle Readme, I think you term you want is 'demultiplexer', btw. :)
07:55 <broofa> you -> the
07:56 <broofa> but otherwise, yeah, that makes sense.
07:56 <TimTim`> lotta hate comin out of that sirwan guy
07:56 <TimTim`> -_-
07:56 <purr> TimTim`: ಠ_ಠ is an IRC client/IRC client framework.
07:57 einaros joined
07:58 jmpe joined
07:59 jwulf joined
08:00 zeppo joined
08:01 sirwan joined
08:01 <framlin> how can I avoid to run out of MaxListeners if I call require('request')(url).pipe(res) in a loop through some 100 urls?
08:02 Progster joined
08:02 <broofa> wltsmrz - thx for the suggestions. :)
08:02 Maarten joined
08:03 <wltsmrz> You're re-requiring for every iteration, framlin? :O
08:03 stisti joined
08:03 <broofa> wltsmrz require() caches, so re-requiring shouldn't matter, right?
08:03 <wltsmrz> Of course it matters, and not only aesthetically
08:03 <framlin> wltsmrz: yes
08:04 <framlin> but that seems not to be the problem
08:04 <broofa> wltsmrz: how so?
08:04 <framlin> first I required(request) only once
08:05 <broofa> wltsmrz (oh, and ignore my suggestion re: suckle README - I just misunderstood what suckle was doing. :) )
08:05 <framlin> then I hoped the problem would disapear, if i require it within the loop
08:05 <framlin> but it didnt
08:06 <framlin> I think I shoul call setMaxListeners anywhere, but wehre
08:06 <framlin> what is the emitter in this case
08:06 <framlin> ?
08:06 <broofa> it's my understanding that modules are only initialized once, regardless of how many times require() is called. so once .vs. many shouldn't matter.
08:07 <framlin> broofa: I understood it like you
08:07 <rvagg> framlin: if you figure that one out let me know, it's been happening for me too, similar use case, since 0.8, as far as I can tell you can't get access to the EventEmitter that's complaining
08:08 ojon_ joined
08:08 <framlin> I have the same problem doing fs.createReadStream(__dirname+'/menu/'+fileName).pipe(res) in a loop
08:08 <rvagg> I'm not piping, just using request for a lot of requests
08:09 <framlin> so the question is, what are the emitters to call setMaxListeners(0) on
08:10 davidcoallier joined
08:10 yanush joined
08:12 jryans joined
08:12 yhpark_ joined
08:13 sainttex joined
08:14 fermion joined
08:16 <framlin> rvagg: I could solve my problem by calling res.setMaxListeners(0) before piping to res
08:16 knkumar joined
08:18 ptdorf joined
08:19 bnoordhuis joined
08:21 cshepp joined
08:21 navaru joined
08:22 vincentcr joined
08:22 Fodi69 joined
08:23 jonatas_oliveira joined
08:24 thanpolas_ joined
08:25 klaemo joined
08:27 <shlevy> If I've carefully crafted the function to only deal with variables I know aren't being modified or read in the event loop, can I call a js function from the work_cb of uv_queue_work?
08:27 meso_ joined
08:28 imarcusthis joined
08:29 <klaemo> hey, in a node app, should I write every single function in an async style or just the ones that deal with I/O?
08:29 <konobi> anyone using blode?
08:29 yawnt joined
08:29 <chakrit> klaemo: just the I/O ones mostly.
08:30 cronopio joined
08:31 <klaemo> chakrit: i figured. so, what's the best way to deal with errors in sync functions? in the async world it's really nice to just pass the err to the callback
08:31 <sh0ne> where 'require.js' is being put when installed with 'npm install requirejs' ? I cannot see it anywhere in 'nodejs' folder in Program Files (Windows 7).
08:31 <shlevy> klaemo: try-catch
08:32 hipsters_ joined
08:32 <klaemo> shlevy: doesn't that cause deoptimization in V8?
08:32 sh0ne joined
08:32 wizonesolutions joined
08:33 <klaemo> sh0ne: it should be in the node_modules folder of the directory you ran the npm install command in
08:33 <shlevy> klaemo: Get correct functionality first. If you then face a performance issue that you prove through profiling, then ask about performance
08:34 <klaemo> shlevy: good point
08:34 <konobi> the try/catch was improved a while back i believe
08:35 <klaemo> so just to make sure, if I have to do a bunch of computations on my data, without doing any i/o, i can do it in sync functions (aka return the result) and just wrap it in try-catch?
08:35 <sh0ne> klaemo: You're were right, thank you for your help.
08:35 imarcusthis joined
08:36 AlbireoX joined
08:36 hillct joined
08:37 Swaagie joined
08:38 Mamadex joined
08:40 Mamadex joined
08:40 mihamina joined
08:41 sreeix joined
08:41 Mamadex joined
08:41 hnakamur joined
08:42 wankdanker joined
08:43 drudge joined
08:43 zs1621 joined
08:44 shiawuen joined
08:45 CatalinH joined
08:46 cianomaidin joined
08:48 smithrobs joined
08:51 yanush joined
08:51 salva joined
08:52 wolftankk joined
08:53 davidsklar joined
08:55 ptdorf joined
08:55 choo joined
08:55 subbyyy joined
08:56 <shlevy> Do I need to #define BUILDING_NODE_EXTENSION for c++ addons?
08:56 SeanBannister joined
08:58 imprestavel joined
08:58 <SeanBannister> I noticed when I do a math equation in node.js and the same in PHP I get a different value. The equation is "234789 + 3287214789 * 3427648197" in node.js I get
08:58 <SeanBannister> 11267415844667820000
08:58 <SeanBannister> in php it's
08:58 <SeanBannister> 11267415844667820032
08:59 zeppo joined
08:59 <konobi> shlevy: i think node-gyp does that for you
08:59 <shlevy> OK
08:59 <zomg> SeanBannister: I wouldn't be surprised if PHP mangles those into floats and thus causes the extra 32 into the end
09:00 <zomg> 11267415844667820222 interestingly enough, this is what Python gives you for that same calculation
09:00 jw___ joined
09:00 <SeanBannister> zomg: hmmm its messing with my head because in windows calc I get 222 more.
09:00 ryanfitz joined
09:00 <SeanBannister> yeah ok, hmmm
09:00 <zomg> Yeah same as with python then in windows calc
09:01 wolftank_ joined
09:01 jjbohn joined
09:01 codycraven joined
09:01 chrisjaure joined
09:01 <zomg> haskell also gives the same value as python
09:01 <zomg> so most likely that's the correct output
09:02 <SeanBannister> wonder what javascript and php are doing
09:02 <SeanBannister> I have a strange use case where I need them to match
09:02 <zomg> That is a good question. Most likely some type conversion or such
09:02 <zomg> What if you use bcmath in PHP?
09:02 yanush joined
09:03 zs1621 joined
09:03 <SeanBannister> I actually hadn't heard of it, not really a PHP dev
09:04 <zomg> or gmp
09:04 salva left
09:04 <zomg> yeah I haven't used either myself, I just recalled there were some math related stuff in it =)
09:04 octane-- joined
09:05 <SeanBannister> I think you might be right about the floats http://en.wikipedia.org/wiki/Machine_epsilon
09:05 <konobi> what does bignum give you?
09:06 <CIA-1> node: 03Ian Babrou 07master * r3b17f3b 10/ src/node_constants.cc : constants: add O_DIRECT - http://git.io/Avyx_w
09:06 <zeppo> hi guys, anyone reached any concurrent connection limits using socket.io?
09:06 <konobi> zeppo: probably hitting an OS limit first (file descriptors, etc)
09:07 <konobi> SeanBannister: https://github.com/justmoon/node-bignum
09:07 austinbv joined
09:07 galaxywatcher joined
09:08 <SeanBannister> konobi: awesome :) cheers
09:08 <zeppo> konobi: yeah, we need to handle potentially about 100k users using websockets
09:08 briancray joined
09:08 <zeppo> so if we beef up a server enough, potentially leverage with some load balancing
09:09 <`3rdEden> you will probably have around 5 - 10k users per node process..
09:09 aslant joined
09:10 tlack joined
09:10 oriben joined
09:11 rafaelverger joined
09:11 <konobi> zeppo: yeah, see what you can get out of one server with kernel tweaks and then work from there
09:13 ptdorf joined
09:13 <zeppo> if you leverage to more than one server, is there a way to handle so you don't push the same events multiple times?
09:13 yanush joined
09:13 AaronMT joined
09:13 <SeanBannister> zeppo: I've done really large benchmarks, 60,000 connections this is a script I use to tweak the kernel https://gist.github.com/bce4badf57f6798bb551
09:13 thomblake joined
09:14 piscisaureus_ joined
09:14 <zeppo> oooooh! :) thanks
09:14 estebistec joined
09:15 <SeanBannister> automates the whole thing :)
09:15 <zeppo> thanks man, this is gold
09:15 <oriben> so who's in the mood to help a (very nice) noob with express and mongoose?
09:15 lazyshot joined
09:16 <konobi> zeppo: would depend on the backend i'd assume
09:16 gry joined
09:18 _pid1 joined
09:18 saschagehlich joined
09:18 <konobi> zeppo: and if you're willing to spend money on a traffic balancer, etc.
09:19 rcrowley joined
09:19 lpin joined
09:19 kishoreyekkanti joined
09:19 <zeppo> yeah we're willing to spend some cash on this. but just so we know the technical limitations before we get too deep in to it
09:21 mritz joined
09:21 kill-9_ joined
09:22 <shlevy> In an addon, what's the difference between 'return Undefined();' and 'return scope.close(Undefined());'?
09:22 jaseemabid joined
09:22 <jw___> @SeanBannister wow great !
09:24 tahu joined
09:24 <jw___> @SeanBannister 60k per single node process???
09:24 ForceBlast joined
09:24 kokotron joined
09:25 kyonsalt joined
09:25 <konobi> there'd be other factors to that, but it's probably doable
09:26 hellopat joined
09:26 <SeanBannister> jw___: yeah the box maxed out not the node process
09:26 <jw___> @konobi even 30k is fantastic
09:26 <konobi> memory, 32 or 64bit node, etc.
09:27 z joined
09:27 stafamus joined
09:27 <jw___> @SeanBannister it ran out of memory? How much RAM are we talking about?
09:28 <tralamaz> shlevy: afaik you should just use return Undefined();
09:28 <SeanBannister> I can't remember the exact details, its was a while ago I was running very basic benchmarks on Amazon EC2 but it was the CPU that maxed out first 64bit
09:28 thomblake left
09:29 <shlevy> tralamaz: OK. Thanks
09:29 <konobi> shlevy: check the V8 docs
09:29 tahu joined
09:29 jrajav joined
09:30 <tralamaz> c/c++ module docs are not exactly amazing, I found my way through examples and other addons
09:31 sreeix joined
09:31 <imprestavel> hi! i would like to make a node.js addon in C exporting a single method (instead of an object with that method). does anyone know if that's possible?
09:32 miho joined
09:32 <ibobrik> yep, look at this: https://github.com/bobrik/node-aligned-buffer
09:33 <tralamaz> imprestavel: http://nodejs.org/api/addons.html#addons_hello_world
09:34 <konobi> imprestavel: https://github.com/wesolows/v8plus
09:34 thinkt4nk joined
09:34 stevedomin joined
09:34 caasiHuang joined
09:35 brianrountree joined
09:35 <imprestavel> i saw the hello example and some other projects... i know i can wrap the compiled module with a js, but i would like the compiled one to be called like addon() instead of addon.hello()
09:36 <shlevy> imprestavel: Not sure how to do it directly from the addon, but of course you could wrap it in a simple js module
09:37 matehat joined
09:37 manuelbieh joined
09:37 dmilith left
09:40 vvgomes joined
09:40 <imprestavel> thanks everyone, i'll probably just wrap it in js then (still checking out the links though)
09:40 rampr joined
09:40 <shlevy> imprestavel: If you see a better solution, please report back, I wondered the same thing
09:41 piscisaureus__ joined
09:41 <imprestavel> ok!
09:42 SeanBannister left
09:42 Nopik joined
09:43 shadowshell joined
09:46 octane-- joined
09:46 mandric joined
09:46 addisonj joined
09:48 Yuffster_fun joined
09:48 beachdog joined
09:49 smithrobs_ joined
09:50 harthur joined
09:51 kishoreyekkanti joined
09:51 automata joined
09:52 luigy joined
09:53 rwaldron joined
09:55 elphaba joined
09:55 jmar777 joined
09:55 SvenDowideit joined
09:57 emjayess joined
09:58 <shlevy> Hm, I'm getting undefined symbol: init when trying to use my compiled addon
09:58 timmywil joined
09:58 nat3 joined
09:58 <shlevy> My Init function (Init, not init) is not declared static...
09:58 FredC joined
09:59 nerph joined
10:00 FredC_ joined
10:01 <shlevy> Of course, the symbols are mangled... It's actually _Z4InitN2v86HandleINS_6ObjectEEE in the object file. But still...
10:01 tornad joined
10:02 generik joined
10:03 booyaa left
10:03 octane-- joined
10:05 langworthy joined
10:05 Domenic joined
10:06 kishoreyekkanti joined
10:08 JSONB joined
10:09 Fli-c joined
10:09 vanb777 joined
10:09 bingomanatee joined
10:11 kishoreyekkanti left
10:11 <konobi> zeppo: get my pm?
10:11 kishoreyekkanti joined
10:11 Destos joined
10:11 JJMalina joined
10:13 <konobi> shlevy: on smartos, you can use mdb along with v8.so to get demangled names
10:13 postwait joined
10:13 generali_ joined
10:13 navaru joined
10:13 jasonkuhrt joined
10:14 bradleymeck joined
10:14 <shlevy> konobi: Still, not even sure why it's looking for a symbol named 'init'. My file has NODE_MODULE(queueWork, Init), not NODE_MODULE(queueWork, init)
10:15 matthewborn joined
10:15 <shlevy> Actually, the .node file even HAS an _init symbol
10:15 <shlevy> :(
10:15 pho joined
10:16 vincentcr joined
10:16 <konobi> and the function is called Init ?
10:17 dnolen joined
10:17 jmar777 joined
10:17 rcrowley joined
10:17 emattias_ joined
10:17 <shlevy> konobi: Yes
10:17 <shlevy> void Init(Handle<Object> target) { target->Set(String::NewSymbol("queueWork"),FunctionTemplate::New(QueueWork)->GetFunction());
10:18 <shlevy> }
10:18 <shlevy> NODE_MODULE(queueWork, Init)
10:18 <konobi> and it's compiling as queueWork.node ?
10:18 <shlevy> Ah, no, queue-work.node
10:18 <shlevy> I see
10:19 navaru joined
10:19 <shlevy> Hooray, new error :)
10:19 saschagehlich joined
10:20 thomasfr joined
10:21 Ziggy` joined
10:21 <shlevy> Yay, segfault! :)
10:21 Zipp joined
10:21 willwhite joined
10:21 jmhorak joined
10:21 <shlevy> Is there a good way to debug node addons with gdb?
10:21 DrShoggoth joined
10:22 PhoSor joined
10:22 <konobi> shlevy: tbh, i'd try smartos... assuming you have vmware, you can download a virtual image from the website
10:22 <navaru> Can someone help me port node's watch C++ module to a Chrome dev tools Native Client plugin (ppapi), please? (any core node devs) - I'm a front-end dev, don't have to much C++ knowledge
10:22 rcrowley joined
10:23 jergason joined
10:23 jim_ joined
10:23 fangel joined
10:24 <konobi> navaru: is this for redistributable app?
10:24 hojberg joined
10:25 zodiak joined
10:25 <navaru> Is for a Chrome Dev Tools extension, I want to watch files for changes and autoreload them'
10:25 <tuhoojabotti> there is an extension for that
10:26 Topic for
10:27 <navaru> tuhoojabotti: what extension?
10:27 mirzu joined
10:27 <tuhoojabotti> no wait
10:27 <tuhoojabotti> I could be wrong
10:27 bradgignac joined
10:28 elguapo99 joined
10:28 daffl joined
10:28 <tuhoojabotti> hmm
10:28 shiawuen_ joined
10:29 <konobi> navaru: http://www.html5rocks.com/en/features/file_access ?
10:30 <navaru> There is this extension https://bitbucket.org/ryanackley/tincr/src , which uses Netscape Plugin Application Programming Interface (NPAPI), which will soon be deprecated in Chrome Canary, so I need to switch it to ppapi - Pepper Plugin API (the new improved version)
10:30 <tuhoojabotti> konobi: not good.
10:30 <tuhoojabotti> oh yeah
10:30 <tuhoojabotti> npapi does work
10:30 <shlevy> Darn, my brilliant idea has failed :(
10:30 slurp joined
10:31 erichynds joined
10:32 <navaru> it works now, but not in the near future, so I don't want to bother to do work now to change it later.. :)
10:32 PhoSor joined
10:32 <konobi> tuhoojabotti: how so?
10:32 <tuhoojabotti> konobi: for what I know, html5 file system api can only access a sandboxed filesystem of it's own
10:33 <konobi> tuhoojabotti: you can change the security domain in an extension
10:33 <tuhoojabotti> konobi: got reference on that?
10:33 <tuhoojabotti> I've been looking into that
10:34 <konobi> tuhoojabotti: extension permissions
10:36 <navaru> konobi: not really, you still get sandboxed, permissions settings are only for users to allow them
10:36 <tuhoojabotti> konobi: What there?
10:36 <tuhoojabotti> I don't see anything related to that
10:37 <tuhoojabotti> there is Content Security Policy, but that can only be tightened
10:37 sirkitree joined
10:37 octane--_ joined
10:38 laner joined
10:38 <konobi> tuhoojabotti: origins, 'file://'
10:38 <tuhoojabotti> konobi: But you don't have any source on that?
10:39 sanbor joined
10:39 <konobi> tuhoojabotti: not off hand, my bookmark for it is gone
10:39 hipsters_ joined
10:39 <tuhoojabotti> damn
10:39 <konobi> i know i got it working though
10:40 r0tha joined
10:40 <tuhoojabotti> konobi: so you put "content_security_policy" to what?
10:40 atxryan_ joined
10:42 <bnoordhuis> shlevy: compile a debug build of node and the addon
10:42 <bnoordhuis> shlevy: the rest is just regular debugging
10:43 <shlevy> bnoordhuis: OK, thanks
10:43 SirFunk joined
10:43 EyePulp joined
10:43 <bnoordhuis> navaru: node uses libuv, which uses the native platform api
10:43 <bnoordhuis> navaru: alternatively, there's a polling variant that works the same on all supported platforms
10:44 josh-k joined
10:44 steveoh joined
10:44 <navaru> bnoordhuis: what polling variant? Could you share a link, please
10:45 <shlevy> bnoordhuis: My problem was what I feared might happen, my naive attempt at calling a javascript function from the 'process' function of a uv_queue_work segfaults
10:45 <shlevy> bnoordhuis: Any idea if there's a way to tell v8 to make a new thread somehow?
10:45 willwhite joined
10:45 <shlevy> bnoordhuis: s/make/work in/
10:45 Almindor joined
10:45 <bnoordhuis> navaru: grep for uv_fs_poll_t in deps/uv/include/uv.h
10:45 addisonj joined
10:46 <navaru> bnoordhuis: thanks
10:46 <bnoordhuis> shlevy: not really. like i said on the ML, v8 is not thread safe. you'd have to create a new isolate
10:46 <shlevy> bnoordhuis: Ah, didn't see your response, sorry
10:46 austincheney joined
10:46 <bnoordhuis> shlevy: someone already wrote a module for that btw, threads_a_gogo (hope i spelled it right)
10:47 <shlevy> bnoordhuis: Ah, really? Cool :)
10:48 <austincheney> I have not been keeping up with node.js support of my application, but today I learned my NPM is getting 150 downloads a day.... this cannot possibly be right since the site with the app only averages about 250 visits a day
10:48 timeturner joined
10:48 <austincheney> how can i verify these numbers: https://npmjs.org/package/prettydiff
10:49 Domenic joined
10:49 <austincheney> they just seem a bit too far on the high side to believe
10:49 <jim_> Polling and Hitler. The two most evil things in all the world.
10:49 yanush joined
10:49 jwulf joined
10:49 Rsdrsd joined
10:50 Internet13 joined
10:50 <Rsdrsd> Are you all developping in node?
10:51 <austincheney> Rsdrsd: i wrote an api to interface the app into node, but i have not worked on it in 1.5 years
10:51 <austincheney> i just keep the NPM package updated as I update the core of the application
10:51 salsamontes joined
10:51 antdillon joined
10:52 <Rsdrsd> Which app are we talking about then?
10:52 <austincheney> sorry, nm, i just noticed half way through what i was trying to figure out
10:52 saikat joined
10:52 <austincheney> i just noticed you joined half way through what i was trying to figure out
10:52 eckoit joined
10:52 necros joined
10:53 appinsanity-mike joined
10:53 Domenic joined
10:53 pppaul joined
10:53 pandemic joined
10:53 <Rsdrsd> Node is very kewl, what is the next big thing?
10:53 jocafa joined
10:54 ^_^ joined
10:55 ^_^ left
10:56 <jim_> The next big thing? The total collapse of Western civilization.
10:56 fangel joined
10:58 ring3 joined
10:58 <isaacs> Rsdrsd: node is all ofthe next big things.
10:58 <isaacs> Rsdrsd: the next big thing will be built with node
10:58 Topic for
10:59 Ineentho joined
10:59 <jim_> Or Erlang or sticks and mud if bottom falls out of civilization.
10:59 <wookiehangover> isaacs: and its called http://b.gif.ly/
10:59 cpsubrian joined
10:59 wolftank joined
10:59 vanb777 joined
11:00 vincentcr joined
11:00 dguttman joined
11:00 <mscdex> node.js rules!
11:01 yaniv joined
11:01 <jim_> Giving up coffeescript is like giving up coffee. God damn it.
11:01 dready joined
11:01 tornad1 joined
11:02 cpsubrian joined
11:02 estebistec joined
11:02 <drudge> my text editor is extendible with node. i like that.
11:02 bwinton joined
11:02 Ineentho_ joined
11:03 cob joined
11:03 <dready> hello. i have installed npm trough a ppa and i had some problems. if i reinstall npm, will that cause problems with packages installed trough the old npm, eg. express?
11:03 <austincheney> drudge: which editor?
11:03 <kranius> drudge: mine is built ontop of it's own scripting language
11:03 <drudge> austincheney: chocolat
11:03 mattgifford joined
11:04 <drudge> austincheney: for example, gisting: https://github.com/drudge/gist.chocmixin
11:04 <austincheney> looking
11:04 thomasfr_ joined
11:04 dwhittle joined
11:05 Senj joined
11:05 <austincheney> drudge: you need to make the word "Chocolate" of the title or your README.md file a hyperlink to the chocolate editor
11:05 zeppo joined
11:07 AntelopeSalad joined
11:07 jocafa1 joined
11:08 <drudge> austincheney: ok :)
11:08 exien joined
11:08 <drudge> austincheney: something simpler, github flavored markdown preview, using isaacs' module: https://github.com/drudge/github-flavored-markdown.chocmixin/blob/master/init.js
11:09 SERPERSHERBERM joined
11:10 ACK__ joined
11:10 <exien> Does anybody know if there is a reason why Node would take 2-8 seconds to return a request, while expressjs logs the request from start to finish as only taking 30ms?
11:10 <ACK__> how a add sphinx search in node.js website
11:11 Venom_X joined
11:12 stagas joined
11:12 rampr joined
11:12 <ACK__> how a add sphinx search in node.js website
11:12 <EyePulp> ACK__: What was the question?
11:12 <isaacs> dready: depends. how old was the npm you installed through a ppa?
11:13 <isaacs> dready: 0.x-ish?
11:13 <isaacs> dready: or 1.0-ish?
11:13 <ACK__> i want to add searh functionality to my project
11:13 <ACK__> how to
11:14 Littlex joined
11:14 <ACK__> <EyePulp> => i want to add searh functionality to my project
11:14 <Littlex> hey, how do i debug following error: events.js:66 -- throw arguments[1]; // Unhandled 'error' event -- Error: Parse Error
11:14 rauchg joined
11:14 <EyePulp> ACK__: how is sphinx exposed? Is it a web service running on a different port, or an API & libraries in a language you have to call?
11:14 <drudge> austincheney: links added to all my mixins, just for you
11:14 sfreach joined
11:15 <ACK__> what is reliable solution
11:15 <stagas> ACK___: google 1st result for "node sphinx" https://github.com/kurokikaze/limestone
11:15 blevs joined
11:16 <EyePulp> ACK__: google is a wonderful tool for answering many questions.
11:16 <ACK__> i now
11:16 <ACK__> know
11:16 <ACK__> but not updated
11:16 <ACK__> for 6 months
11:17 aniasis joined
11:17 <ACK__> what you think about his => https://github.com/flying-sphinx/flying-sphinx-js
11:17 <ACK__> tell me
11:18 average_drifter joined
11:19 ramitos joined
11:19 <Littlex> any help would be really great :<
11:19 joshfinnie joined
11:19 ryanfitz joined
11:19 <bnoordhuis> Littlex: look at the full stack trace
11:19 <bnoordhuis> that should hopefully tell you where it originates from
11:19 <Littlex> how do i get that
11:20 <sorin7486> it should show up in the command line
11:20 <Littlex> its just 2 lines long and not related to my code
11:20 <sorin7486> that's all you get ?
11:20 khrome joined
11:20 <sorin7486> Littlex, is that text all you get ?
11:20 <Littlex> at Socket.socketOnData (http.js:1366:20) at TCP.onread (net.js:402:27)
11:20 <Littlex> thats the rest
11:21 <bnoordhuis> Littlex: http parse error?
11:21 <Littlex> here is the full message https://gist.github.com/3499041
11:21 sreeix joined
11:22 <sorin7486> I'm sure I've seen this before...
11:22 mandric joined
11:22 <stagas> Littlex: node --version ?
11:22 <Littlex> yeah but the message appears to be random to me? 100 requests seem to be fine, and the 101 throws an error
11:22 <jim_> Speaking of sockets, are any of you folks using socketstream in production?
11:22 <Littlex> 0.8.8
11:22 sfreach left
11:22 Frippe joined
11:22 Frippe joined
11:23 stisti joined
11:24 hillct joined
11:24 <sorin7486> Littlex, I've had similar issues, sometimes node will throw errors and not give much info why
11:24 jocafa1 left
11:24 someprimetime joined
11:24 octane-- joined
11:24 <Littlex> thats not good :)
11:24 alek_br joined
11:24 <sorin7486> Littlex, you can try to capture the packet
11:25 caolanm joined
11:25 <konobi> node-panic might help
11:25 <sorin7486> I mean the one that does this
11:25 sh0ne joined
11:25 jxie joined
11:25 <Littlex> the one which leads to the error is reproducable
11:25 <Littlex> its a curl request, i am using to test the node server
11:26 <sorin7486> ok
11:26 <Littlex> its allway the same
11:26 <sorin7486> is there anything different about it ?
11:26 <stagas> Littlex: what's the curl request look like?
11:26 <Littlex> sec
11:26 octane-- joined
11:26 <Rsdrsd> Why did i just explore node a few weeks ago....
11:27 <sorin7486> Rsdrsd, because john left for the market
11:27 <sorin7486> :)
11:27 atxryan_ joined
11:27 <armetiz> Hi there, I have build my first module: https://github.com/armetiz/node-printer
11:27 <Littlex> stagas: https://gist.github.com/3499100
11:28 <Littlex> thats the full code, including the curl request
11:28 <Rsdrsd> I want to build an upload with progress indicator. I can only find old aticles in google
11:28 <Littlex> i am trying to build a proxy, which posts a subrequest to a specified url to ask for permission
11:28 thealphanerd joined
11:28 <Rsdrsd> Should i use formidable or not
11:28 <armetiz> Can you look on it and tell me what do you think about it ? What's wrong ? I'm not an JS ninja so.. and advice should be welcome!
11:29 <Littlex> its a raw draft and very beta ;)
11:29 <stagas> Littlex: shouldn't you be escaping the double quotes, or use single quotes outside in that Authorization header?
11:30 <stagas> Littlex: the parser is failing because the request is malformed somehow, it can't parse it
11:30 <konobi> Littlex: bash problem
11:31 manuelbieh joined
11:31 sainttex joined
11:31 laner joined
11:31 <konobi> Littlex: change your -H quotes to '
11:31 <Rsdrsd> Where to find good node articles /news
11:32 <Littlex> ah right, totaly overlooked that
11:32 <Littlex> leme check
11:32 <Littlex> error still occurs
11:32 trave joined
11:33 <konobi> Littlex: whats your curl look like now?
11:33 tjholowaychuk joined
11:33 kenperkins joined
11:33 <Littlex> updated the gist https://gist.github.com/3499100
11:34 obazoud joined
11:35 wolftankk joined
11:35 <konobi> Littlex: remove spaces between commas
11:36 <Littlex> in the auth header?
11:36 oriben joined
11:36 chm007 joined
11:36 _roland left
11:36 <Littlex> i will gladly do that, but its not a permanent solution, i mean the node js should not crash when someones sends an illegal request - i would like to handle that
11:37 <konobi> Littlex: you're assuming that's a valid header
11:37 broofa joined
11:37 <stagas> Littlex: put an .on('error', fn) on the server
11:37 <Littlex> it is a valid header
11:37 <konobi> well, you can add an error handler to catch those
11:38 <Littlex> removed the spaces, still occurs
11:38 aliem joined
11:38 <Littlex> stagas, knobi: on the httpProxy server?
11:38 jonatas_oliveira joined
11:39 ericelliott joined
11:40 <konobi> huh... wireshark time?
11:40 revans joined
11:40 stefan4__ joined
11:41 booguie joined
11:42 <Littlex> its weird, the request gets handled completely and then the error occurs
11:42 <stagas> that's weird, I just tried that request and it works without problems, so why is your parser failing it's beyond me
11:42 constantx joined
11:42 <stagas> wireshark time probably :P
11:43 steveoh left
11:43 <Littlex> https://gist.github.com/3499100
11:43 <konobi> oh req.end() is getting called at a random point
11:43 <Littlex> updated the gist with the new code, including the on error, console output and curl output
11:44 stisti joined
11:45 epokmedi1 joined
11:45 <Littlex> konobi: is there a better way to call it? :)
11:45 Domenic joined
11:45 <konobi> Littlex: just try without it
11:45 luigy joined
11:46 <Littlex> afaik its need to send/close the post request?
11:46 <Littlex> still occurs
11:46 <CIA-1> node: 03isaacs 07v0.9.1-release * rcda3ae6 10/ (ChangeLog src/node_version.h): wip - http://git.io/OBbKag
11:47 <Littlex> *sigh*
11:47 wuttf joined
11:47 wuttf left
11:47 ecthiender joined
11:48 ibobrik joined
11:48 <Littlex> i hate weird errors
11:48 <konobi> Littlex: well, you were telling it to end() at a random point rather than waiting until the end of the request
11:49 <Littlex> yeah its a valid thought, i moved it - still the error occurs
11:49 jaseemabid joined
11:49 beachdog_ joined
11:49 brianc1 joined
11:49 <Littlex> moved/removed
11:50 charuru joined
11:51 yawn joined
11:52 bingomanatee joined
11:52 <konobi> Littlex: have you tried using one of the examples and building up from there?
11:52 <Littlex> you mean examples from the http-proxy page?
11:53 <konobi> yeah, or its repo
11:53 jasonrm joined
11:53 <Littlex> its build on an example
11:53 <Littlex> so basicaly yes
11:53 hojberg joined
11:53 <Littlex> the strange is, the error occurs on the centos sandbox but not on my local mac
11:54 caasiHuang joined
11:54 <Littlex> a more verbose trace, error or data would be great :<
11:54 <shlevy> Boo, threads-a-gogo doesn't seem to work on recent node
11:55 <shlevy> bnoordhuis: Any pointers for v8 isolates besides http://izs.me/v8-docs/classv8_1_1Isolate.html?
11:55 matehat joined
11:55 Saps joined
11:56 ewalker joined
11:56 ryanrolds_w joined
11:56 brianc joined
11:57 brianc2 joined
11:58 ericelliott joined
11:58 fangel joined
11:58 crabdude joined
11:59 <stagas> Littlex: try not sending content-length
11:59 <stagas> Littlex: in ln 15
11:59 <Littlex> stagas you have too when posting data ;)
11:59 <hojberg> whats the popular recommended webframework of late? I feel like everyone is hating on express - what are people using instead ?
12:00 <Littlex> but i found the error, my coworker gave me the wrong port - using the correct one works perfectly fine
12:00 <Littlex> STILL its strange that the error seems to be random
12:00 briancray joined
12:00 <Littlex> is there a way to catch it and continue?
12:01 <tjholowaychuk> hojberg rails
12:01 manuelbieh joined
12:02 vippy joined
12:02 vvgomes joined
12:02 <shlevy> Hm, never mind, that seems clear enough
12:02 __underscore joined
12:02 <hojberg> tjholowaychuk: snap
12:03 Leeol joined
12:03 sainttex joined
12:03 rcrowley joined
12:06 lz joined
12:06 lz joined
12:07 <jim_> If it is hated it must be good.
12:08 __underscore left
12:08 <dready> isaacs, thanks for tip. I'm not really sure about the v. It possible is between 1'ish versions. I haven't installed much stuff, yet, so i might just clean up and install all packages fresh(about 5 or 6 only). Should i be concerned with pkgs that i installed with the flag -g?
12:08 spionL joined
12:09 fatjonny joined
12:09 eckoit joined
12:10 <Littlex> hmm
12:10 <Littlex> seems like the project will not be realized with nodejs then ;) thanks for the support!
12:10 <dready> huh?
12:10 <dready> what is the prob?
12:11 <Littlex> getting unexplaynable errors
12:12 <dready> such as?gist?
12:12 John[a] joined
12:12 joshthecoder joined
12:12 perezd joined
12:12 <Littlex> https://gist.github.com/3499041
12:12 <Littlex> https://gist.github.com/3499100
12:12 <Littlex> first is the error, secodn the code
12:13 etcetera joined
12:13 <Littlex> i found the source of the error, its because i was using the wrong port for the subrequest to /auth - still its fubar to work which such an error
12:14 <dready> vuola, https://encrypted.google.com/search?q=events.js%3A66+++++++++throw+arguments[1]%3B+%2F%2F+Unhandled+%27error%27+event++++++++++++++++++++++++^+Error%3A+Parse+Error+++++at+Socket.socketOnData+%28http.js%3A1366%3A20%29+++++at+TCP.onread+%28net.js%3A402%3A27%29&ie=utf-8&oe=utf-8&client=ubuntu&channel=fs#hl=en&client=ubuntu&hs=IgP&channel=fs&sa=X&ei=U-48UOOVPI-AhQec4IHACQ&ved=0CBgQBSgA&q=Error%3A+Parse+Error+at+Socket.socket+OnData+at+TCP.on
12:14 <dready> read&spell=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=8f13bae0db0751c4&biw=1280&bih=624
12:14 <dready> o.O
12:15 <vippy> lol
12:15 <Littlex> fail
12:15 AvianFlu joined
12:15 buttdong joined
12:16 <dready> just google these magic keywords, "Error: Parse Error at Socket.socket OnData at TCP.onread"
12:18 <dready> http://www.google.co.uk/#hl=en&sclient=psy-ab&q=Error:+Parse+Error+at+Socket.socket+OnData+at+TCP.onread&oq=Error:+Parse+Error+at+Socket.socket+OnData+at+TCP.onread&gs_l=hp.12...2468.2468.0.4756.1.1.0.0.0.0.117.117.0j1.1.0...0.0...1c.rb1VsHzKrAU&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=cf2ca6371e09f1bc&biw=1280&bih=709
12:18 grallan joined
12:18 nicholasf joined
12:19 langworthy joined
12:19 <Littlex> https://github.com/joyent/node/issues/2997
12:19 <Littlex> last comment says it all
12:19 recycle joined
12:19 <dready> ok, here we go, back into game!
12:19 <Littlex> not really
12:20 <Littlex> as long as such an error exists i would never ever use something in a HA setup
12:20 John[a] joined
12:20 bakadesu joined
12:20 <dready> you are taking things personally
12:21 <dready> code is code
12:21 <Littlex> hu?
12:21 bingomanatee joined
12:21 chrisdotcode joined
12:21 <dready> you seems a bit sceptic, too much, just cauze you have an error, you will not use a certain technology?
12:21 rickibalboa joined
12:22 <Littlex> no
12:22 <dready> linux is full of errors, but it doesn't stop it to be wildelly deployed
12:22 <Littlex> its not really full of errors
12:22 <Littlex> every looked at server distros?
12:23 <Littlex> -y
12:23 <dready> some
12:23 <dready> i mean, some errors
12:23 <dready> configuration ones
12:23 matthewborn joined
12:23 lazyshot joined
12:23 Almindor joined
12:24 <Littlex> the point here is simply that its an error which is a neckbreaker for our requirement catalog - a hard to debug non helpful error is just an absolut no go in a HA setup
12:24 <Littlex> anyway we dont have to discuss that to the detail now, ill toy around a bit just out of curiosity
12:24 <dready> mm, have fun
12:25 saschagehlich joined
12:26 saikat joined
12:26 Nopik joined
12:26 pringlescan joined
12:26 <RLa> what was lib that added callback() function to a prototype?
12:27 <RLa> so that something.callback('func') gives function that is always run in the context of something
12:27 <tjholowaychuk> .bind()?
12:28 AvianFlu_ joined
12:28 <shlevy> If I were to make an isolate, how would I make code run there have the same setup as a fresh node module, i.e. require() works such?
12:28 <shlevy> bnoordhuis: ^
12:28 <shlevy> And an event loop running, etc.
12:28 <shlevy> Although at that point I may as well have a new process... NEver mind :)
12:29 <tralamaz> hmm module.parent is cached
12:29 lmatteis joined
12:29 <lmatteis> Hello peoples
12:29 maletor joined
12:29 <lmatteis> i was wondering, is there standard abstractions for things such as data storage, or caching
12:30 <RLa> tjholowaychuk, hm, it was for browser too
12:30 <lmatteis> for example, in the Java world, you have JDO/JPA which are solid abstractions around data
12:30 <RLa> .bind seems to be for moderns browsers only
12:30 <tralamaz> is module.parent caching the correct behavior ?
12:30 <lmatteis> is there something similar for the JS world... maybe a CommonJS lib for interfacing with data
12:30 <* jocafa> punches IE
12:31 r1ngzer0 joined
12:31 <RLa> jdo/jpa are for orm and are pretty heavyweight
12:31 jtomasrl joined
12:31 <lmatteis> RLa: and?
12:31 <RLa> lmatteis, npm search orm
12:32 <lmatteis> i know ORM exist
12:32 <lmatteis> that wasn't my question
12:32 hojberg joined
12:32 <lmatteis> JDO/JPA are standard... they're not implementation specific
12:32 nat3 joined
12:32 Wizek joined
12:32 <RLa> no, haven't seen such "specs" of data storage around
12:33 <lmatteis> how about selectjs.com
12:33 <RLa> not sure if we need them at all
12:33 <lmatteis> it sounds pretty cool
12:33 <lmatteis> i think we do
12:33 <lmatteis> especially since JS isn't only node.js
12:33 <lmatteis> it's java (rhino) and many other
12:33 Wizek joined
12:33 <tralamaz> any idea on how to get the calling module (parent) ?
12:34 thinkt4nk joined
12:34 recycle joined
12:34 Littlex left
12:34 laner joined
12:34 <RLa> lmatteis, if it fits your reqs, use it
12:34 kishoreyekkanti joined
12:34 <lmatteis> RLa: it does, however i wanted to see if there was something more community driven
12:34 <lmatteis> or used
12:35 <lmatteis> sort of like what http://narwhaljs.org/ was
12:35 <lmatteis> but it's offline :(
12:35 <lmatteis> oh wait, ringojs
12:35 <RLa> hm, haven't seen
12:35 <jtomasrl> what would be a good linux distro for running a node.js app with mongodb?
12:35 ryanfitz joined
12:36 <RLa> jtomasrl, which one can you administer best
12:36 <lmatteis> jtomasrl: anyone really
12:36 <jtomasrl> even ubuntu?
12:36 <RLa> why not
12:36 <jtomasrl> dunno really
12:36 <lmatteis> jtomasrl: it would be best if you used a more abstracted service though... like heroku... where you don't need to know what distro it's running
12:36 <lmatteis> or nodejitsu
12:37 <dready> ubuntu/or debian, you can't go wrong
12:37 <lmatteis> windows, you can't go wrong
12:37 <jtomasrl> imatteis a VPS its cheapper than a heroku non free service i think
12:37 <lmatteis> nodejitsu is pretty cheap if you ask me
12:38 <dready> windows, lol
12:38 <dready> go learn some FREE unix
12:38 <lmatteis> yeah windows is easier to install :) just double click
12:38 <dready> -_-
12:38 <purr> dready: ಠ_ಠ is an IRC client/IRC client framework.
12:39 disnet joined
12:39 jp232 joined
12:39 estebistec joined
12:39 slloyd joined
12:39 jscheel joined
12:39 cce joined
12:39 cce joined
12:40 extrawurst joined
12:40 disnet joined
12:40 jkyle_ joined
12:41 <dready> lmatteis, the easy install comes with a price, later, when you install packages for node it will be a nightmare, as windows changes file paths, so let's say, you make an app on windows, than you have problems to migrate to the linux server. trust, i've been there. get virtul box, and install ubuntu 10.04 there. now, go, go
12:41 maxani joined
12:41 <lmatteis> dready: not if you know how to write apps/libs correctly
12:41 jp232 joined
12:41 extrawurst left
12:41 <lmatteis> and all libs i've tried work well both on windows and on linux
12:41 <dready> ok then, do what you want
12:42 jergason joined
12:42 shiawuen joined
12:42 <dready> and on't botter with those question again, here 99% of users are unix ones
12:42 <lmatteis> wtf
12:42 <lmatteis> how do you know
12:42 <lmatteis> are you Mr. Statistics?
12:43 <maxogden> dready: node actively supports *nix and windows equally
12:43 tnorris joined
12:43 kishoreyekkanti joined
12:43 <dready> i know it does. i'm just a windows hater, sry
12:43 <jaseemabid> node-gyp is building foo when i'm asking it to build libfoo. Is that indented by any chance? I'm unable to find where that change is happening.
12:43 <lmatteis> but your arguments about the path stuff don't really stand
12:44 <ccowan> dready: WINDOWS BOO! *fist bump!*
12:44 braoru joined
12:44 <jaseemabid> *intended
12:44 <dready> BOO
12:44 <lmatteis> windows rocks. double click. done
12:44 <dready> BOO
12:45 chasefarmer joined
12:45 generalissimo joined
12:45 nat3 joined
12:45 ericelliott joined
12:46 slajax joined
12:46 <ccowan> (althought I'm pretty proud of the node.js community for embracing windows as a first class citizen) *high five!*
12:47 rampr joined
12:47 <jaseemabid> node-gyp ignoring a "lib" in front of my extension name. libfoo => foo, lib_foo => _foo.
12:47 <zipp> lmatteis: npm / nave is for pros
12:48 _pid joined
12:48 etcetera joined
12:48 <lmatteis> zipp: what's nave
12:49 <zipp> lmatteis: A node build management tool. Whenever a new version of node comes out, I just type 'nave usemain 0.8.X' and BOOM, builds the new release for meh
12:49 JordiGH joined
12:49 <lmatteis> ah ok
12:49 <zipp> https://github.com/isaacs/nave/blob/master/nave.sh
12:49 <lmatteis> whatever, double clicking is nicer
12:49 <lmatteis> ;)
12:49 <zipp> Mice have two uses: photoshoop, and gaming :P
12:50 MCHammel joined
12:50 <JordiGH> Do you guys think it's a good idea to correct a self-described "non-programmer" but otherwise brilliant person that "source code" is not a countable noun? (i.e. no "codes").
12:50 <lmatteis> JordiGH: i seriously don't understand your question
12:50 ^_^3 joined
12:50 <zipp> JordiGH lmao, if you care, then yes, but you'll probably look like a dick for doing it
12:51 maxani joined
12:51 <JordiGH> zipp: But if I don't look like a dick, then they will look like clueless n00bs...
12:51 <kuja> I'd say do it :p
12:51 justicefries joined
12:51 <AvianFlu> JordiGH: correct him. you'll be preventing him from looking stupid in front of others at some point in the future.
12:52 <kuja> For the greater good. Don't let people continue to misuse or misunderstand terminology because you didn't want to sound like a dick for correcting him :)
12:52 <JordiGH> Heh, kinda cute you're using the masculine pronoun. The person in question is a woman.
12:52 estebistec joined
12:52 <creationix> just say "that doesn't sound right to me. I'm no english expert, but in proigramming circles we say..."
12:52 <zipp> kuja: what, you don't like "The Google"?
12:53 <* JordiGH> wonders who is an English expert...
12:53 <kuja> I haven't heard that one before :p
12:53 joshontheweb joined
12:53 <lmatteis> are you all from the states?
12:53 regality joined
12:53 <zipp> http://www.youtube.com/watch?v=90DKubFKwVo
12:53 <* JordiGH> was born in *a* state.
12:53 slicky joined
12:53 <creationix> even if you're 100% sure you're right about non-countable nouns, it's less offensive to not sounds like you're sure
12:53 <* lmatteis> wasn't
12:54 <kuja> zipp: hah
12:54 <creationix> s/sounds/sound/
12:54 <slicky> anyone know what's going on with https://github.com/felixge/node-formidable ? It seems to be failing a few tests and current version isn't working :/
12:54 <JordiGH> creationix: Ok, good advice. I'll try to appear unsure about it.
12:54 <lmatteis> look at code and fix slicky :)
12:55 recycle joined
12:55 <slicky> that's the next step... this is information gathering time :D
12:55 <creationix> JordiGH, the important part is to make it obvious that you care more about helping them feel good than making yourself feel smart
12:55 kmiyashiro joined
12:55 <kuja> Last thing I care about are another person's feelings but that's me :p
12:56 <kuja> I'm pretty evil
12:56 <lmatteis> i care about dog's feelings
12:56 <kuja> I care more about my cat's feelings
12:57 <ccowan> I'm not sure my cats care about my feelings.
12:57 <JordiGH> ccowan: Really? I usually see cats being nuzzly with me when I'm sad.
12:57 <zipp> I'm rather sure no cat cares about any puny human's feelings
12:57 cpsubrian joined
12:57 <kuja> Humans are way beneath cats :p
12:57 <kuja> I doubt cats care
12:57 mmeno_ joined
12:58 <cpsubrian> Licensing question: I ripped a function out of https://github.com/c9/architect (MIT) and turned it into a module (https://github.com/cpsubrian/node-witwip) with some API additions (also MIT). How should I give proper attribution to ajax.org
12:58 AviMarcus joined
12:59 mstruk joined
12:59 mstruk joined
12:59 <JordiGH> Doesn't the license itself say?
12:59 <JordiGH> Just don't remove the license header.
12:59 <slicky> what's the npm command to install dev deps?
12:59 <lmatteis> npm install?
12:59 <kuja> yep, `npm install` does it for me
12:59 <slicky> k just checking
12:59 <JordiGH> cpsubrian: "The above copyright notice and this permission notice shall be included inall copies or substantial portions of the Software."
13:00 <cpsubrian> meaning.. appended to a LICENSE file? just not sure of the format
13:00 <JordiGH> cpsubrian: No, put it next to the code it's talking about.
13:00 mandric joined
13:00 <cpsubrian> JordiGH, just the copyright?
13:00 <cpsubrian> JordiGH, Since its the same license anyhow
13:01 <JordiGH> cpsubrian: If you want, with a note saying where you got it from. And yeah, legally, just the copyright. Politely, you say a bit more.
13:01 <JordiGH> cpsubrian: It needs
13:01 stisti joined
13:01 <cpsubrian> JordiGH, Sure.. thats the whole point of my question :) trying to be a good osscitizen
13:01 <JordiGH> cpsubrian: It needs a copyright notice. It's not copyrighted to you.
13:01 <slicky> wonder what the legal implications of `cat "\n\nJust kidding!" >> LICENSE` are
13:01 EvilPacket joined
13:01 dshaw_ joined
13:01 <JordiGH> cpsubrian: The license says, "the copyright notice and this permission notice.."
13:01 apham joined
13:02 <lmatteis> sup dshaw_ :)
13:02 sreeix joined
13:02 mandric joined
13:02 halfhalo joined
13:03 mmeno_ joined
13:03 crabdude joined
13:03 emattias joined
13:04 luigy joined
13:04 <dshaw_> lmatteis: buon giorno
13:04 disnet joined
13:04 <lmatteis> giorno :)
13:04 <lmatteis> dshaw_: how's it going
13:05 <dshaw_> per me
13:05 <dshaw_> good
13:05 <lmatteis> dshaw_: you know, i'm going to lisbon next month, i see you're going as well?
13:05 <lmatteis> for lxjs
13:05 Nopik joined
13:05 <maxogden> isaacs: figured out that npm.commands.install returns an array of all the flattened deps that were installed
13:05 <isaacs> maxogden: yeah
13:06 <dshaw_> lmatteis: Fantastic. Yep. Giving a new talk and doing a workshop with mikeal
13:06 <isaacs> maxogden: the return values from the various commands are pretty inconsistent
13:06 thinkt4nk joined
13:06 <isaacs> maxogden: it'd be nice to make them more consistent, and also display the results consistently using archy
13:06 <maxogden> isaacs: yea npm.commands.install(['request']) returns an array of arrays instead of an array of objects WTF
13:06 <maxogden> also only accepts arrays of package names
13:06 <dshaw_> lmatteis: Look forward to catching up.
13:06 <isaacs> maxogden: npm.commands.* functions all take ([args], cb)
13:06 <maxogden> isaacs: wat is archy
13:06 <lmatteis> dshaw_: awesome! yes we definitely should hang out
13:07 <isaacs> or maybe ([args,...], silent=false, cb)
13:07 <isaacs> (another incosnsitency)
13:07 vincentcr joined
13:07 joshontheweb joined
13:07 <isaacs> maxogden: archy = substack module for showing npm ls style trees
13:07 <maxogden> isaacs: i gave it ([args], cb) and it worked
13:07 <isaacs> maxogden: yeah
13:07 Yuffster_fun joined
13:07 <isaacs> install is an odd duck...
13:07 revans joined
13:07 <isaacs> it takes install(where, what, cb), or install([what,...], cb)
13:08 mmeno_ joined
13:08 <lmatteis> dshaw_: how's life? voxer doing ok?
13:08 <maxogden> isaacs: you wouldnt support install(['request'], cb) and install('request', cb) ?
13:08 vincentcr joined
13:08 JordiGH left
13:08 <isaacs> maxogden: if anything, i'd like to move to install(['request'], [optional silent=false], cb)
13:08 ngoldman joined
13:09 <maxogden> isaacs: thats what it does now, right?
13:09 <isaacs> maxogden: and then something like install.where(prefix, ['request'], cb)
13:09 <isaacs> maxogden: install doesn't take a silent arg, no
13:09 <maxogden> isaacs: oh
13:09 <isaacs> maxogden: but most other commands do
13:09 <dshaw_> lmatteis: Love it. Just wrapping up the Summer of Node.js program. Had a great summer.
13:09 <isaacs> (that produce output)
13:10 pringlescan joined
13:10 <lmatteis> dshaw_: ah nice. i've been quite out of the loop with node recently... but i see everything is still quite vibrant
13:11 julienresaas joined
13:11 <slicky> hrm odd
13:11 revans joined
13:11 <slicky> this fix really can't be that simple
13:11 jw___ joined
13:12 octane-- joined
13:12 octane--_ joined
13:13 hojberg joined
13:13 wizonesolutions joined
13:14 willwhite joined
13:14 mlins joined
13:14 rampr_ joined
13:14 <maxogden> isaacs: i think we should adopt bill and teds mantra: "be excellent to each other"
13:15 recycle joined
13:16 mritz_ joined
13:18 khrome joined
13:18 nullunity joined
13:20 bingomanatee joined
13:21 srl295 joined
13:22 <ccowan> Funny thing... I dropped in on our troll's twitter acount to see if he had dropped it yet... Nope. still going strong.
13:22 TooTallNate joined
13:22 LambdaDusk joined
13:22 stevengill joined
13:23 <LambdaDusk> hi... my socket.io app seems to reconnect some users from time to time... what can I do to make that smoother (like, not a complete re-log or something)
13:24 marsulle joined
13:24 <isaacs> maxogden: yes.
13:24 <isaacs> maxogden: it's very aristotelian
13:24 AvianFlu joined
13:24 <isaacs> maxogden: in order to be excellent to each other, we must be excellent, and accept and expect the excellence of others.
13:25 estebistec joined
13:25 sx joined
13:26 josh-k joined
13:27 pretty_function joined
13:28 <ccowan> isaacs: After reading your responses to *he who should not be mentioned* and the article about Node/Joyent/Crockford... I have to say you've impressed me.
13:28 yanush joined
13:28 ibash joined
13:29 devsharpen joined
13:29 luckysmack joined
13:29 <konobi> seems like he's been quiet for a couple of days
13:31 serapath joined
13:31 salsamontes joined
13:32 beachdog joined
13:33 brad-work joined
13:33 <luckysmack> if i have a package cloned from a repo, and i can successfully run `npm install && sudo npm link`, and is shows the file was linked at `/usr/bin/myPackage -> /usr/lib/node_modules/myPackage/bin/myPackage`, why would it then fail when running the 'myPackage' command by saying: "Error: Cannot find module '../lib/myPackage'" ?
13:34 <luckysmack> no matter where i run the command, it look for the command in "../lib/myPackage"
13:34 hotch joined
13:34 keeto joined
13:35 shanecowherd joined
13:35 LambdaDusk left
13:37 joshontheweb joined
13:38 hakunin joined
13:38 zeppo joined
13:38 hakunin joined
13:39 TomWij joined
13:40 innociv_ joined
13:42 jrundquist joined
13:42 jrundquist1 joined
13:42 tasslehoff joined
13:43 hillct joined
13:44 livinded joined
13:44 fritzy joined
13:45 josh-k joined
13:46 samholmes joined
13:46 zackiv31 joined
13:46 jryans joined
13:46 kaspertidemann joined
13:47 knkumar joined
13:48 arlolra joined
13:49 uberj joined
13:50 rafmc joined
13:50 jefferai joined
13:52 jbueza joined
13:53 cgfuh joined
13:53 dstegelman joined
13:54 dstegelman left
13:54 epa_ joined
13:55 thunderstrike joined
13:55 Morkel joined
13:55 laner joined
13:58 jetienne joined
13:58 <uberj> hey, I'm trying to connect to an irc server with ssl and I'm getting the error "Hostname/IP doesn't match certificate's altnames". I tried running 'npm config set strict-ssl false' but it didn't fix anything. How can I tell node's irc library to ignore any ssl issues?
13:59 rafmc joined
13:59 <maxogden> isaacs: would you recommend using engines in package.json to mark a package as a (for instance) phonegap plugin
13:59 <uberj> I'm really sure that telling npm did anthing, google recommened it.
14:00 jefferai joined
14:00 <maxogden> isaacs: or to phrase the question in another way: y u no liek engines?
14:00 <jetienne> isaacs: my name is corrupted in npmjs.org database. how can i fix that ?
14:01 <jetienne> isaacs: i am here https://npmjs.org/package/gowiththeflow but https://npmjs.org/~jetienne return 500. what should i do ?
14:01 recycle joined
14:01 exien joined
14:02 ibobrik joined
14:02 dgathright joined
14:03 idiomatique joined
14:04 <exien> Hi all, the mysql package (which i'm using for db access) throws an exception if the database goes down it. But how am I supposed to return an error callback from my model to close the request if I never get a chance to do so?
14:04 <cpsubrian> Does travis delete/ignore 'node_modules' directories. I have a 'node_modules' directory inside my 'test/' dir that has some placeholder stuff and my tests are failing in travis
14:04 YoY joined
14:05 broofa joined
14:05 <uberj> lib/tls.js line: 1255
14:05 Fodi69 joined
14:05 <uberj> how do I make node not raise that error
14:05 <uberj> I don't feel like compiling my own version of node
14:06 <ccowan> exien: did the app.use(function(err, req, res, next()) { ... }); not work?
14:06 bwinton_ joined
14:06 <scott_gonzalez> isaacs: Are there any known issues with module names that require dots?
14:06 <Fodi69> is it insane thing to write async code with callbacks for syncronous things, for example on models?
14:06 <scott_gonzalez> s/require/contain/
14:07 <exien> ccowan: No, because that catches any errors that are bubbled up through callback checks
14:07 jzaefferer joined
14:07 <TooTallNate> scott_gonzalez: socket.io is one of the biggest ones so i'd think it's ok
14:07 <scott_gonzalez> TooTallNate: good point, thanks
14:07 Apage43 joined
14:08 <ccowan> oh... so you will need to just catch the error with a try { } catch (e) { } and then in the catch execute callback(e)
14:08 <ccowan> that way it will be returned via the callback and the route will catch it
14:09 <exien> ccowan: ccowan: I wrapped the base mysql connection.query() function with a try, and catch, but it didn't catch anything
14:09 euforic joined
14:09 <Fodi69> is it insane thing to write async code for syncronous things, for example on model manipulation functions?
14:09 <ccowan> exien: it's being thrown from the mysql.query
14:09 <exien> ccowan: i'll try again
14:09 <ccowan> oh
14:09 lbljeffmo joined
14:10 <ccowan> I just saw your connection.query()
14:10 <ccowan> Look at the trace route to see where the exception is being thrown.
14:11 <livinded> score! Apparently we're starting functional fridays at work. Gonna learn me some Haskell
14:11 jjbohn joined
14:12 <maxogden> haha sweet
14:12 jryans joined
14:12 <exien> ccowan: here's the trace: https://gist.github.com/3501589
14:13 vvgomes joined
14:13 <ccowan> what's line 43 look like?
14:13 <ccowan> in server.js
14:13 <exien> 42 process.on('uncaughtException', function(err) { 43 console.trace(); 44 console.log('uncaughtException'); 45 console.log(err); 46 });
14:13 jxson joined
14:14 <ccowan> can you replace console.log(err) with console.log(err.stack);
14:15 oriben joined
14:16 jmerlin joined
14:17 h4mz1d joined
14:17 vitor joined
14:17 <exien> ccowan: https://gist.github.com/3501648 is the full stack
14:18 margle joined
14:19 <EdwardIII> mysql? old school :)
14:19 <ccowan> exien: so it looks like it's craping out on the session stuff
14:19 ramitos joined
14:19 AvianFlu joined
14:19 <exien> ccowan: yeah I never realized that before
14:19 <exien> ccowan: interesting
14:19 ryanj joined
14:20 <ccowan> which is going to make it tricky for you to catch and close the connection since that happens at the beginning of the request
14:20 <exien> can you recommend a better session store? does't have to be mysql
14:20 <konobi> redis?
14:20 <EdwardIII> that was just a joke exien sorry, heh
14:20 <ccowan> I use connect-redis
14:20 <EdwardIII> i'm really just using node to play so i want a nice futuristic stack
14:20 rampr joined
14:20 <exien> and connect-redis handles db disconnects well?
14:20 smithrobs_ joined
14:21 <EdwardIII> (i usually use django for custom stuff, and in reality spend most of my time knee-deep in the guts of magento)
14:21 <ccowan> I haven't had issues
14:21 `3rdEden joined
14:21 <exien> EdwardIII: just become something is new and fancy in the tech world doesn't mean we should be using it for production products :)
14:21 <EdwardIII> exien: i agree entirely ^
14:21 idiomatique_ joined
14:21 saikat joined
14:21 <exien> ccowan: k I'll give it a try and see if its part of my problem, thanks
14:22 <EdwardIII> i was looking at redis, from what i can see redis and mongodb operate in exactly the same problem space, it's not a case of horses for courses?
14:22 brianc joined
14:23 <ccowan> exien: to be honest with you the only reason I'm using connect-redis instead of just using cookies for my session stuff is because usign cookies for session stuff in PHP is really a pain in the ass.
14:23 <ccowan> exien: and we have to share sessions with php (for now)
14:23 <EdwardIII> ccowan: interesting
14:24 <EdwardIII> ccowan: are you using redis for pub/sub?
14:24 <ccowan> EdwardIII: nope... it's mainly used for leaderboards, counters, feed listings, etc
14:24 <ccowan> redis is awesome at lists
14:24 `3rdEden joined
14:24 <EdwardIII> cool cool
14:25 <ccowan> we started with sessions to just get our toes wet
14:25 <EdwardIII> and PHP accesses redis to pull session info when it needs?
14:25 <ccowan> yup
14:25 <ccowan> I wrote an session addpator for PHP that works just like connect-redis
14:26 <EdwardIII> cool
14:26 brianc1 joined
14:27 <EdwardIII> i don't need to make php talk to node/nosql, but i have a feeling i might do with django later down the line
14:27 automata joined
14:27 Fodi69 left
14:27 jonaas joined
14:28 jonaas left
14:28 <ccowan> For us we are incrementally replacing functionality in PHP with Node.js
14:28 cpsubrian joined
14:28 jonaas joined
14:28 _roland joined
14:28 TheHippo joined
14:29 mattgifford joined
14:29 <EdwardIII> ccowan: are you able to say what your project is?
14:29 <jonaas> hi, should I use async code for syncronous things, to be future proof? for example if I want to log, or add async functionality later?
14:29 <tlack> thats what i need to do, but i feel like node isnt easy to host alongside php cuz the hosting config is so diff
14:29 <ccowan> yup... http://www.plus3network.com
14:30 <exien> ccowan: what's the primary reason for switching from php to nodejs?
14:30 <samholmes> Wait, pbkdf2 is native? :o
14:30 <tlack> jonaas: can you restate your question a different way? node will probably never go sync, if thats what you are asking
14:30 <EdwardIII> ccowan: and it's even for a good cause :)
14:30 <ccowan> PHP code was writen by 2 different teams and it's a huge mess.
14:30 totallymike joined
14:31 <exien> ccowan: did they use a framework at least?
14:31 <jonaas> I mean writing my code with callback even if I don't use any async functionality (no file read etc)
14:31 <tlack> node is more fun anyway
14:31 <exien> ccowan: php can be a mess without a good framework
14:31 stisti joined
14:31 <EdwardIII> hrm i should rip jade out and replace it with ejs before i go any further, have to admit i'm not loving jade
14:31 <tlack> jonaas: in general i'd say dont write it before you need it
14:31 <exien> tlack: yes node may be more fun, but I'm still not in love with a million callbacks everywhere
14:31 <ccowan> exien: yeah... they used limonade but wrote their own ORM (whcih really sucked)
14:32 <tlack> exien: that is true but it also helps you structure your code in tiny fragments.. which can be nice at times. for instance, refactoring can be easier
14:32 lbljeffmo_ joined
14:32 <jetienne> exien: node got a bunch of sync function in files system
14:32 <jonaas> but than the whole error handling things is very different, so I have to rewrite many lines if I add async tlack
14:32 <tlack> exien: depends on the nature of the project though. if i had a ton of sql stuff to do before outputting anything, i'd probably die
14:32 <exien> jetienne: yes, but you don't want to use them otherwise the server pauses
14:32 <ccowan> I'm also really tired of writing PHP and I really love JavaScript
14:33 <jetienne> exien: hehe :)
14:33 <jetienne> exien: well you want sync or not :)
14:33 <jetienne> exien: you have the butter and the butter money as we say here :)
14:33 <exien> :)
14:33 <nkuttler> is there some preferred method for watching and (re)spawning node processes?
14:33 <tlack> nkuttler: 'forever' is the most popular one i think.
14:33 <EdwardIII> jetienne: what does that mean?
14:34 <nkuttler> tlack: will look into it, thanks
14:34 <EdwardIII> ah i think i see
14:34 <tlack> nkuttler: i like 'node-dev' too
14:34 <EdwardIII> like 'you can't have your cake and eat it too'
14:34 cpg|away joined
14:34 <jetienne> EdwardIII: it is hard to get both side of the coin when you flip one
14:34 <jetienne> EdwardIII: yeah seems like it
14:34 <nkuttler> oh, node-dev looks useful, was actually looking for something like that
14:34 <jonaas> Should I write a function with callbacks, even if I don't use asyncronous functionality in a whole function, to be future-proof?
14:35 zeppo joined
14:35 <jonaas> nkuttler: nodemon?
14:35 Country joined
14:36 <samholmes> I'm thinking of generating a hash for a forgot your password feature. The hash is sent to the user's email address and they click on a link with the hash in it.
14:37 maxani joined
14:37 <samholmes> Should I just use pbkdf2 to generate the key/hash?
14:37 broofa joined
14:37 mandric joined
14:37 <samholmes> and how many iterations is 0.1s worth of work when using pbkdf2?
14:38 chm007 joined
14:39 hammon joined
14:39 aslanted joined
14:40 vincentcr joined
14:41 <jonaas> Should I write a function with callbacks, even if I don't use asyncronous functionality in a whole function, to be future-proof?
14:41 niloy joined
14:42 <samholmes> jonaas: if you plan on using async in the future, then you could use a callback
14:42 <EdwardIII> hrm i've installed ejs in the node_modules dir in my project, but i'm seeing Error: Cannot find module 'ejs'
14:43 <jonaas> samholmes: I think I want to log things in the future, and that should be async
14:43 aliem joined
14:43 <samholmes> EdwardIII: that's weird.
14:43 <jonaas> samholmes: but not in plan yet
14:43 <samholmes> jonaas: Yeah, I usually write using a callback to remain consistent.
14:44 IrishGringo joined
14:45 <samholmes> AAA_awright: I didn't know pbkdf2 was native.
14:45 <samholmes> AAA_awright: I think I'm going to use that instead of bcrypt. But, I'm not sure what's the best way to use it.
14:46 <EdwardIII> hrm, frustrating
14:46 EhevuTov joined
14:46 <EdwardIII> seems to find connect-mongodb OK in there
14:46 <samholmes> EdwardIII: could you post your directory structure on a pasting site?
14:46 Nopik joined
14:46 jasonkuhrt joined
14:47 griotspeak joined
14:47 grallan joined
14:48 <EdwardIII> samholmes: sure... here it is: https://gist.github.com/3502160
14:49 joshthecoder joined
14:49 ParadoxQuine joined
14:49 laner joined
14:49 jp232 joined
14:51 jtomasrl joined
14:51 recycle joined
14:51 <EdwardIII> hrm why can't i find any examples of how to have an ejs layout type template heh
14:52 CatalinH joined
14:52 <isaacs> ircretary: tell jetienne Run npm adduser, or create your account at https://npmjs.org/signup
14:52 <ircretary> isaacs: I'll be sure to tell jetienne
14:52 <jtomasrl> i've manage to install a vm with node.js and tranfer my app, but how can i access to it from outside the vm from the browser? i've done "node index.js" servers is up but can acces through xx.xx.xx.xx:3000 from my web browser
14:53 rwaldron joined
14:53 idiomatique joined
14:54 taky1 joined
14:54 <jtomasrl> nvm solved :)
14:55 jlank joined
14:55 jasonkuhrt joined
14:55 luigy joined
14:56 bmatusiak joined
14:56 octane-- joined
14:56 <tlack> EdwardIII: like "partials"? maybe something like this? http://stackoverflow.com/questions/5404830/node-js-ejs-including-a-partial
14:57 lbljeffmo_ joined
15:00 <AAA_awright> samholmes: http://git.bzfx.net/~aaa/magnode.git/tree/lib/authentication.pbkdf2.js
15:00 willwhite joined
15:00 graeme_f joined
15:00 hammon joined
15:02 AvianFlu joined
15:02 <AAA_awright> Additionally when I'm implementing the login, I make sure that an unsuccessful authentication returns the page after exactly 250ms, unless it's an unrecoverable server-side error maybe
15:02 joshontheweb joined
15:02 mmalecki joined
15:03 _Renegade joined
15:03 taky1 left
15:03 necros joined
15:04 Taar779_w1 joined
15:04 <EdwardIII> tlack: hrm i wouldn't want to include my entire header and footer on every template though heh
15:04 malkomalko joined
15:04 jryans joined
15:05 <EdwardIII> tlack: unless that's the best way to do it? actually <% header() %>...<% footer %>, seems pretty daft though
15:05 taky joined
15:05 Taar779_w1 left
15:05 <EdwardIII> can't seem to find any examples of someone just... creating a normal app on express using ejb and a consistent header/footer everywhere
15:05 <EdwardIII> seems like the hello world for a templating engine
15:05 davidcoallier joined
15:05 hammon2 joined
15:05 <tlack> i have an example i can show you but it uses Dust and not EJS..
15:06 mikeal joined
15:06 Taar779_w joined
15:06 <jaseemabid> How do i delete a project published to npm?
15:06 ojon joined
15:06 <tlack> EdwardIII: also check this: http://stackoverflow.com/questions/7317359/newbie-questions-about-partials
15:06 <EdwardIII> tlack: always keen to see other peoples' work
15:06 <jaseemabid> How do i delete a project published to npm?
15:07 <AAA_awright> jaseemabid: Why would you want to do that
15:07 <jaseemabid> This page[https://npmjs.org/doc/rm.html] is throwing couchDB errors. Somebody fix it up?
15:07 <konobi> jaseemabid: unpublish
15:07 <jaseemabid> AAA_awright, duplicate
15:07 <EdwardIII> hrm he says 'The layout and partials should get pulled in automatically.'
15:07 <tlack> EdwardIII: here's some random crap i used for a while.. been shifting to hogan instead of dust but whatever https://bitbucket.org/tlack/express-dust-boilerplate
15:07 <AAA_awright> <https://npmjs.org/doc/rm.html>
15:07 <EdwardIII> oh i think i see
15:07 hojberg joined
15:08 <EdwardIII> hrm sucks i have to make a seperate header and footer though heh
15:08 <exien> ccowan: I'm pretty sure I've found the culprit, it's my session store
15:08 <EdwardIII> makes me feel... wordpressy
15:08 wingy joined
15:08 nat3 joined
15:08 luigy joined
15:08 <exien> ccowan: sessions are being continually created, I've got 25K session and less than a dozen users
15:09 <tlack> EdwardIII: you dont have to have them separate. he did that on purpose to minimize the size of each template (partial). note the output of <%- body %>
15:09 joshontheweb joined
15:09 <jaseemabid> Please have a look at this screenshot
15:09 <jaseemabid> http://i.imgur.com/YsNvF.png
15:09 <AAA_awright> EdwardIII: Usually you have a template for the entire page, and then include the endire body/page contents as a variable within that
15:09 variable_ joined
15:09 sjonnet joined
15:09 taky left
15:09 <EdwardIII> oh ok
15:10 <variable_> hi
15:10 <EdwardIII> thing is, it just seems to be calling my index.ejs directly, not applying the layout.ejs file
15:11 <EdwardIII> porting from jade to ejs: https://gist.github.com/6600a8dfc5c90a88127e
15:12 fibo joined
15:12 vitor joined
15:12 <EdwardIII> here's where i call the index: https://gist.github.com/3502687
15:13 <samholmes> AAA_awright: What do I generate the creditial with?
15:13 recycle joined
15:13 <fibo> hi all, i have a question about socket.io
15:13 <AAA_awright> samholmes: var credential = {password:"password"}
15:13 eckoit joined
15:13 <fibo> I can emit an event passing a function as a parameter
15:14 <AAA_awright> record is the database record
15:14 <drudge> EdwardIII: express 3?
15:14 <samholmes> AAA_awright: Hmm. But I'm trying to generate a random string as a key to access the password reset form.
15:14 <AAA_awright> Modify some to suit your needs
15:14 <maxogden> functions are objects and event emitters emit objects
15:14 lz joined
15:14 <variable_> i have problem by npm install express and npm install -g express . then if use var e=require('express'); print message that . can not find module express
15:14 <EdwardIII> drudge: yep
15:14 <AAA_awright> samholmes: module.exports.generateRecord({password:"password"}, callback)
15:14 <EdwardIII> 3.0.0rc2
15:15 <variable_> i have problem by npm install express and npm install -g express . then if use var e=require('express'); print message that . can not find module express
15:15 <AAA_awright> That returns your record to insert into the database
15:15 zackiv31 joined
15:15 <tjholowaychuk> variable_ install it locally, not with -g
15:15 <fibo> than in my app.js I can catch that event and execute that function ... suppose console.log('foo')
15:15 hrchak joined
15:15 <AAA_awright> variable_: Don't use -g ?
15:16 <fibo> it executes on my client console, even if I launch it from server. I CAN'T EXPLAIN THAT!!!
15:16 <samholmes> AAA_awright: That's not what I'm asking. I know I can input a password into this function and have it return the encryption. What I'm asking is what should I use to generate random hashes, not passwords, securily?
15:16 <variable_> npm install express? i test this but ...
15:16 <EdwardIII> variable_: do it in your home dir
15:16 <AAA_awright> samholmes: That's the function, generateRecord
15:16 <EdwardIII> variable_: ...assuming you're using something like linux?
15:16 <AAA_awright> samholmes: It takes a password and outputs a database record
15:16 tmpvar joined
15:17 <samholmes> AAA_awright: I know. I don't have a password.
15:17 <variable_> i am using window xp
15:17 milani joined
15:17 iapain joined
15:17 LiveFreely joined
15:17 <EdwardIII> ah
15:17 <AAA_awright> samholmes: ... so what are you using to authenticate a user?
15:17 <tlack> samholmes: i usually just generate a random string and store it in the users database record. you could also hash their userkey and password, or something like that
15:17 <samholmes> AAA_awright: Maybe I should just make a shasum and then input that into the system?
15:17 __underscore joined
15:17 <AAA_awright> samholmes: NO
15:17 __underscore left
15:17 <EdwardIII> i'm not really familiar with how to install node modules on windows... maybe have a little google on that topic?
15:17 <luckysmack> anyone in here use azure? getting a publishing error and need to to track it down. https://gist.github.com/3502800
15:18 laner joined
15:18 butu5 joined
15:18 <tlack> EdwardIII: 'npm' has always worked fine for me on windows (amazingly)
15:18 <milani> isaacs: ping
15:18 <EdwardIII> tlack: just a case of installing to %HOME%?
15:18 <samholmes> AAA_awright: If a user forgot their password, I need to send them a link with a specific hash. When they click the link, the hash is matched against the encrypted version of the hash in the db.
15:18 <isaacs> milani: yo
15:18 <tlack> EdwardIII: no idea. 'npm install express' puts it in the cwd, as expected
15:18 <EdwardIII> heh
15:18 <AAA_awright> samholmes: User sets a new password. Pass the password to generateRecord, store result in database. User logs in with a password. Pull record from database, pass record and supplied password to compareCredential
15:18 <isaacs> milani: what's the spam protection thing you're tlaking about?
15:18 butu5 left
15:19 <samholmes> if it matches, then allow them to change their password.
15:19 constantx joined
15:19 butu5 joined
15:19 <milani> isaacs, two or three days ago I tried to upload three or 4 appjs packages one after another
15:19 <variable_> must run install in this path : C:\Program Files\nodejs
15:19 <variable_> ?
15:19 <milani> isaacs, after publishing the third one, npm returns unauthorized access
15:19 <tlack> variable_: no, it will create node_modules wherever you run it
15:19 <milani> for each package I want to publish or even install.
15:19 <tlack> samholmes: you're overthinking this. :)
15:20 <milani> someone suggested it is an spam protection
15:20 <isaacs> milani: what version of npm?
15:20 <AAA_awright> samholmes: Same thing goes for email recovery... Generate a password-reset URL, use that to hash it and store it in the database. When the user goes to that URL, compare it to the record in the database.
15:20 <* EdwardIII> wonders
15:20 <samholmes> AAA_awright: I understand that part. But, if they want to _reset_ their password, the system needs to send a link _only_ to _their_ email and with a specifically _encrypted_ hash that verifies the link.
15:20 <isaacs> milani: npm -v
15:20 <milani> 1.1.46
15:20 butu5 left
15:20 <isaacs> milani: oh, it's just that your token timed out
15:20 <isaacs> milani: and it's not re-authing properly
15:20 <isaacs> milani: you just got lucky and saw the exact moment it happened :)
15:20 <tlack> samholmes: you just need an unguessable hash of anything that you can use to find their account. it doesnt have to be the encrypted password
15:20 <isaacs> milani: update npm
15:20 <samholmes> AAA_awright: Right... how do I do the generating of the password-reset URL part?
15:20 <isaacs> milani: or just remove the `[_token]` section fro m ~/.npmrc
15:21 <milani> yeah I did that but I should remove it each time
15:21 <milani> after publishing a package
15:21 <milani> ok so I update npm.
15:21 <samholmes> tlack: If I just used a shasum for the url generating, then someone could brute force it regardless of whether I compare it to an encrypted version in the database.
15:21 <EdwardIII> heh ok i can't figure out why ejs/express.js isn't loading layout.ejs
15:21 <* EdwardIII> goes about picking open express.js
15:22 <tlack> samholmes: do you know how long it would take to perform 160bits worth of http requests
15:22 <isaacs> milani: yeah, it's just a bug. it's not updating the token when it expires.
15:22 <AAA_awright> samholmes: That's something you have to implement. When a user navigates to http://example.com/~username/passwordreset?token=sometoken, you need to look up the passwordReset token in the database, pass sometoken and the passwordReset record to the compare function
15:22 hrchak joined
15:22 cjm joined
15:22 <samholmes> AAA_awright: Yeah. The token needs to be something secure though, or do you think a shasum is secure enough of a token in this case?
15:23 <milani> isaacs, lol. so I was misguided!
15:23 <AAA_awright> NO
15:23 <samholmes> AAA_awright: then what would be a secure enough token?
15:23 <AAA_awright> samholmes: The token in the URL is plaintext. It's functionally the samed as a password
15:23 <AAA_awright> *same as
15:23 justicefries joined
15:23 <samholmes> eh, right.
15:24 <tlack> AAA_awright: it's a link in an email sent only to them, and that link lets them act as the account owner, of course it's the same as a password..
15:24 <sjonnet> Would this be a good place to ask questions about issues related to setting up a NPM mirror?
15:24 <AAA_awright> And it should have 128 bits of randomness just so it's not the weak link in the security chain
15:24 <samholmes> The plain text could be a shasum...I'm still going to compare the shasum to the pbkd2f APIs
15:25 <isaacs> milani: a little bit, but it's ok :)
15:25 <AAA_awright> samholmes: You never ever use SHA-* except for authenticating contents of a file/packet
15:25 <samholmes> AAA_awright: My question is, how do I generate this 128bits of randomness?
15:25 adrianlang joined
15:26 <AAA_awright> samholmes: crypto.randomBytes(16).toString('hex')
15:26 <CIA-1> node: 03isaacs 07v0.9.1-release * r766a6ff 10/ (ChangeLog src/node_version.h): wip - http://git.io/Ycpvpg
15:26 estebistec joined
15:26 tomshreds joined
15:26 <AAA_awright> Note that Math.random is NOT cryptographically secure
15:27 <samholmes> AAA_awright: I have made that note from your previous statement on that. ;)
15:27 recycle joined
15:27 baconseason joined
15:27 <samholmes> I see. That's all I was asking.
15:27 <AAA_awright> It bears repeating for the sake of the record :)
15:27 <baconseason> hey y'all. got a question about connect's csrf middleware.
15:27 <samholmes> I was thinking of 256 as the param for randomBytes, but I suppose that's unnecessary
15:27 <baconseason> what do I do if I want to use csrf protection, but also need to have an exposed endpoint for external webhook listening?
15:27 <samholmes> AAA_awright: I appreciate the redundency actually. :D
15:27 <tlack> man i hope your project is lucky enough to be the target of these intense random number generator attacks
15:28 Xeon06_ joined
15:28 <Xeon06_> Hey folks
15:28 <AAA_awright> That's way overkill yeah, I could imagine it introducing new attacks
15:28 <samholmes> redundancy*
15:28 <Xeon06_> My Node server is randomly stopping, and I can't figure out why. All there is in the logs is well, my own stuff. No JS errors
15:28 baconseason joined
15:28 bernaman joined
15:28 <samholmes> AAA_awright: how could it introduce new forms of attacks by being overkill?
15:28 <AAA_awright> The RNG probably only has 128 bits of internal state anyways
15:28 <Xeon06_> I notice some modules I am using have console.logs in them but I don't see that in my stdout. Is there somewhere else I can look?
15:28 <samholmes> RNG?
15:29 saikat joined
15:29 <samholmes> random number generator
15:29 <milani> Xeon06_, maybe they have verbosity settings.
15:29 <etcetera> moin
15:29 zackiv31 joined
15:29 Ziggy` joined
15:29 <AAA_awright> samholmes: the Random Number Generator, I wouldn't be suprised if there's some attack on it where requesting lots of numbers starts leaking information about the internal state
15:30 ecto joined
15:30 <Xeon06_> milani: Right, but there is nothing built in node itself, no hidden error files or any of the sort?
15:30 dejanr joined
15:31 <samholmes> AAA_awright: You mean the larger the hex string is, the more information about the internal state a attacker could begin to decypher?
15:31 jasonkuhrt joined
15:31 <tlack> Xeon06_: random question.. when you launch your app, are you logging to a file, and if so, are you using 2>&1? maybe you arent seeing stderr..
15:31 <milani> Xeon06_, no.
15:31 laner joined
15:31 <Xeon06_> tlack: I am using nohup
15:32 <dejanr> join ruby
15:32 <Xeon06_> tlack, milani: I used to have JS errors that would make it "crash" and I would see those fine in the log. But now it just shuts down randomly iwthout anything
15:32 <milani> Xeon06_, they can also override console.log and implement it to redirect in a file.
15:32 <AAA_awright> Maybe if it was a weak generator like Math.random
15:32 <AAA_awright> Don't worry about it
15:32 <tlack> dejanr: traitor
15:32 estebistec joined
15:32 mikedeboer joined
15:33 <dejanr> tlack: missclicked sorry mate
15:33 <milani> Xeon06_, oh that maybe a logical error, when process has nothing to do it exists.
15:33 AvianFlu joined
15:33 justicefries joined
15:33 <AAA_awright> Xeon06_: You sure you have a server that's listening on a socket? You're not closing the socket, or calling exit() anywhere?
15:34 <samholmes> AAA_awright: How large does my db column have to be to hold the record generated by generateRecord?
15:34 <context> http://www.youtube.com/watch?v=sp5M9K3wZcY
15:34 <AAA_awright> If you don't have a server listening on a port, the other problem could be a function call which is supposed to return a callback, isn't calling the callback in some cases
15:34 <Xeon06_> milani, AAA_awright this occured to me. But I am using Faye (http://faye.jcoglan.com/)(not my pick), and I figured it would stop it from ending
15:35 <variable_> very very thanks. i understand. how it work. very very thanks
15:35 <variable_>
15:35 <variable_> :D
15:35 <tlack> Xeon06_: really weird man. can you get it to happen on command? i used to have that issue with mysql timing out after a few hours on a project of mine. i had it wrapped in node-dev so i never noticed
15:35 <AAA_awright> samholmes: Not sure exactly, call generateRecord and see how long the output is
15:35 <Xeon06_> Right, so its likely then that the server is simply ending without error, just because its done doing everything
15:35 <AAA_awright> I also have a column storing the type
15:35 <bnoordhuis> mikedeboer: i lost the link to the gist
15:35 <Xeon06_> tlack: I wish I could. I don't know what causes it
15:35 Domenic_ joined
15:35 <AAA_awright> <http://faye.jcoglan.com/>
15:36 <tlack> Xeon06_: next time you restart, run as node myapp.js 2>&1 | tee -a log.txt
15:36 <tlack> Xeon06_: then review that, maybe you're missing something somehow
15:36 bernaman left
15:36 scwh joined
15:36 jetienne joined
15:36 <dejanr> guys how do you migrate or increementally update redis servers, is there something like migrations for redis and node
15:37 clooth joined
15:37 margle joined
15:37 jrundquist joined
15:38 yanush joined
15:38 <bnoordhuis> mikedeboer: nvm, have it again :)
15:39 jrundquist left
15:39 <jetienne> isaacs: fixed, thanks
15:39 serapath joined
15:39 exien joined
15:40 <Xeon06_> tlack: Yeah, I am now just running it as is, and logging it, and just watching it go. But it can take as much as 2 hours haha
15:40 <Xeon06_> I'm suspecting the issue is Faye
15:40 <Xeon06_> And I'm just piling the excuses not to use it anymore anyways
15:40 revans joined
15:41 <mscdex> is it just me or is it odd that assert.doesNotThrow() accepts an 'error' argument? and why is it documented?
15:41 <mscdex> if you're assuming it's not going to throw, why would you validate an exception message?
15:42 <mscdex> :S
15:44 CannedCorn joined
15:44 RORgasm joined
15:44 <samholmes> AAA_awright: 119 characters? :\
15:44 <samholmes> Is it variable length or is it always the same?
15:44 <AAA_awright> Should be the same, why's it matter?
15:45 <samholmes> I need to know what length to set my DB column
15:45 wangbus^ca joined
15:45 <samholmes> it's a sql based system
15:45 <AAA_awright> No, allow for an expandion by at least 6 more characters or so, the length of the hash and the number of iterations are variable
15:46 livinded joined
15:46 <AAA_awright> If you wanted to store it as a binary blob you could save about 1/3 the space
15:46 <chrisjaure> did nodeup move? i'm getting a 404 http://nodeup.com/
15:46 ecto left
15:46 <AAA_awright> Make sure you throughly test that though, opaque code is a possible attack vector
15:46 <samholmes> AAA_awright: A binary column?
15:46 <AAA_awright> Yeah like that
15:46 panosru joined
15:46 <samholmes> I'm not sure what you mean by opaque code.
15:47 <AAA_awright> Not sure how it works
15:47 <CIA-1> node: 03Bert Belder 07master * rc06e100 10/ test/simple/test-child-process-exec-error.js : windows: make test-child-process-exec-error pass - http://git.io/vlwKow
15:47 <samholmes> AAA_awright: Oh, you mean just copying your code without knowing how it work?
15:47 PaulCapestany joined
15:47 <AAA_awright> Well yeah that too
15:47 piscisaureus_ joined
15:47 <samholmes> AAA_awright: That too..but what did you mean by opaque?
15:47 salva joined
15:47 <AAA_awright> But I mean, if you're encoding the hash as a binary blob instead of base64, you can't as easily test that to make sure it's functioning as expected
15:48 <AAA_awright> That's more opaque
15:48 <AAA_awright> Code that isn't used often and regularly is another possible attack vector
15:48 revans joined
15:49 <AAA_awright> So especially test the password reset function. People are going to test the password for you every day, but less so the password reset.
15:49 <samholmes> AAA_awright: How is that an attack vector just because code isn't used often?
15:49 <AAA_awright> If there's a bug you're less likely to find it
15:49 <EdwardIII> done some more research chaps
15:49 <samholmes> Ah I see what you mean now.
15:49 <EdwardIII> actually it looks like this just is not possible - you have to include head and include foot, and wait for ejs to implement something like 'extends' as present in jade
15:49 halfhalo joined
15:49 <AAA_awright> Especially big number/arbritrary length number libraries, where some code is only executed in edge cases maybe one out of a billion times
15:49 <samholmes> Well, instead of a binary blob, would it be best to use a VARCHAR?
15:50 <AAA_awright> That's where a code coverage test suite is really necessary
15:50 <CIA-1> libuv: 03Bert Belder 07master * r162e57b 10/ src/win/error.c : windows: map ERROR_DIRECTORY to UV_ENOENT - http://git.io/tQsPTA
15:51 <AAA_awright> samholmes: I'm just showing you how to use crypto.pbkdf2, you have to ultimately decide how you want to encode the output, if you want base64, hex, binary blob, etc
15:52 <AAA_awright> I also look around at other libraries. Look at how Facebook, etc, sends message authentication codes, look at how MediaWiki, Drupal and such formats and stores hashes
15:52 <AAA_awright> (know when and why they're doing it wrong)
15:53 taky1 joined
15:54 jfroma joined
15:54 recycle joined
15:54 <CIA-1> node: 03Bert Belder 07master * r69d8e77 10/ deps/uv/src/win/error.c : uv: upgrade to 162e57b - http://git.io/5Acw9Q
15:55 cpetzold joined
15:55 jeremyhammer joined
15:56 jfroma joined
15:56 hij1nx_ joined
15:56 lbljeffmo joined
15:59 mappum joined
16:00 vanb777 joined
16:00 laner joined
16:01 jayke joined
16:01 <jayke> hiya
16:01 <jayke> someone can help me with a quick question?
16:01 smithrobs_ joined
16:02 <maxogden> yep
16:02 <context> jayke: no we cant. you have not asked a question that requires help.
16:02 <mmalecki> jayke: just ask :)
16:02 cpetzold_ joined
16:02 ecthiender joined
16:02 knkumar joined
16:02 oscarhou joined
16:02 <maxogden> we wait with bated breath
16:03 <jayke> ok
16:03 <jayke> so, i got this external js file
16:03 <jayke> with a var in the main file
16:03 <maxogden> pre-emptive answer: read http://nodejs.org/api/modules.html
16:03 cleos_frey joined
16:03 eventualbuddha joined
16:04 <oscarhou> Hi, can I use nodejs with an existing web framework or is it a web framework in itself?
16:04 <jayke> ok... u got me
16:04 <jayke> Accessing the main module
16:04 <cleos_frey> How do you guys check a functions arguments? Do you use asserts or what?
16:04 TooTallNate joined
16:04 pace_t_zulu left
16:04 <cleos_frey> to make sure the user isn't giving junk
16:04 Sapr0 joined
16:05 broofa joined
16:06 <jayke> I think I got it working, thanks!
16:06 n0ctum joined
16:06 <jayke> i know it sucks when some dumbass like me doesnt read the docs, sorry!
16:07 jasonkuhrt joined
16:07 <mmalecki> cleos_frey: I don't. if user is giving you cruft, it's going to blow at some point
16:07 <mmalecki> it's theirs problem
16:07 bradgignac joined
16:07 rhasson joined
16:08 <cleos_frey> mmalecki: but I'd like to give useful errors
16:09 <jayke> nope, its not working as expected
16:09 <cleos_frey> mmalecki: like should I stop the program and say, "hey you gave me junk here", or should I let it go?
16:09 <mmalecki> let it go :)
16:09 <mmalecki> this is how core acts
16:09 <cleos_frey> that's very zen
16:09 <cleos_frey> ohh
16:09 <jayke> well the question was: from an external module in a nodejs, how can i access a variable in the main module?
16:09 rickibalboa joined
16:10 constantx joined
16:11 <CIA-1> node: 03Bearice Ren 07v0.8 * ref3617c 10/ Makefile : build: fix `make -j' fails after `make clean' - http://git.io/DorFwg
16:11 Kullt joined
16:12 totallymike joined
16:14 <jayke> any help for that question?
16:14 <EyePulp> jayke: pass the variable in explicitly
16:14 <jayke> how does that work?
16:14 FredC__ joined
16:15 <jayke> any example available?
16:15 redir joined
16:15 <EyePulp> foo = require('external').some_func(var_from_main);
16:15 <EyePulp> sorry
16:15 <EyePulp> var foo = require('external').some_func(var_from_main);
16:15 e4r joined
16:16 <jayke> so, this goes into the main module
16:16 <EyePulp> si
16:16 tphummel joined
16:16 <jayke> how do i "grab" that var from the external one?
16:17 Tixz joined
16:17 mikeal joined
16:18 justicefries joined
16:18 <EyePulp> because the external module is a series of exported functions, and they accept arguments, and you're passing in an argument.
16:18 <Tixz> I want to host several applications on the same server. Since they all can't listen on port 80, I've read that I need some kind of router/load balancer in front of the applications to redirect traffic to the appropriate servers, based on the requested domain. What should I use for this? I've heard HAProxy, Ngix, (Varnish?)
16:18 FredC joined
16:18 justicefries joined
16:19 <jayke> so "some_func" is part of the external module
16:19 <EyePulp> Tixz: you can use nginx for that based on the host header, if you have only one IP available and want to put them all on port 80
16:20 shanecowherd joined
16:20 <EyePulp> Tixz: search for nginx + virtual hosts
16:20 <EyePulp> jayke: correct
16:20 <jayke> i think i get it, from the external module make a function that sets the var, and pass the var as an argument
16:20 mandric joined
16:20 <Tixz> EyePulp: Is that the best solution? I have read several articles about it, I was just hoping someone here had a recommendation :)
16:20 <jayke> cool, i got it, thanks!
16:21 <Tixz> Also stumbled upon this project: https://github.com/kommander/vost
16:21 <EyePulp> Tixz: best for what? Open heart surgery? No, it's not well suited for that. however if you could narrow down your problem, perhaps I can wax eloquently on its fitness to purpose.
16:21 <EyePulp> =)
16:22 <Tixz> EyePulp: Alright, I have an EC2 instance to play around with. I want to host my personal website, an application I'm building and a client website, so 3 domains so far. They're all node projects, but how do I serve them seamlessly from the same machine? :)
16:22 <CoverSlide> you can use node as your load balancer as well
16:22 recycle joined
16:23 <CoverSlide> there's node-http-proxy and bouncy that can do this for you
16:23 timeturner joined
16:23 TooTallNate joined
16:23 <EyePulp> Tixz: if you want a simple solution, use something prebuilt that solves the problem. if you want to learn about load balancing, you can role your own.
16:24 sjonnet joined
16:24 <Tixz> I'll have a look at node-http-proxy and bouncy. I'd rather just go with a quick solution for now, as I'm learning plenty of other stuff atm
16:24 <EyePulp> the simple solution (in my experience) is to use nginx. it's fast, conf files are very readable, and it's got tons of docs out there.
16:24 <Tixz> You know, information overload to the point where my brains cooking :p
16:25 matthewborn joined
16:25 <Tixz> Yeah, nginx seems very nice, the only downside I read was about when using it with socket.io
16:25 <Tixz> I don't know if there's still any problems there, the articles were a couple of months old
16:26 saikat joined
16:26 redir joined
16:26 <CoverSlide> technically you can still use socket.io, but you can't use websockets as a transport behind nginx
16:27 <Tixz> Alright, I think I'll go with node-http-proxy, looks nice
16:27 <EyePulp> Tixz: typically you don't run socket.io through nginx - it's on its own port
16:27 <mscdex> CoverSlide: why not?
16:27 <CoverSlide> that's something they're working on though
16:27 <mscdex> the websocket spec should allow it
16:27 <jayke> EyePulp, sorry, no luck on that :\
16:27 <jayke> im doing a .setIO(io)
16:27 <CoverSlide> nginx doesn't support HTTP/1.1 or websockets, at least ootb
16:28 <jayke> and ive got a function declared, also with the modules.export
16:28 <jayke> that sets io = _io (the argument passed)
16:28 <mscdex> well, it didn't support the really old websocket versions, especially draft 76, but that was a long time ago
16:28 <EyePulp> post your module code someplace, and the snippet where you're calling it
16:28 <mscdex> because it did some things to purposefully break HTTP
16:29 <jayke> ok
16:29 fangel joined
16:29 josh-k joined
16:30 <jayke> http://pastebin.com/p1Jcq5Eu
16:30 <CoverSlide> iirc, all websocket specs require a protocol upgrade, which is a HTTP/1.1 feature, which isn't supported by nginx
16:30 <jayke> typo on var
16:31 matthewborn joined
16:31 <CoverSlide> new idea for a module: pirate.js, new to-javascript language that basically does .replace(/\bar\b/, 'var')
16:32 AvianFlu joined
16:32 <gkatsev> CoverSlide: don't you mean 'var'->'arr'?
16:32 <EyePulp> varr
16:32 <gkatsev> oh
16:32 <gkatsev> I gues
16:33 <gkatsev> EyePulp: except, wouldn't it be vvar?
16:33 <gkatsev> oh, word boundary
16:34 <CIA-1> libuv: 03Bert Belder 07master * r5c674b2 10/ src/win/process.c : windows: squelch some warnings related to int64 to int32 conversion - http://git.io/yQkM3w
16:34 <CIA-1> libuv: 03Bert Belder 07reviewme * rabc945b 10/ src/win/process.c : windows: make spawn with custom environment work again - http://git.io/FpvZBw
16:34 Fli-c joined
16:34 halfhalo joined
16:34 vippy joined
16:35 <jayke> ok, kinda got it working
16:35 chrisjaure left
16:36 chasefarmer joined
16:36 <EdwardIII> i'm finally starting to get there with node/backbone/mongoose
16:36 saikat joined
16:36 TheHippo1 joined
16:36 saikat_ joined
16:36 rhasson left
16:37 <EyePulp> jayke: http://pastebin.com/bRUNcnnt
16:37 Bad-Science joined
16:37 <EyePulp> this assumes you want a number of functions available in your module
16:38 <EyePulp> and it's completely untested
16:39 automata joined
16:39 bawwwller joined
16:39 rafmc joined
16:39 recycle joined
16:39 <jayke> EyePulp, yeah i did something similar, but node executes all the module at once
16:39 <jayke> and i have one io.sockets.on
16:40 <jayke> i might have to make some kind of callback
16:40 <jayke> i dont really know
16:40 constantx joined
16:41 <EyePulp> jayke: node doesn't execute your external module functions (exports) unless you call them It loads them into memory upon requiring them, but execution only occurs when you call the function.
16:42 <jayke> well, what i mean is that triest to do "io.sockets.on" before having io "declared"
16:42 <jayke> io.sockets.on('connection', function (socket) { ^ TypeError: Cannot read property 'sockets' of undefined
16:42 sjonnet left
16:43 ramitos joined
16:43 <jayke> so i have to make something that when setIO is called, i have that io.sockets.on thing going on
16:43 <jayke> i think
16:43 <jayke> im no guru
16:43 <EyePulp> jayke: you should also use semicolons more often.
16:43 davidcoallier joined
16:43 <jayke> yeah, bad habit
16:43 <EyePulp> jayke: test your code all on one page before you break it into modules.
16:44 maxani joined
16:44 <jayke> yeah, all in one works perfect, is when im trying to branch it in parts
16:44 <jayke> maybe
16:44 <jayke> i can do something else
16:44 <jayke> instead of setting io
16:45 <jayke> passing "server", and declaring io from the external module
16:45 <* EyePulp> is suspicious that there's a very simple solution here
16:45 bowen199 joined
16:45 bowen199 joined
16:47 redir joined
16:47 jmar777 joined
16:47 khrome joined
16:48 gurra joined
16:48 laner joined
16:48 quesada joined
16:48 tzmartin joined
16:49 <CIA-1> libuv: 03Bert Belder 07master * rabc945b 10/ src/win/process.c : windows: make spawn with custom environment work again - http://git.io/FpvZBw
16:50 <jayke> YES
16:50 <jayke> GOT IT
16:50 bawwwller joined
16:50 <jayke> hahahahahah, man i feel god
16:50 <yawnt> synonym for link?
16:50 <jayke> its kinda ugly, but fuck it
16:50 <yawnt> i need two of them
16:50 <yawnt> resource and content ?
16:50 <CIA-1> node: 03Bert Belder 07master * r4cfd64e 10/ deps/uv/src/win/process.c : uv: upgrade to abc945b - http://git.io/SWD3Hg
16:51 JMHNilbog joined
16:51 JMHNilbog left
16:51 briancray joined
16:51 kishoreyekkanti_ joined
16:53 milani left
16:53 recycle joined
16:53 rick- joined
16:54 <CIA-1> node: 03isaacs 07v0.9.1-release * r060f292 10/ (ChangeLog src/node_version.h): wip - http://git.io/dIniiw
16:54 <jayke> btw, EyePulp thanks again
16:55 <jayke> i did this, passed the server into the function and var io = require('socket.io').listen(_server).sockets.on('connection', function (socket) {
16:55 salsamontes joined
16:55 zackiv31 joined
16:55 <oscarhou> does nodejs work well with actionscript at all?
16:56 obazoud joined
16:57 <CoverSlide> the newt plays the flute, the carp plays the harp, the plaise plays the bass, and they soundin sharp, the bass plays the brass, the chub plays the tub, the fluke is the duke of soul
16:57 <cpsubrian> npm respects .gitignore .. but � it does not seem to support '!' lines. Intended or bug?
16:57 <tnorris> when using net.createServer and writing to a socket file, is there a way to set the permissions of the socket file being created?
16:58 <CoverSlide> maybe with fs.chmod
16:59 <CoverSlide> or process.umask beforehand
16:59 <tnorris> CoverSlide: ok, i'll take a look at those. thanks.
16:59 stisti joined
16:59 Me1000 joined
17:00 pickels joined
17:00 baconseason left
17:00 broofa joined
17:00 Swaagie joined
17:00 TehShrike joined
17:01 jasonkuhrt joined
17:02 nonnikcam joined
17:04 <tnorris> CoverSlide: I tried setting the umask to 0777, and it all the sockets that were created came out with 0000. any ideas?
17:04 necros joined
17:04 <jayke> ok, another one.... Accessing an external module var from another external module. jesus
17:04 <CoverSlide> try umask(0)
17:05 <tnorris> CoverSlide: awesome. now I don't have to run chmod a+w on the socket files every time they're written. thanks.
17:06 redir joined
17:06 TheHippo joined
17:07 bawwwller joined
17:08 bawwwller joined
17:08 erione joined
17:08 uberj left
17:09 vguerra joined
17:09 pieterv joined
17:09 zmoog joined
17:10 ph^ joined
17:10 <CoverSlide> de fish on the land aint happy, he sad cause he in da bowl
17:10 crabdude joined
17:11 richwestcoast joined
17:11 papachan joined
17:12 Darren__ joined
17:12 <Darren__> hey all
17:13 <Darren__> quick question, I have updated my project to the v0.8.8 source, and console.log is giving me a TypeError: Object #<TTY> has no method 'write'
17:14 <Darren__> its a funny build with node started as a background thread in the actual app
17:14 wolfeidau joined
17:15 lucidity14 joined
17:18 mike18 joined
17:19 recycle joined
17:19 <bnoordhuis> Darren__: what are you doing exactly?
17:19 kennethkoontz joined
17:19 jonatas_oliveira joined
17:20 <Darren__> I compile the node sources, and link them into an app
17:20 thealphanerd joined
17:21 <Darren__> then call node::Start(argc, argv);
17:21 <bnoordhuis> Darren__: so where does that TTY object come from? we don't export it
17:21 hipsters_ joined
17:21 <bnoordhuis> are you using process.binding('tty_wrap')?
17:21 <Darren__> it was working on 0.6.6, so somethings changed on 0.8.8
17:21 mickhansen_ joined
17:22 Pavi joined
17:22 <Darren__> I don't use tty_wrap
17:22 <mike18> i'm attempting to do some web-scraping with node.js... i've attemped phantomjs-node and node.io so far...
17:22 <Pavi> Hi
17:23 <Pavi> I have some doubt in integrating node-waf with cross compilation
17:23 <mike18> my problem is the first page that i 'GET' is a google page that just contains a script to set a new window.location. i'm trying to figure out how to evaluate that javascript and move on...
17:24 <Pavi> can any one help me on how to cross compile, and get *.node file which could be run in ARM Process
17:25 ph^_ joined
17:25 joshontheweb joined
17:25 bingomanatee joined
17:26 maze` joined
17:26 gerred joined
17:28 luigy joined
17:29 jkyle_ joined
17:29 stisti joined
17:31 <TehShrike> substack, you magnificent bastard
17:31 <Darren__> The app is being run from the command line, so should pick up the normal stdio?
17:31 <yawnt> must say i laughed
17:32 <CoverSlide> what did the sucstack do today?
17:32 <CoverSlide> *substack
17:32 <TehShrike> substack: not only is your stream handbook excellent and much-appreciated, but it showed up in my RSS feed in the form of a full post! <3
17:32 saikat joined
17:32 <substack> TehShrike: I realized I could just paste the same thing twice!
17:32 <TehShrike> :-)
17:33 TehShrike joined
17:33 <konobi> Pavi: please ask in channel rather than via pm
17:33 Hebo joined
17:34 Taar779_w left
17:36 adrianF joined
17:36 bingomanatee joined
17:37 rwaldron joined
17:37 regality joined
17:38 jergason joined
17:38 recycle joined
17:39 bradleymeck joined
17:40 jharper joined
17:40 Ziggy` joined
17:41 luigy joined
17:41 kennethkoontz joined
17:42 tomshreds joined
17:42 nahamu joined
17:43 gaim3 joined
17:43 recycle joined
17:44 <nahamu> is there a way when writing a script in node to exec rather than fork a child process?
17:46 <nahamu> I'm guessing that child_process.exec actually forks...
17:46 chm007 joined
17:47 <nahamu> isaacs: ping?
17:47 astropirate joined
17:47 <isaacs> nahamu: no, it'll alwyas fork a child process.
17:47 <nahamu> :-/
17:48 <jharper> Hi, I'm new to Node and trying to use it to write a server which must be listening for incoming UDP connections while processing data. At the end of each round of data processing, it must insert data which has arrived through the connections since the last round. What's the preferred way of dealing with processing data while concurrently listening for incoming data in Node?
17:48 Kingy joined
17:48 <isaacs> nahamu: if you want to call exec() without forking first, then write a binary addon, and do it yourself in C++
17:48 etcetera joined
17:48 <isaacs> nahamu: there's no JS api for this.
17:48 <isaacs> nahamu: it'd be kind of a disaster to do that.
17:48 <nahamu> isaacs: fair enough.
17:49 pandeiro joined
17:49 <mmalecki> executing a child process on Unix always forks :)
17:49 <nahamu> mmalecki: In my bash scripts I can "exec /some/other/binary"
17:50 <isaacs> mmalecki: right, but it doesn't exec in a forked thread, so you block on it
17:50 <isaacs> i assume that's what nahamu is actually requesting
17:50 <nahamu> isaacs: the context is actually smartos... the KVM branded zones aren't allowed to fork, and the devs have been kind enough to add a metadata format for me to tweak my custom KVM dataset, but they give me the metadata in json.
17:51 <nahamu> I currently have a bash script whose last step is to exec qemu, and I'd love to write it in node so that I can easily slurp in the json metadata before exec'ing qemu.
17:51 <Almindor> I'm using readline to process some more complicated imports and when I redirect a file to it like "node myapp.js < file.json" I get all the contents put onto screen even if I don't output anything in the code, why so?
17:51 <livinded> um, on unix doesn't exec() just replace the current process with a new process image?
17:52 <nahamu> livinded: yup
17:52 <nahamu> worse than blocking... :-P
17:52 <livinded> that's why you need to explicitely fork before you call exec() otherwise the parent goes bye bye
17:52 <livinded> oh sorry, I misread above
17:52 <mmalecki> that's what I mean by "child process"
17:53 <nahamu> right, but I need the parent to go byebye
17:53 <nahamu> it's not the normal use-case for node.
17:53 <nahamu> so isaacs instructions to make my own binary addon makes sense.
17:53 <livinded> and in node exec() will always fork before calling exec?
17:53 stafamus joined
17:53 <nahamu> livinded: node never calls the exec syscall without first calling the fork syscall.
17:54 <mmalecki> livinded: yeah
17:54 <mmalecki> actually, libuv does all of that
17:54 <livinded> right
17:54 <mmalecki> I'll find the snippet, sec
17:54 <mmalecki> here, https://github.com/joyent/libuv/blob/master/src/unix/process.c#L353
17:54 jetienne joined
17:54 jasonkuhrt joined
17:55 <mmalecki> fork, first https://github.com/joyent/libuv/blob/master/src/unix/process.c#L425
17:55 <livinded> need to dig into libuv soon. My C is strong but C++ is weak :/
17:55 zackiv31 joined
17:55 <mmalecki> livinded: libuv is C :)
17:55 <nahamu> so in theory I could modify libuv to have support for what I want, and then add it to node, but then people might use it and bad things would happen...
17:56 <mmalecki> also, not sure where actual exec* happens
17:56 <livinded> mmalecki: it is? v8 is just C++?
17:56 <mmalecki> but certainly after fork(2)
17:56 <mmalecki> livinded: v8 is C++, node is C++
17:56 <Pavi> wat is the channel link i should use to post my queries
17:56 dshaw_ joined
17:56 maletor joined
17:56 <mmalecki> it's like, node's C++ binds libuv to JS
17:56 <livinded> ah, ok. The little bit of native node module code I read was C++. I just assumed libuv was as well
17:57 <mmalecki> but yeah, I wish v8 was C :)
17:57 romain_ joined
17:57 <yawnt> i think everyone does mmalecki
17:57 <yawnt> except google maybe
17:57 <mmalecki> now I can barely understand it because of templates
17:57 hellp joined
17:57 <livinded> Google also likes Java though...They don't exeactly have great taste
17:57 <mmalecki> like, really heavy templates
17:57 <mmalecki> yeah
17:57 <kranius> C++ is verbose
17:57 <yawnt> livinded: true
17:58 <CoverSlide> They should use go
17:58 <yawnt> we should all just switch to D and skip C++ right ahead
17:58 <mmalecki> CoverSlide: they do on some occasions
17:58 <yawnt> :d
17:58 <livinded> doesn't leveldb implement most of the useful stuff from stl?
17:58 <livinded> at least data structure-wise
17:58 <mmalecki> livinded: it implements all I ever used in STL, map
17:58 <CoverSlide> D is awesome, except for the whole phobos / tango thing
17:58 <mmalecki> TANGO DOWN.
17:59 <jharper> is there a feature in Node to allow me to do data processing while still listening for incoming messages?
17:59 <mmalecki> jharper: spawning a child process for doing data processing
17:59 <mmalecki> and waiting for messages from it
17:59 <crassus> K, Q, J and A+ are all much cooler than D
17:59 <livinded> the new C++x0 is actually pretty cool
17:59 <livinded> native regex support is nice
17:59 jibay joined
18:00 lucidity14 left
18:00 mike18 left
18:00 <mmalecki> man, I wish Scala and Clojure weren't JVM
18:00 jgornick joined
18:00 <jharper> mmalecki: thanks, I just didn't know if there was another way
18:00 <CoverSlide> <3 clojure
18:00 <purr> Let it be known that CoverSlide hearts clojure.
18:00 <livinded> port closure to llvm
18:00 generalissimo joined
18:00 <livinded> clojure*
18:00 <mmalecki> livinded: WOULD KICKSTART.
18:01 jryans joined
18:01 hojberg joined
18:01 <livinded> haven't touched clojure because of the jvm, but lisp is cool. More intrested in Haskell at this point though
18:01 nahamu left
18:01 recycle joined
18:02 <CoverSlide> haskell makes my brain hurt
18:02 EvilPacket joined
18:02 <CoverSlide> everyone should learn factor
18:02 <livinded> it's too bad Oracle isn't doing something stupid like re-closed sourcing the JVM. It would solve a lot of problems
18:02 ryanfitz_ joined
18:02 <crassus> Isn't the whole point behind Clojure the JVM
18:03 <CoverSlide> there lies a fine line between the language and the implementation
18:03 insin joined
18:03 <livinded> crassus: ya, but who wants to use the JVM unless you're tied to it?
18:03 <CoverSlide> technically you can compile Clojure to JavaScript
18:03 <crassus> why not livinded? there's little upside from clojure without, versus just using common lisp afaik
18:03 <livinded> then run that through v8?
18:03 dKc joined
18:04 <livinded> crassus: lisp with a decent execution target
18:04 Martz joined
18:04 <livinded> my dream is just to replace the JVM with LLVM EVERYWHERE
18:04 <CoverSlide> racket ftw
18:04 <mmalecki> livinded++
18:05 <mmalecki> <3 livinded
18:05 <purr> Let it be known that mmalecki hearts livinded.
18:05 <mmalecki> at least that works.
18:05 <CoverSlide> why hasn't anyone made a java to llvm compiler?
18:05 <livinded> racket is what mzscheme became right?
18:05 <CoverSlide> yes
18:05 ttilley joined
18:05 ttilley joined
18:06 <livinded> why the change?
18:06 <CoverSlide> they changed the language syntax slightly
18:06 <CoverSlide> so they gave the language a new name
18:06 <livinded> ah
18:07 <CoverSlide> although the racked executable still comes with mzscheme and has r5rs and r6rs modes built in
18:07 alexgordon joined
18:08 markwubben joined
18:09 <etcetera> how does npm work?
18:09 <CoverSlide> unicorn blood
18:09 totallymike joined
18:09 <nlf> ^ accurate
18:10 PatF joined
18:11 <etcetera> why havent other ecosystems adopted it for their own package management.
18:11 <etcetera> esp considering node's portability.
18:11 <livinded> wow! the new firefox webgl demo looks pretty good
18:12 <livinded> a natively written 3d engine rather than a converted one with emscripten might actually be usable soon
18:12 <* insin> just had to fill a setup.py file with crap to pull in a Git repo with pip :( Steal npm, everything
18:12 <mmalecki> insin: I feel ya
18:13 <etcetera> insin: ?
18:13 <CoverSlide> well npm is probably one of the first to do local installs by default. others you can tweak to do local installs
18:13 <livinded> oh, don't even get me started on python packages
18:13 <livinded> still cleaning shit up from playing the Stripe wargame and having ot install a bunch of python crap
18:14 <billy> virtualenv is your friend :)
18:14 drudge joined
18:14 <CoverSlide> before 1.0.0 npm was basically rubygems for node
18:14 recycle joined
18:16 aniasis joined
18:17 <livinded> billy: thanks!
18:17 <wereHamster> does nodejs have a way to interrupt the script if it detects that it's running for too long (to interrupt infinite loops)?
18:17 <CIA-1> node: 03Bert Belder 07master * r143e9be 10/ test/simple/test-fs-truncate.js : test: make test-fs-truncate pass on windows - http://git.io/jyNBQw
18:17 pppaul joined
18:17 <CoverSlide> if you have an infinite loop, then you have to shut it down remotely
18:17 wizonesolutions joined
18:18 <CoverSlide> but that's common to any language
18:18 <wereHamster> how? Is it possible to tell v8 to forcibly interrupt the code (and throw na exception or something)?
18:18 AvianFlu joined
18:19 <CoverSlide> well if you have an infinite loop, then it never goes to the event handler, so the timeout event would never fire
18:19 hichaelmart joined
18:19 <CoverSlide> the way to fix that is
18:19 <CoverSlide> don't write infinite loops
18:19 ryanrolds_w joined
18:19 <wereHamster> Something like this: http://bespin.cz/~ondras/html/classv8_1_1V8.html#af7d845e6f55eb76085d5ff3601780986
18:20 <wereHamster> browsers have a way to interrupt javascript. So the functionality is there.
18:20 <wereHamster> .. in v8
18:22 halfhalo joined
18:22 <konobi> wereHamster: like a signal handler?
18:23 <CoverSlide> hmm maybe v8 runs on a different thread than the browser
18:23 <wereHamster> konobi: do signals preempt the running code?
18:24 <CoverSlide> if you kill it externally
18:24 <CoverSlide> if you have a while(true) then there's really no way to stop it within code
18:25 <wereHamster> that's quite obvious
18:25 <CoverSlide> i thought that was your question
18:25 wizonesolutions joined
18:26 akasha joined
18:26 jkimbo joined
18:26 <wereHamster> I was thinking along the lines of a special option to have v8 interrupt the execution if it detects that JS is not returning control to the main loop for too long.
18:26 romainneutron joined
18:26 <konobi> wereHamster: yes... certain signals do require preempting
18:28 zmoog joined
18:28 <CIA-1> node: 03isaacs 07v0.9.1-release * re6ce259 10/ (ChangeLog src/node_version.h): 2012.08.28, Version 0.9.1 (Unstable) - http://git.io/arSiHQ
18:29 hichaelmart joined
18:31 duko joined
18:31 <duko> hello I would like to know if there is a common technique for adding html string to a document without adding elements that would not be found in the string
18:32 <CIA-1> node: 03isaacs 07master * re6ce259 10/ (ChangeLog src/node_version.h): 2012.08.28, Version 0.9.1 (Unstable) - http://git.io/arSiHQ
18:32 <CIA-1> node: 03isaacs 07master * r1550dda 10/ (ChangeLog src/node_version.h): Merge branch 'v0.9.1-release' - http://git.io/nslCZw
18:32 <CIA-1> node: 03isaacs 07master * r459717e 10/ src/node_version.h : Now working on 0.9.2 - http://git.io/zZH1Wg
18:34 recycle joined
18:34 <CIA-1> node: 03isaacs 07v0.8 * r0ef1e5b 10/ doc/blog/release/v0.9.1.md : blog: Post for 0.9.1 release - http://git.io/FyoW0w
18:35 much4 joined
18:35 <CoverSlide> duko: wtf?
18:36 Frippe joined
18:36 Frippe joined
18:36 jmpe joined
18:37 <CoverSlide> you have betrayed shiva!
18:37 ccowan joined
18:37 vervain joined
18:39 joshfinnie joined
18:39 andrewffff joined
18:40 joshontheweb joined
18:41 subbyyy joined
18:43 Destos joined
18:43 beachdog joined
18:44 maxani joined
18:44 <duko> i know that i could use elem.innerHTML = '<div></div>'; parentElem.appendChild(elem);
18:45 <duko> but I'm looking for something else...
18:48 josh-k joined
18:49 vincentmac joined
18:49 _Renegade joined
18:52 Frippe joined
18:52 Frippe joined
18:52 ecthiender joined
18:53 hichaelmart joined
18:53 yawnt joined
18:54 cyprox joined
18:56 trave joined
18:57 <duko> var elem = document.createElement('div'),
18:57 <duko> childElem;
18:57 <duko> elem.innerHTML = html;
18:57 <duko> childElem = kuaDOM.getFirstChildElem(elem);
18:57 <duko> elem.removeChild(childElem);
18:57 <duko> return childElem;
18:57 <duko> that is my solution
18:58 <duko> where kuaDOM gets the first child that is nodeType 1
18:58 <mscdex> wrong channel?
18:59 cyprox left
18:59 timoxley joined
18:59 recycle joined
19:00 dubiago joined
19:00 <duko> maybe it is
19:01 <duko> my nick isn't registred so i can't go to #javascript
19:01 <duko> i should register my nick but i always forget my password
19:02 nicholasf joined
19:03 Ards joined
19:03 <Ards> hey guys
19:03 <Ards> I'm getting the following error using express 3 and express-validation : TypeError: Object #<ServerResponse> has no method 'local'
19:04 <Ards> express-form sorry
19:04 <Ards> how can I validate form with node?
19:06 taky joined
19:07 broofa joined
19:07 Wa joined
19:08 WillMarshall joined
19:08 wolfeidau joined
19:09 jkimbo joined
19:10 ferlores joined
19:12 Ziggy` joined
19:13 Sorella joined
19:14 timeturner joined
19:14 harthur joined
19:14 nat3 joined
19:15 freewil joined
19:17 <samholmes> Does anyone know whether stripe.com has the ability to payout money to customers?
19:19 codelahoma joined
19:19 <crassus> samholmes: that's probably a better question for #stripe
19:19 <livinded> samholmes: yes
19:19 <crassus> samholmes: and there is a way to do that...but it involves a little hackery
19:20 <samholmes> crassus: What hackery?
19:20 <konobi> what's the EU equivalent of stripe?
19:20 recycle joined
19:20 <livinded> breaking into their bank account and checking?
19:20 <crassus> you have to create and then obtain an API key for each customer...this method is outlined in their docs somewhere, but it's being phased out
19:20 <crassus> as they're introducing a new OAuth method that's in beta right now
19:21 <livinded> I hope it's oauth2
19:21 taky joined
19:21 dgathright joined
19:22 stisti joined
19:23 saschagehlich joined
19:24 dan64 joined
19:25 zackiv31 joined
19:25 mechanate joined
19:26 <crassus> yep, it is livinded.
19:26 ben_alman joined
19:26 <yawnt> konobi: i wish there was one
19:27 <yawnt> we, poor fellas from EU have to stick w/ paypal
19:27 jergason joined
19:27 <yawnt> gocardless shoul expand from UK in the next few months though
19:27 matehat joined
19:29 bakadesu_ joined
19:31 austincheney joined
19:31 Saps joined
19:33 <konobi> there was one that someone mentioned a while ago
19:33 joshwnj joined
19:34 cleos_frey joined
19:35 constantx joined
19:36 dgathright_ joined
19:36 <konobi> spreedly?
19:37 <yawnt> there's recurly
19:38 <yawnt> but it costs too much for me :(
19:38 joshgillies joined
19:38 <konobi> or maybe it was zooz
19:39 <yawnt> i need recurring billings
19:39 <yawnt> not mobile apps :(
19:39 justicefries joined
19:41 <crassus> yawnt: fwiw, you could go with something like auth.net + recurly for recurring billing in the UK right now...
19:41 <yawnt> i'm in italy
19:41 recycle joined
19:41 <yawnt> no UK :(
19:41 <crassus> hmm, actually I'm not so sure about auth.net in the UK, sorry
19:41 <yawnt> but recurly, as i said, it's too expensive
19:42 <crassus> apologies, I just read the scrollback
19:42 <yawnt> something around 69/mo if im right
19:42 xenol joined
19:42 <yawnt> no problem, thanks for helping anyway :)
19:44 halfhalo joined
19:45 <konobi> yawnt: zooz works in the browser too
19:45 <konobi> but no idea if it supports recurring
19:46 <yawnt> will look
19:46 <yawnt> thx
19:46 ccowan joined
19:46 generik joined
19:46 YoY joined
19:47 austinbv joined
19:47 taky joined
19:48 <konobi> yawnt: sounds like it does
19:48 githogori joined
19:48 <yawnt> sweet! does it work in EU?
19:50 <konobi> "ZooZ does remember card details for recurrent payments, and it remembers it cross app per device. "
19:50 <konobi> yup
19:51 wingy joined
19:52 Saps joined
19:53 jjbohn joined
19:53 wizonesolutions joined
19:56 jimubao joined
19:56 daffl joined
19:57 trave joined
19:57 jimubao joined
19:57 Emmanuel` joined
19:57 timoxley joined
19:58 daffl joined
19:58 techthumb joined
19:58 Druide_ joined
20:00 jw___ joined
20:03 tchopper joined
20:05 estebistec joined
20:08 wizonesolutions joined
20:09 recycle joined
20:09 beachdog_ joined
20:11 Sapr0 joined
20:11 karega joined
20:14 hichaelmart joined
20:15 epa_ joined
20:18 jack12 joined
20:18 jrajav joined
20:19 <luckysmack> if I wanted to start an app that had offline capabilities, where could I start looking? I think couchdb is a great fit for its replication. but im not sure what else I would need to do or look into to be able to run the web app offline?
20:19 <luckysmack> similar to how c9.io has an 'availble offline' button.
20:20 jack12 left
20:23 kuya joined
20:23 <jrajav> luckysmack: http://diveintohtml5.info/offline.html http://www.sitepoint.com/offline-web-application-tutorial/
20:24 <luckysmack> yea i wondered if i would do anything with the html 5 cache manifests. but wasnt sure.
20:24 wizonesolutions joined
20:25 <jrajav> There are boatloads of JS libs abstracting local storage
20:25 ramitos joined
20:25 <luckysmack> is there any way to save db data locally?
20:25 <jrajav> Get that and the cache manifest and you're golden
20:25 <jrajav> Theoretically
20:25 <luckysmack> yea basic storage seems easy enough
20:25 <luckysmack> but i want the user to still have functionality while offline, and when online it syncs with the master db
20:25 <luckysmack> hence the reason for looking at couchdb
20:26 <livinded> local storage is hard coded to a max of like 5 megs right?
20:26 <luckysmack> not sure
20:27 <jrajav> luckysmack: Sure you already thought of this, but the master db is served from the same domain right?
20:27 <luckysmack> the master can be anywhere
20:27 <luckysmack> say i have the main site at domain.com
20:27 <jrajav> Hm. Then you'll have trouble with XSS
20:27 <luckysmack> when you use the site normally, it saves to that db
20:28 <jrajav> Wait no you won't; you control the domain and server, right?
20:28 <jrajav> There's a header you can set to "disable" XSS now
20:28 <luckysmack> but when offline it syncs to the local db, and when online, couch handles the syncing back to the main server. so no xss
20:28 <luckysmack> yes i would
20:28 <luckysmack> everything would be synced to my server.
20:28 <luckysmack> my issue, is the local database
20:29 <jrajav> Well. If you serve up the page that's intended to run locally from domain a.com
20:29 Lee- joined
20:29 <jrajav> And the db is accessed via b.com
20:29 <jrajav> It's XSS
20:29 <luckysmack> meteor/derby use mongo. but arent really offline apps.
20:29 YoY joined
20:29 Saps joined
20:29 <luckysmack> but its not the browser sending the data to the server, when offline, its couchdb sending the data.
20:30 <jrajav> Err?
20:30 <jrajav> If you want local storage, the browser's going to have to send and receive data
20:31 <luckysmack> sure it sends it to an api over http to the host. but it would be couch that handles the sync
20:31 admc joined
20:31 joshwnj` joined
20:32 <luckysmack> meteor has something similar with mongodb. its just not offline. it uses mini-mongo. it makes all your changes locally to a mini mongo db. then the db syncs the data (through the meteor framrwork)
20:32 cpetzold joined
20:32 <jrajav> Regardless of what you use, if it syncs local with remote data, and the local page and the remote db are on different domains, you're going to run into XSS
20:33 <jrajav> This is browser-level, has nothing to do with what DB or library you're using
20:33 <luckysmack> locally it would still be on our domain. just in offline mode
20:33 <jrajav> But like I said, there's a header you can set to get around XSS
20:35 <luckysmack> ok so assuming im using that header option, i was hoping someone could give some ideas about how I could use an online node site, offline as well with a local couchdb instance.
20:36 <jrajav> Finally found it
20:36 <jrajav> http://www.html5rocks.com/en/tutorials/file/xhr2/#toc-cors
20:36 <jrajav> tl;dr: Access-Control-Allow-Origin header
20:36 <CIA-1> node: 03Ben Noordhuis 07master * re4cef1a 10/ (doc/api/assert.markdown lib/assert.js): doc: update assert.doesNotThrow() docs - http://git.io/_5jALQ
20:37 <luckysmack> im thinking i would have to put together some kind of package the user can install, that would have couchdb in it. the db's sync normally. if there is no local, it goes straight to the remote. if there is a local instance (they installed the app) then it saves there and couch syncs it.
20:37 shiawuen joined
20:37 thomashunter joined
20:37 <luckysmack> jrajav: sweet. thanks that will help. much appreciated.
20:37 <jrajav> Good luck
20:38 ForceBlast joined
20:38 wizonesolutions joined
20:40 <austincheney> i have downloaded and installed node on windows and notice that it comes with a handy dandy terminal window
20:40 <austincheney> what can i do with that terminal window?
20:40 <austincheney> is there some documentation on accepted commands?
20:41 <jrajav> Step 1
20:41 <jrajav> Install mysy
20:41 <jrajav> *msys
20:42 <jrajav> Step 2 …….. Step 3: Profit!
20:42 etcetera joined
20:44 maxani joined
20:45 jryans joined
20:47 Saps joined
20:47 Aria joined
20:48 timeturner_ joined
20:50 jwulf joined
20:52 Domenic__ joined
20:53 willwhite joined
20:54 timoxley joined
20:55 tonymilne joined
20:56 taky1 joined
20:57 Sevki joined
20:57 admc joined
20:58 addisonj joined
20:59 YoY joined
21:00 timmywil joined
21:00 maletor joined
21:01 jscheel joined
21:02 vvgomes joined
21:02 etcetera joined
21:02 TehShrike joined
21:03 sirkitree joined
21:04 YoY joined
21:06 admc joined
21:06 briancray joined
21:06 dgathright joined
21:06 maletor joined
21:08 jimubao joined
21:10 stisti joined
21:12 josh-k joined
21:13 etcetera joined
21:13 tzmartin joined
21:14 austinbv joined
21:15 Destos joined
21:15 cpsubrian joined
21:15 nat3 joined
21:15 intripoon_ joined
21:16 astropirate joined
21:17 neoesque joined
21:17 timeturn joined
21:17 choo joined
21:18 joshthecoder joined
21:18 willwhite joined
21:21 tn joined
21:21 igl1 joined
21:22 estebistec joined
21:22 addisonj joined
21:23 sainttex joined
21:28 <austincheney> how do i start a node.js service on windows?
21:28 <austincheney> node.js is already installed
21:28 timoxley joined
21:29 langworthy joined
21:29 <drudge> austincheney node.exe yourapp.js
21:29 <austincheney> thank you drudge
21:30 brianrountree joined
21:30 <konobi> unless you're talking about the actual win32 services melarky
21:31 <austincheney> i am attempting this but it keeps returning "..." and then fails to accept commands
21:33 <mscdex> austincheney: you're in the REPL then
21:34 Sevki_ joined
21:34 WillMarshall joined
21:34 perezd joined
21:34 nat3 joined
21:36 <astropirate> Replicators are programed in javascript :S http://www.youtube.com/watch?v=ez5XSc8AMKQ
21:36 knkumar joined
21:37 taky joined
21:37 broofa joined
21:38 taky joined
21:38 Axsuul joined
21:40 kofno joined
21:41 ccowan joined
21:41 unchi joined
21:41 trave joined
21:42 tphummel joined
21:42 saikat joined
21:43 regality joined
21:45 CatalinH- joined
21:46 NodeX joined
21:46 sainttex joined
21:47 julienresaas joined
21:47 sreeix joined
21:47 blessYAHU joined
21:47 imarcusthis joined
21:48 rwaldron joined
21:48 wolftankk joined
21:50 sainttex joined
21:51 vvgomes joined
21:53 jeswin joined
21:57 thatguydan joined
21:57 taky left
22:00 langworthy joined
22:00 elguapo99 joined
22:04 austinbv joined
22:04 addisonj joined
22:04 ^_^ joined
22:05 a_suenami joined
22:05 mandric joined
22:05 Vennril joined
22:06 ^_^3 joined
22:08 <blessYAHU> Anyone know of a XMPP module that works on windows and Linux?
22:08 efreese joined
22:10 mxweas joined
22:10 gregmore_ joined
22:12 gavin_huang joined
22:13 shadowshell joined
22:14 kmiyashiro joined
22:14 mattgifford joined
22:15 disnet joined
22:15 therealkoopa joined
22:15 yhpark joined
22:16 admc joined
22:16 jacobolus joined
22:16 broofa joined
22:17 ramitos joined
22:18 apraxas joined
22:18 <Aria> They all should. Nothing OS-specific about xmpp.
22:19 abraxas joined
22:21 drudge_ joined
22:23 Wa joined
22:23 tnorris joined
22:24 taky joined
22:24 hipsters_ joined
22:25 avalanche123 joined
22:26 timoxley joined
22:27 pringlescan joined
22:28 addisonj joined
22:28 dshaw_ joined
22:28 austincheney_ joined
22:29 Sapr0 joined
22:31 <CIA-1> libuv: 03Shigeki Ohtsu 07master * r09faee4 10/ test/test-spawn.c : windows: fix environment_creation test - http://git.io/xAmJ_Q
22:31 timeturner joined
22:32 dnolen joined
22:33 fritzy joined
22:36 ParadoxQuine joined
22:38 PhoSor joined
22:40 octane-- joined
22:41 vanb777 joined
22:41 nathan7 joined
22:43 pringlescan joined
22:43 <konobi> imarcusthis: moo?
22:44 <rvagg> people! I bring good news! edit your README.md files and watch them rendered as you type: https://github.com/rvagg/morkdown (made with appjs)
22:45 maxani joined
22:45 kimsj joined
22:46 tlync joined
22:47 dthompso99 joined
22:49 jacobolus joined
22:49 ngoldman joined
22:50 jeswin_ joined
22:51 jryans joined
22:52 austinbv joined
22:54 timoxley joined
22:55 therealkoopa joined
22:55 estebistec joined
22:55 epa_ joined
22:55 joshontheweb joined
22:55 CannedCorn joined
22:57 skmpy joined
22:59 stisti joined
23:01 cgfuh joined
23:01 Druide_ joined
23:03 jeswin joined
23:06 thinkt4nk joined
23:10 Emmanuel` joined
23:12 cleos_frey joined
23:16 rcs joined
23:16 rcs joined
23:17 PhoSor joined
23:20 brianc joined
23:20 hmm___ joined
23:23 timoxley joined
23:24 dtrejo joined
23:26 mappum joined
23:30 jimubao_ joined
23:30 austinbv joined
23:30 codepal joined
23:31 Hebo joined
23:31 __class__ joined
23:31 yyfrankyy joined
23:32 halfhalo joined
23:35 Sri19 joined
23:36 vanb777 joined
23:36 wizonesolutions joined
23:39 mihamina1 joined
23:39 jergason joined
23:40 Sapr0 joined
23:48 mikefrey joined
23:48 petschm_ joined
23:48 munichlinux joined
23:49 mihamina joined
23:51 satyr joined
23:51 jacobolus joined
23:52 jacobolus joined
23:52 avalanche123 joined
23:52 Draggor joined
23:53 MacDiva joined
23:53 techthumb joined
23:54 appinsanity-mike joined
23:54 skmpy left
23:56 chjj joined
23:56 kauschovar joined
23:57 yhpark_ joined
23:57 booguie joined
23:59 bernaman joined
23:59 bernaman left