<   October 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:00 <pyrotechnick> is there one with the ratio you were talking about?
00:00 <niggler> WTI is the futures contract, RB is rbob
00:01 <whomp> chilts, since i only need the session feature from connect, i think i'll just go with memcache
00:01 <niggler> EIA puts out reports too
00:01 choo joined
00:02 <niggler> http://www.eia.gov/forecasts/steo/pdf/uncertainty.pdf
00:02 duc1199 joined
00:02 <niggler> take a look a the RBOB crack spread
00:02 <niggler> crack spread refers to the price difference between the raw and the derivatives
00:03 <niggler> *crude oil = raw, crap like heating oil and gasoline = derivatives
00:04 <niggler> i dont trade the commodity directly but do short-term trades on various companies
00:04 <Benvie> TooTallNate: initial ref-bitfield work https://github.com/Benvie/ref-bitfield
00:05 <tnorris> what's the best way to stay in touch with the future of node? like, is there a roadmap?
00:06 Sly_ joined
00:07 <pyrotechnick> tnorris: take some tryptamines and ask the elves
00:07 astropirate joined
00:08 <pyrotechnick> niggler: so what are they trying to do? knock out the last remaining independent suppliers?
00:08 <tnorris> pyrotechnick: sorry, my adhd meds are wearing off. what?
00:08 <niggler> no one outside of california really cares about cali's prices
00:08 <pyrotechnick> tnorris: as far as i'm aware there's no roadmap and nothing to be added for 1.0, it's all about stability and performance now, but check the wiki on github
00:08 ansdev1 joined
00:09 aboudreault joined
00:09 eugeneware joined
00:10 <niggler> any way to add to the wishlist
00:10 <pyrotechnick> niggler: mailing list
00:11 mandric joined
00:11 <tnorris> pyrotechnick: I was looking at the pull requests, and noticed in the following that isaacs states something about pipes and deprication in v0.9 (https://github.com/joyent/node/pull/3785)
00:11 <niggler> deprecation
00:11 <tnorris> like I said, meds are wearing off.
00:12 <aboudreault> Hi. I'm looking to write a small text parser...... is there anything I should take a look to to create a kind a lexer ?
00:12 <niggler> jison
00:12 WillMarshall joined
00:12 <aboudreault> niggler, thanks.
00:12 <niggler> generates lexers using lex/yacc syntax
00:13 <aboudreault> that's exactly what I need.
00:13 <niggler> thought you should note that the generated parsers aren't reentrant
00:15 jxson_ joined
00:16 mandric joined
00:16 mdedetrich joined
00:16 Destos joined
00:17 <mdedetrich> hi everybody!
00:18 <pyrotechnick> what
00:18 <pyrotechnick> is grillin grease tiger
00:19 tgriesser joined
00:20 <mdedetrich> covering a tiger in grease and then grilling it?
00:21 recycle joined
00:23 MrNibbles joined
00:23 dx4100 joined
00:26 yug_ joined
00:26 Circlepuller joined
00:28 mandric joined
00:29 bubbles10101 joined
00:30 stephank joined
00:31 zyzzyva joined
00:31 halfhalo joined
00:32 MacDiva joined
00:33 <yug_> Hi, I have a client server app that currently running on nodejitsu. I would like the have x amount of computers that all of them has specific version of chrome (beta or canary). and on they same time i want all of the computers to enter the url of my website and stay on for an hour (or so)
00:34 <yug_> and cant find a way to do so
00:34 esundahl joined
00:35 <yug_> anyone got an idea?
00:35 EhevuTov joined
00:35 timeturn joined
00:35 jasonkuhrt joined
00:36 <EhevuTov> anyone have an example of piping to an event-stream? I can only get mine to work if I pass an argument to event-stream of the stream I want to read from, rather than pipe to
00:36 ang3lfir3 joined
00:37 dzajdband joined
00:38 thomashunter joined
00:38 <EhevuTov> for instance I can do this: event-stream(process.stdin).pipe(process.stdout)
00:38 <EhevuTov> but I want to do something like this: process.stdin.pipe(event-stream).pipe(process.stdout)
00:39 techthumb joined
00:39 erichynds joined
00:39 <yug_> Hi, I have a client server app that currently running on nodejitsu. I would like the have x amount of computers that all of them has specific version of chrome (beta or canary). and on they same time i want all of the computers to enter the url of my website and stay on for an hour (or so)
00:39 <yug_> anyone got an idea?
00:40 dyer joined
00:40 <EhevuTov> yug, I don't understand. Could you rephrase that?
00:40 jmar777 joined
00:41 chayin joined
00:41 <zyzzyva> if you want to stress test yug_ you can use phantomjs
00:41 <zyzzyva> or ab
00:41 <yug_> no stress test
00:41 derpops joined
00:41 <yug_> i want real live computers
00:41 <yug_> from around the world
00:41 <yug_> enter a url
00:41 <zyzzyva> that sounds like something for mturk
00:42 <yug_> and stay there for an hour
00:42 <yug_> yes. but i need to to it often and scripted preferred
00:43 clone1018 joined
00:43 <zyzzyva> you can write a script
00:43 <zyzzyva> or you can go to india
00:43 <zyzzyva> im sure there are boatloads of indians itching to go to a website
00:44 pneftali joined
00:44 <mdedetrich> that came off as awfully racist
00:44 Circlepuller joined
00:44 <yug_> i can write a script
00:45 <yug_> but where shall i run it?
00:45 <zyzzyva> ive been emailed by 17 indian freelance developers, and at this stage im convinced they have a set of introductory emails that they rotate between
00:45 <zyzzyva> and some really excellent buzzphrases
00:45 <mdedetrich> yug_: in a blender
00:45 <yug_> i need an environment of computers that is built for that need
00:45 <mdedetrich> zyzzyva: that doesn't surprise me
00:45 <timeturner> haha
00:46 harrisonm joined
00:46 <yug_> and then istall on all of them chrome beta
00:46 <ang3lfir3> zyzzyva, having worked with a great deal of them..... i find your presumption .... true ...
00:46 <yug_> and only then run my script
00:46 <zyzzyva> so you describe the problem, and the response is always "Just last month I had shared a desire to ..."
00:47 <ang3lfir3> also .... "do the needful" doesn't mean what you think it means ...
00:47 <timeturner> lol
00:47 <mdedetrich> this is starting to sound like conversations which chicks
00:47 <mdedetrich> I have in nightclubs
00:47 <timeturner> lol this is funny
00:47 <mdedetrich> "I shared the desire to"
00:47 <zyzzyva> as a whole ive had terrible experiences with international labor
00:47 <* timeturner> grabs popcorn
00:47 <mdedetrich> " do the needful"
00:47 <mdedetrich> hmm I may get some ideas here
00:47 <zyzzyva> "Your requirements, my skillset and our interests are neatly aligned;"
00:48 <mdedetrich> don't get that one at nightclubs
00:48 <timeturner> zyzzyva: care to share a gist of one of those emails lol
00:48 guest-0000 joined
00:48 <ang3lfir3> mdedetrich, but you wish you di
00:48 <ang3lfir3> d
00:48 <timeturner> :P
00:48 <mdedetrich> Id prefer if our body parts were neatly aligned
00:49 <guest-0000> Hi. I'm having problems testing node.js from an internal IP.
00:49 <mdedetrich> tbh, I wouldn't want to date a chick that was interested in coding and whatnot
00:49 <mdedetrich> or if that was her only interest
00:49 Emmanuel` joined
00:49 <IP_Prob> Does anyone have a moment to try and help me out?
00:50 <zyzzyva> http://pastebin.com/SCPqLQ2s
00:50 <mdedetrich> IP_Prob: do you have any sugar
00:50 Me1000 joined
00:50 <timeturner> def don't want to date a girl that talks about coding
00:50 BMF joined
00:50 <IP_Prob> At home, yes.
00:50 <zyzzyva> this is the only one in which the person didnt use his or her name in the email
00:50 slloyd joined
00:51 <mdedetrich> sounds like coders from india will become the next financiers in nigeria
00:51 <timeturner> lolz
00:51 <timeturner> this is hilarious
00:51 <mdedetrich> I wouldn't hire an indian coder with a ten foot pole tbh
00:51 <timeturner> the sad part is that is exactly how they talk
00:52 <zyzzyva> im told the vietnamese arent much better
00:52 <timeturner> you would think that they would at least try to correct their grammer when typing out a letter but nope
00:52 <zyzzyva> grammar
00:52 <zyzzyva> im convinced they typed these emails out a long time ago
00:53 <zyzzyva> i really wish there were a more vibrant market in the US for freelance work
00:53 <timeturner> actually, I'm not sure how to even categorize the mistakes in this email haha
00:53 mdedetrich joined
00:53 sheenobu joined
00:53 <mdedetrich> silly macs
00:53 <mdedetrich> sleeping when I close the lid
00:54 <zyzzyva> at least it isnt sporadically shutting down mdedetrich
00:54 <zyzzyva> my mid 2010 macbook pro started doing that
00:54 estebistec joined
00:54 <zyzzyva> then they had to replace the logic board :/
00:54 <mdedetrich> maybe you should stop hitting it
00:54 <timeturner> why do laptops die :(
00:54 <mdedetrich> aliens, thats why
00:54 <timeturner> I'm using one that's 3 years old. last time I restarted it was about 2 weeks ago
00:54 bradgignac joined
00:55 <zyzzyva> to be fair, the applecare people were impressed with the fact that I didnt beat it up
00:55 <mdedetrich> understandable
00:55 larryapplegate joined
00:55 <mdedetrich> I feel like beating apple up, but thats due to more political reasons
00:55 <zyzzyva> the products have degraded
00:55 <mdedetrich> only reason I have a mac is its the only *nix OS that runs photoshop
00:56 <mdedetrich> and I'm a web developer
00:56 <mdedetrich> so yeah....
00:56 eugeneware joined
00:56 <timeturner> using putty get's painful after a point
00:56 <timeturner> putty forever*
00:56 <zyzzyva> linux desktops arent there yet
00:56 <zyzzyva> windows is godawful
00:56 <mdedetrich> if only windows had a decent shell/posix environment
00:56 <mdedetrich> *can only dream*
00:56 c4milo joined
00:56 <mdedetrich> windows is only awful for no developers that aren't glued to GUI's
00:56 <zyzzyva> windows 8 is terrible
00:57 <mdedetrich> eh I don't think its terrible
00:57 <zyzzyva> the metro is ... icky
00:57 <timeturner> I fail to understand why they're using html5 and js in metro
00:57 <mdedetrich> windows has far more terrible things than metro
00:57 <mdedetrich> timeturner: thats blatantly obvious
00:57 <mdedetrich> security issues
00:57 <timeturner> I mean aren't these client side technologies
00:57 <zyzzyva> i use windows for turbotax :/
00:57 <mdedetrich> reducing barrier to entry
00:57 <zyzzyva> and turbotax only -- office 2011 finally brought back VBA
00:58 <timeturner> that's dumb though
00:58 <timeturner> it should all be C or C++
00:58 <mdedetrich> why?
00:58 <mdedetrich> thats even more retarded
00:58 <mdedetrich> do you know how difficult it is to code GUI apps in C/C++?
00:58 <mdedetrich> in terms of development time
00:58 <zyzzyva> its about frameworks mdedetrich
00:58 <timeturner> yeah for the coders it sucks
00:58 <mdedetrich> no
00:58 <timeturner> but I mean for performance
00:58 <mdedetrich> the languages
00:58 maletor joined
00:58 <mdedetrich> require you to do memory management
00:59 <mdedetrich> and C++ as a language is terrible anyways
00:59 <zyzzyva> memory management is not something to be abhorred
00:59 <zyzzyva> and i agree that C++ is terrible
00:59 <mdedetrich> it adds to development time
00:59 <zyzzyva> C++ is like typescript in many ways
00:59 <NigglerBot> fuck typescript: it breaks javascript default behaviors like parseInt(0.3)
00:59 <zyzzyva> both are misguided
00:59 <timeturner> nigglerbot haha
00:59 <mdedetrich> unless you are writing something like a kernel
00:59 <mdedetrich> you really don't need memory management
00:59 <timeturner> typescript
00:59 <zyzzyva> timeturner: its set up to do it once a minute
00:59 <timeturner> ah
00:59 <zyzzyva> once per minute per keyword
01:00 <zyzzyva> i mean, take java
01:00 <zyzzyva> java has quite a few issues
01:00 <NigglerBot> fuck typescript: the generated javascript is oftentimes *much* larger than the hand-coded version, sometimes by a factor of 10
01:00 <mdedetrich> zyzzyva: personali scala is the best language
01:00 <timeturner> java...I hate java
01:00 <zyzzyva> ooh that's a bug it should have said something about java
01:00 <mdedetrich> zyzzyva: I have used
01:00 <EhevuTov> MS trying to leverage a new language to stifle the openness and acceptance of another?
01:00 necolas joined
01:00 <mdedetrich> oh here it comes
01:00 <mdedetrich> with the MS hate
01:00 <timeturner> honestly, I'm not sure what gosling was thinking
01:01 NigglerBot joined
01:01 lrvick joined
01:01 <harrisonm> re: NigglerBot: that was fast
01:01 <mdedetrich> tbd, typescript is the only JS translator that adds static typing
01:01 <NigglerBot> fuck typescript: it breaks javascript default behaviors like parseInt(0.3)
01:01 <mdedetrich> which is more of what can be said
01:01 <mdedetrich> than things like CS
01:01 <zyzzyva> java has many issues
01:01 <NigglerBot> fuck java: did you know that more than a million man-hours were wasted typing 'public static void main' on hello world code segments?
01:01 <zyzzyva> including a poorly designed graphical api
01:01 <zyzzyva> AWT
01:01 <zyzzyva> swing
01:01 <zyzzyva> im sure there's a term for it
01:02 <EhevuTov> lol
01:02 <zyzzyva> like object oriented hell
01:02 <mdedetrich> zyzzyva: its not OO hell
01:02 <mdedetrich> the problem with java
01:02 <mdedetrich> is it treats everything as a class
01:02 <mdedetrich> that has nothing to do with OO
01:02 <mdedetrich> smalltalk/ruby are pure OO languages
01:02 <zyzzyva> apparently is that more than a million man-hours were wasted typing 'public static void main'
01:02 <mdedetrich> and you don't see them being that verbose
01:02 <zyzzyva> no its just about verbosity
01:02 luigy joined
01:03 <zyzzyva> you have issues with terse languages like coffeescript
01:03 <mdedetrich> well yes, java is verbose
01:03 <NigglerBot> fuck coffeescript: inconsistent action-at-a-distance makes reading an exercise in futility.
01:03 <NigglerBot> fuck java: did you know that more than a million man-hours were wasted typing 'public static void main' on hello world code segments?
01:03 <mdedetrich> and its verbose because it forces you to treat absolutely everything
01:03 <mdedetrich> as a class
01:03 <mdedetrich> even basic data structures
01:03 <mdedetrich> which is retarded
01:03 IrishGringo joined
01:03 <zyzzyva> how about smalltalk's treatment of literals?
01:03 AndrewClarkson joined
01:04 <mdedetrich> smalltalk is the same as ruby in that respect
01:04 <mdedetrich> everything is an object
01:04 eugeneware joined
01:04 <mdedetrich> scala is the same
01:04 <mdedetrich> literals are basically objects
01:04 <mdedetrich> like you can do 3.toString()
01:04 <mdedetrich> in scala
01:04 chovy left
01:04 <zyzzyva> scala is a strange beast
01:05 <mdedetrich> scala is fuken awsome
01:05 <mdedetrich> best language by far that I have used
01:05 <mdedetrich> in terms of expressiveness and productivity
01:05 <zyzzyva> explain how expressiveness is improved
01:05 <mdedetrich> and scalability
01:05 <mdedetrich> it has functional aspects
01:06 <zyzzyva> scala doesnt replace the underlying java environment
01:06 <NigglerBot> fuck java: it has the user friendliness of a swift kick to the balls, the brevity of a prattler, and the portability of a hole in the ground.
01:06 <mdedetrich> like functions are objects (just like JS)
01:06 <mdedetrich> the underlying java environment is just a VM
01:06 <mdedetrich> that has little to do with the actual language
01:06 <zyzzyva> my point is that
01:06 <zyzzyva> if you dont change the underlying VM you are innovating on syntax
01:06 chris2bislr joined
01:06 <EhevuTov> what happen to actionscript MS?
01:06 <zyzzyva> which doesnt change the expressiveness
01:06 <mdedetrich> well in scala you can do things like 1..3.map(_ + 5)
01:07 cushman joined
01:07 <mdedetrich> expressiveness is just to do with syntax
01:07 <mdedetrich> and language structure
01:07 <mdedetrich> its nothing to do with the VM
01:07 <zyzzyva> no thats not true
01:07 <zyzzyva> expressiveness refers to what you can express in the language
01:07 <mdedetrich> scala that targets LLVM is just as expressive as Scala that targets Java
01:07 <zyzzyva> the strict definition doesnt care about brevity
01:07 <mdedetrich> or one that compiles down to assembly
01:07 <mdedetrich> keyword there is LANGUAGE
01:08 <mdedetrich> not target environment
01:08 <zyzzyva> yes or no: can you implement the same thing in java
01:09 <mdedetrich> its a turing complete language
01:09 <mdedetrich> so I don't know what the point of that question is
01:09 jpdery joined
01:09 jerrysv joined
01:09 <zyzzyva> you are somehow saying that scala's functional expressions make it more expressive
01:10 <zyzzyva> more concise? yes. more expressive? no
01:10 <mdedetrich> I think you are using an unusual definition of the word expressive
01:10 <mdedetrich> at least in the context I am using it
01:10 <zyzzyva> what does wiki have to say about it?
01:10 <mdedetrich> expressive by definition has to do with language
01:10 pandeiro joined
01:11 <mdedetrich> and not who speaks it, or who listens to it
01:11 <zyzzyva> "In computer science, the expressive power (also called expressiveness or expressivity) of a language is the breadth of ideas that can be represented and communicated in that language. "
01:11 <mdedetrich> (or what VM runs it)
01:11 <mdedetrich> yes
01:11 holzp joined
01:11 <mdedetrich> which has absolutely nothing
01:11 <mdedetrich> to do with the VM
01:11 <zyzzyva> it has nothing to do with the conciseness of a particular expression either
01:11 <zyzzyva> you can represent the same concepts in both
01:11 <mdedetrich> its how many ideas can easily be expressed in the language
01:11 <mdedetrich> like scala is expressive
01:12 <mdedetrich> because it it allows you to communicate functional paradigms
01:12 <mdedetrich> incredibly well
01:12 <mdedetrich> java can't do that
01:12 <zyzzyva> that's one particular style
01:12 <mdedetrich> hence scala is more expressive then java
01:12 <mdedetrich> styles are ideas
01:12 <zyzzyva> as a whole it is not
01:12 <mdedetrich> going back to your definition
01:12 <zyzzyva> you are assuming that functional is the only way to go
01:12 sunilthaha joined
01:12 <mdedetrich> no Im not
01:12 <zyzzyva> and in a world where the only model for programming is functional
01:12 <mdedetrich> scala is a hybrid language
01:13 <mdedetrich> the point is
01:13 <mdedetrich> scala lets you express many more ideas clearly
01:13 <zyzzyva> and where the metric of a language is the affinity for functional programming style
01:13 <mdedetrich> than java
01:13 <zyzzyva> if we are in that world, then yes scala is more expressive
01:13 <mdedetrich> it doesn't have to be functional
01:13 <mdedetrich> there are many things
01:13 <mdedetrich> it does
01:13 <mdedetrich> which java does not
01:13 <mdedetrich> in terms of expressing ideas
01:13 <* holzp> is afraid to jump in with a noob question
01:13 <mdedetrich> as per your definition
01:13 <mdedetrich> of expressive
01:13 <zyzzyva> your map example is certainly not one of them
01:13 <zyzzyva> sup holzp
01:13 <holzp> heya, continue I can wait :)
01:14 <mdedetrich> zyzzyva: thats because you are making a stramwn
01:14 <mdedetrich> and twisting my point
01:14 <mdedetrich> and it is an example
01:14 <zyzzyva> nope we disagree on the definition of expressiveness
01:14 intripoon_ joined
01:14 <zyzzyva> and my definition seems to align with conventional thought (see wikipedia)
01:14 <mdedetrich> I want to express the concept creating a continuation of elements and adding 5 to them
01:14 <mdedetrich> you misunderstand what wikipedia is saying
01:14 <mdedetrich> in java
01:15 <mdedetrich> I have to make a for loop
01:15 <mdedetrich> and do iteration
01:15 <mdedetrich> doing that means I hide the original intention, and I'm not communicating the idea properly
01:15 <mdedetrich> doing 1..5 means I am going from one to 5
01:15 <zyzzyva> java has a foreach
01:15 kaspertidemann joined
01:15 <mdedetrich> yes, which doesn't communicate things as clearly
01:16 <mdedetrich> so its less expressive
01:16 brooss joined
01:16 <mdedetrich> there is no reason to 'iterate'
01:16 <mdedetrich> iterating is a concept that machines do, its not something that humans have to do
01:16 <mdedetrich> when dealing with language
01:16 <zyzzyva> 1..5 is a mental elision
01:16 Destos joined
01:17 <zyzzyva> you are mentally interpolating that its going from 1 to 5
01:17 <zyzzyva> how is that different from range(1,5)
01:17 <mdedetrich> nothing
01:17 <zyzzyva> so next step
01:17 <zyzzyva> nothing in java stops you from writing range
01:17 <zyzzyva> which does that
01:17 <mdedetrich> *facepalms*
01:18 <mdedetrich> expressiveness has nothing god damn to do with what a language can or cannot do
01:18 pboos joined
01:18 <zyzzyva> it has *everything* to do with what it can and can't do
01:18 <mdedetrich> every language that is turing complete
01:18 <zyzzyva> see the definition
01:18 jarek joined
01:18 <mdedetrich> can do god damn anything
01:18 stisti joined
01:18 AvianFlu joined
01:18 <mdedetrich> according to you
01:18 <zyzzyva> "the breadth of ideas that can be represented and communicated in that language"
01:18 <mdedetrich> brainfuck is expressive
01:18 <mdedetrich> COMMUNICATED
01:18 <mdedetrich> FOOL
01:19 <zyzzyva> how do you open a socket
01:19 <zyzzyva> yes its the breadth of ideas
01:19 <mdedetrich> communication has NOTHING to do with what a language ultimately can do
01:19 <mdedetrich> i can tell someone " go make a burger"
01:19 <mdedetrich> that has nothing to do with whether or not a person can actually make burger or not
01:19 <mdedetrich> I am just communicating to him that I want to make him a burger
01:20 <Zak> whats the point of this argument
01:20 <zyzzyva> so why is that more expressive than "for (int i : range(1,5))"
01:20 <mdedetrich> that wasn't the entire problem
01:20 <mdedetrich> try adding 5 to everything in that range
01:20 <mdedetrich> in java
01:20 Sam4242 joined
01:20 <mdedetrich> and returning another range
01:20 <mdedetrich> from that
01:20 <mdedetrich> you have to make a new collection (array or list)
01:20 <mdedetrich> assign a variable
01:20 <holzp> is not expressiveness a combination of brevity and depth of capability, indivisible?
01:20 <mdedetrich> add 5 to that
01:21 <mdedetrich> then finally
01:21 <zyzzyva> so you want range(6,10)
01:21 <mdedetrich> return that variablke
01:21 <mdedetrich> in scala you can just do map
01:21 <mdedetrich> so with my burger example
01:21 <mdedetrich> instead of saying "go make a burger"
01:21 <mdedetrich> java equivalent would be
01:21 <Zak> we really need to ban the discussion of other languages in here
01:22 <mdedetrich> go make a piece of food that contains a bun, is constructed with a piece of meat in between some salad and hand it over to me
01:22 <Zak> unless it's a one-off reference
01:22 <zyzzyva> so you have to do more mental legwork to understand that's happening with map
01:22 <timeturner> the point of this argument is to have an argument
01:22 <Zak> timeturner: that's a side-effect, not the point
01:22 <mdedetrich> map just means "apply something to everything in this collection, return the result"
01:22 <holzp> ok lets argue something more into the node ecosystem...
01:22 <timeturner> so that we can pass the argument to a function an return the conclusion that javascript rules all
01:22 <Zak> a very common side-effect, which this channel suffers too frequently
01:22 <Lorentz> we should talk about cool things you can do with node
01:22 <Zak> ^
01:23 <timeturner> node.js dudes
01:23 <holzp> im starting a node/express project and am agnostic to the rendering engines I can use
01:23 <zyzzyva> mdedetrich: now lets say you want to add 1 to the middle element
01:23 mandric joined
01:23 jdeibele joined
01:23 <* timeturner> /clear
01:23 <holzp> so which should i use?
01:23 <holzp> jade? ejs?
01:23 <holzp> have at it!
01:23 <timeturner> jade dude
01:23 <timeturner> jade rocks
01:23 tgriesser joined
01:23 <zyzzyva> ok im done with the discussion, we'll agree to disagree
01:23 <mdedetrich> well in scala you can val (a,b) = 1..5.split()
01:23 <mdedetrich> a + someelement + b
01:23 <holzp> it must lack something or everyone would use it, why does jade not rock?
01:24 <timeturner> well technically jade does rock
01:24 <mdedetrich> jade is awesome
01:24 <timeturner> because it's a "rock"
01:24 <timeturner> jade doesn't rock, it stones
01:24 <holzp> jade: 2, everything else: 0
01:24 <holzp> nobody wants to speak up for ejs?
01:25 <harrisonm> I just started this stuff
01:25 <harrisonm> I can't really speak for anything but jade
01:25 <harrisonm> or derby/racer
01:25 <mdedetrich> zyzzyva: all I am saying is that you're definition of expressiveness is wrong, if you don't believe me, go to a respected university and ask someone who has doctorate in computer science
01:25 <mdedetrich> or some related field
01:25 <mdedetrich> ill just leave it to that
01:26 Hebo joined
01:26 draginx joined
01:26 draginx joined
01:26 <timeturner> ejs is "eh" js
01:26 <timeturner> but jade is a stone
01:26 <timeturner> precious stone
01:26 <zyzzyva> :) lol
01:26 <Zak> http://en.wikipedia.org/wiki/Expressive_power
01:27 piscisaureus_ joined
01:27 <zyzzyva> mdedetrich: its far more subtle than you realize and id say the same of you
01:27 <mdedetrich> well no, you are completely ignoring the word communication
01:27 Senji joined
01:27 <holzp> jade beats ejs in github fwiw
01:27 <mdedetrich> when you argued the definition of expressive
01:28 <zyzzyva> the key phrase is "breadth of ideas"
01:28 <mdedetrich> no the key phrase
01:28 <mdedetrich> is the whole sentance
01:28 <zyzzyva> the textbook definitions point to breadth of ideas that can be represented
01:28 <mdedetrich> not what part of it suits your argument
01:28 <zyzzyva> regardless of whether its via iteration or map
01:28 <mdedetrich> you can't just cherry pick
01:28 <mdedetrich> stuff out of the definition
01:28 <mdedetrich> to suite your argument
01:28 schredder joined
01:28 <zyzzyva> look at the example
01:28 <zyzzyva> the example isnt about syntax
01:28 <zyzzyva> its about functionality
01:28 <mdedetrich> what example
01:28 <holzp> jade seems to have a lot more support
01:29 rwaldron joined
01:29 <zyzzyva> For example, the Web Ontology Language expression language profile (OWL2 EL) lacks ideas (such as negation) which can be expressed in OWL2 RL (rule language). OWL2 EL may therefore be said to have less expressive power than OWL2 RL.
01:29 <mdedetrich> yes
01:29 <mdedetrich> but you can still do something that equates to negation
01:29 <mdedetrich> in OWL2 EL
01:29 <Zak> * -1
01:29 <zyzzyva> now in your map example, the same idea can be expressed using iteration
01:30 <mdedetrich> I can still write a program in OWL2 EL that does negation
01:30 <mdedetrich> or something that equates to negation
01:30 mandric joined
01:30 <mdedetrich> if you can't then the language is not turing complete
01:30 knkumar joined
01:30 <ang3lfir3> yall still talking about doin the needful?
01:30 <mdedetrich> you can for example do 2's complement
01:30 <mdedetrich> thats the equivalent of negation
01:30 <mdedetrich> it does the exact same thing
01:30 <mdedetrich> its just that -(number)
01:30 <zyzzyva> you can have turing complete languages that can't do certain things
01:30 <mdedetrich> is a lot easier
01:30 tomtomaso joined
01:31 <mdedetrich> then doing a twos complement
01:31 <mdedetrich> zyzzyva: then its not turing complete
01:31 <mdedetrich> :)
01:31 <zyzzyva> turing complete refers to a set of computations, and not to certain things like network I/O
01:31 <mdedetrich> which is irrelevant
01:31 <mdedetrich> if the language is turing complete
01:32 <mdedetrich> then you can just write code so you can do I/O
01:32 <mdedetrich> without changing the language
01:32 <Zak> http://en.wikipedia.org/wiki/Turing_completeness
01:32 <holzp> everyauth or passport? go!
01:32 <mdedetrich> that just means that the language is missing a 'library', not that it cannot do network IO
01:33 <mdedetrich> if a language is turing complete, it can do network IO, whether or not a library for it exists or not is another question
01:33 jpdery joined
01:33 <mdedetrich> network IO boils down to a set of computations, its not 'black magic'
01:34 <mdedetrich> everything does
01:34 maru_cc___ joined
01:34 <timeturner> it's all black magic
01:34 <zyzzyva> we can find a set of expressions which are terser in java than in scala
01:34 <timeturner> :O
01:34 <mdedetrich> zyzzyva: maybe
01:34 <zyzzyva> but would that make scala less expressive?
01:35 <mdedetrich> zyzzyva: not really, because there are probably 10x more examples where scala is more terse/expressive
01:35 Schoonology joined
01:35 <mdedetrich> zyzzyva: than java
01:35 <mdedetrich> especially when doing parallel programming
01:35 <mdedetrich> for example in previous example
01:35 <mdedetrich> 1..5.fmap(_ + 5)
01:35 <mdedetrich> will do that equation in parallel on many cores
01:35 <zyzzyva> ok so parallel.for or some equivalent
01:35 _Renegade joined
01:35 <zyzzyva> actually that's .NET
01:35 <mdedetrich> and scala
01:35 <mdedetrich> oh wait
01:35 <mdedetrich> sorry
01:36 <mdedetrich> pmap
01:36 stereosteve joined
01:36 <mdedetrich> is what it is in scala
01:36 <mdedetrich> wait sorry
01:36 <mdedetrich> that would be
01:36 <mdedetrich> 1..5.par.map(_ + 5)
01:36 <mdedetrich> god dammit, know to many languages
01:36 <mdedetrich> get confused :(
01:37 <Zak> public pmap() { self foo.bar[]. }
01:37 <Zak> thats when all the languages got together and had a big orgy
01:37 <zyzzyva> but at that point you have to tell it to do it in parallel
01:37 <Zak> speaking of which, there's a funny website that compares languages to cars
01:37 <mdedetrich> well java
01:37 <mdedetrich> doesn't do anything
01:38 <mdedetrich> in parallel
01:38 <mdedetrich> unless you tell it to either
01:38 <zyzzyva> java has libraries to do it
01:38 <zyzzyva> which as you just argued is fairgame :)
01:38 <mdedetrich> so does scala
01:38 gmci_ joined
01:38 <Zak> http://users.cms.caltech.edu/~mvanier/hacking/rants/cars.html
01:38 <zyzzyva> so you havent established anything
01:38 <zyzzyva> in both cases you still need to add cruft to indicate that its to be done in parallel
01:38 <mdedetrich> I mean are you arguing that because we I used the word par
01:38 <mdedetrich> that is different
01:38 <Zak> Javascript didn't make the list :(
01:38 <mdedetrich> importing a java libraru
01:38 <zyzzyva> im arguing because now you have to add extra stuff to indicate that it can be done in parallel
01:38 <mdedetrich> *library
01:38 <zyzzyva> id concede
01:39 piscisaureus_ joined
01:39 <zyzzyva> IF
01:39 <mdedetrich> that has its own word now in parallel
01:39 <mdedetrich> you have to do that in java as well
01:39 <zyzzyva> you didnt have to indicate that the loop could be done in parallel
01:39 <janmower> network and turing completeness go together like applesauce and newtonian physics
01:39 <mdedetrich> you need to include a library
01:39 <mdedetrich> and use that library
01:39 <mdedetrich> if you want to do something in paralell
01:39 <zyzzyva> im not saying java is more expressive
01:39 <mdedetrich> java will never paralelliz anything
01:39 <janmower> yes bf is turing complete, but i'd like to see apache httpd in bf
01:39 <zyzzyva> you are saying that scala is more expressive
01:39 <mdedetrich> automatically
01:39 <mdedetrich> yes I am
01:39 <zyzzyva> there's a polynomial bound
01:40 <mdedetrich> like if you actually provided code
01:40 <mdedetrich> to doing something in parallel with java
01:40 <zyzzyva> it either uses logspace or p-time reducability
01:40 <mdedetrich> it would be less expressive
01:40 <mdedetrich> even when using libraries
01:40 <mdedetrich> like akka
01:40 <mdedetrich> I know this because I have used both languages extensively
01:40 <mdedetrich> in java, you still have to wrap all your constructs as classes
01:41 <zyzzyva> its a long mess to get to something like the keyword pmap but writing a Parallel.For is doable
01:41 <mdedetrich> you can't really do anonymous functions (or high order functions)
01:41 <mdedetrich> zyzzyva: yes, and then try putting something
01:41 <mdedetrich> in that paralell.for
01:41 <mdedetrich> you have to wrap it in a class
01:41 <mdedetrich> java doesn't have anonymous functions
01:41 <zyzzyva> you cant use an anonymous class there?
01:42 <mdedetrich> you would have to use a class
01:42 <mdedetrich> that extends some abstract class
01:42 <mdedetrich> which means writing a new class
01:42 <mdedetrich> making it extend something
01:42 <mdedetrich> implementing some methods
01:42 <mdedetrich> and all that class does is add 5 to something
01:42 <mdedetrich> then you feed that class
01:42 <mdedetrich> into your Parallel.For
01:42 blazes816 joined
01:42 <zyzzyva> ? you can write an anonymous class with just the method you need
01:43 <mdedetrich> yes
01:43 <mdedetrich> I said that
01:43 <mdedetrich> you still have to create a class
01:43 <zyzzyva> if you want to point to expressiveness by character count
01:43 <mdedetrich> to express 'add 5 to something'
01:43 <zyzzyva> we could create a language which fully exploits every character
01:43 larryapplegate joined
01:43 <mdedetrich> its not character count
01:43 <mdedetrich> we are expressing
01:43 <mdedetrich> 'add 5 to something'
01:43 <zyzzyva> hell, we could enumerate every kolmogorov computer if you really wanted to
01:43 <mdedetrich> where that something is anything
01:43 <mdedetrich> thats a number
01:44 <mdedetrich> yes/no?
01:44 <zyzzyva> adding 5 to something is the same conceptually whether we do it by map or for loop
01:44 <mdedetrich> answer the question
01:44 <mdedetrich> we want to express
01:44 <mdedetrich> add 5 to something
01:44 <mdedetrich> yes/no?
01:44 TooTallNate joined
01:44 <zyzzyva> sure
01:44 <zyzzyva> we want to add 5 to every element in a list
01:44 <mdedetrich> in java, you can do that as an expression
01:44 <mdedetrich> but that something
01:44 andrehjr joined
01:44 <mdedetrich> can't be generic
01:44 <mdedetrich> to make a generic add 5 to something
01:45 <mdedetrich> that can be applied anywhere
01:45 <mdedetrich> you have to wrap it in a class
01:45 <zyzzyva> what does scala do when you add 5 to a class ?
01:45 <mdedetrich> hence anonymous classes
01:45 <zyzzyva> *to an existing java class
01:45 <mdedetrich> what you mean add 5 to a class
01:46 <mdedetrich> we are adding 5 to a number
01:46 <zyzzyva> so if you concede its a number you can just iterate
01:46 <mdedetrich> in scala
01:46 <mdedetrich> you can do
01:46 <mdedetrich> (x: Int) => x + 5
01:46 gmci_ joined
01:46 <mdedetrich> that can be used anywhere
01:46 <mdedetrich> it can be used by map in iteration
01:46 <mdedetrich> in paralell
01:47 <mdedetrich> in structured typing
01:47 <zyzzyva> so you can write a function
01:47 <mdedetrich> if you assign that to a variable
01:47 <mdedetrich> i.e.
01:47 <zyzzyva> *a class with a function to do that
01:47 <mdedetrich> def b = (x: Int) => x + 5
01:47 <mdedetrich> then do
01:47 <mdedetrich> 1..5.map(b)
01:47 <mdedetrich> yes but in java
01:47 pyrotechnick joined
01:47 <mdedetrich> you cannot accept functions
01:47 <mdedetrich> in arguments
01:47 <mdedetrich> :)
01:47 <zyzzyva> you write the class to do that
01:47 <mdedetrich> and not just a class
01:48 <mdedetrich> a class that has to extend somethng
01:48 <zyzzyva> you pass functors
01:48 <mdedetrich> which is less expressive
01:48 <Zak> a class which implements an interface usually
01:48 <mdedetrich> yup
01:48 <mdedetrich> or an abstract class
01:48 <zyzzyva> what do inner classes extend
01:48 <mdedetrich> have you coded in java
01:48 <mdedetrich> ?
01:49 <zyzzyva> a long time ago
01:49 <zyzzyva> an anonymous inner class
01:49 <mdedetrich> yes
01:49 <mdedetrich> so you create a new class
01:49 <mdedetrich> that extends something
01:49 <mdedetrich> in scala you don't have to extend anything
01:49 <mdedetrich> there is no reason why you should be extending something
01:49 <zyzzyva> you are then going back to character count
01:50 <mdedetrich> .....
01:50 <mdedetrich> no, this is an issue with java not being able to EXPRESS functional programming
01:50 <mdedetrich> hence it is LESS expressive
01:50 <zyzzyva> you are trying to express a style and not a functionality
01:50 <mdedetrich> im expressing an idea
01:51 <mdedetrich> as per
01:51 <zyzzyva> the idea is expressed in both languages, no loss
01:51 <mdedetrich> the wikipedia definition
01:51 <mdedetrich> no
01:51 trypwire joined
01:51 <mdedetrich> I am expressing
01:51 <mdedetrich> functional programming
01:51 <mdedetrich> as an idea
01:51 <mdedetrich> java cannot do that
01:51 <zyzzyva> you are expressing the idea of adding 5 to every element
01:51 <mdedetrich> and I am also expressing pure functions
01:51 Oddman joined
01:51 <mdedetrich> as an idea
01:52 <zyzzyva> yes or no: can you do everything in scala using java?
01:52 <mdedetrich> this isn't a stylistic thing
01:52 <zyzzyva> is there a functionality that's missing
01:52 <mdedetrich> thats irrelevant
01:52 <zyzzyva> no that's the essence of the question
01:52 <mdedetrich> to expressiveness
01:52 <mdedetrich> yes but its also irrelevant
01:52 <zyzzyva> you are trying to say somehow that the lack of a map functional as a three letter word makes java less expressive
01:53 <zyzzyva> which is character count
01:53 <mdedetrich> no I am trying to express the fact that java cannot accept arbitrary expressions as parameters in functions without wrapping them in classes
01:53 <mdedetrich> as less expressive
01:53 mirzu joined
01:53 <mdedetrich> being more expressive usually does reduce character count
01:53 <mdedetrich> that is a side effect of it
01:53 <mdedetrich> not always, but most of the time
01:54 athenot joined
01:54 jamund joined
01:54 <Zak> character count isn't important anyway
01:54 <mdedetrich> I am not sure why you are so fixated on the concept of character count
01:54 <mdedetrich> in your example
01:54 <Zak> there's nothing worse than somebody using abbreviated variable or function names
01:54 <mdedetrich> if I wanted to make a generic add 5 to something
01:54 <Zak> and you nfi what they are supposed to represent
01:54 <mdedetrich> you can't do that in java
01:54 <zyzzyva> character count is important in some realms, but not in the definition of expressiveness :)
01:54 <mdedetrich> its not 'generic'
01:54 <mdedetrich> you can make a class
01:54 <mdedetrich> but in java
01:54 <janmower> ok if you want to understand the future of parallelism, grok this: input = clCreateBuffer(context, CL_MEM_READ_ONLY, sizeof(float) * count, NULL, NULL);
01:54 <mdedetrich> classes can only extend one thing
01:54 <Zak> readability > character count
01:54 <Zak> and i'd argue that expressiveness helps readability
01:55 <mdedetrich> so in your example, you make a class
01:55 <mdedetrich> you make it extend 'runMap' abstract class
01:55 <mdedetrich> but then that class can only be used in your java's map
01:55 satyr joined
01:55 <mdedetrich> it can't be used in other java functions which would do something similar (but aren't a map)
01:55 <zyzzyva> Zak: like coffeescript's spacing hell
01:56 <zyzzyva> you can make generics in java
01:56 jetienne joined
01:56 <mdedetrich> the above problem is not solved with generics
01:56 <mdedetrich> try harder
01:56 <zyzzyva> are you saying you want to make the generic version of the map functional?
01:56 yhpark joined
01:56 <mdedetrich> generics is type polymorphism, that has nothing to do with higher order functions
01:56 <zyzzyva> or the one that adds 5 to every element
01:57 <mdedetrich> make a generic
01:57 <mdedetrich> add 5 to every element
01:57 lwicks joined
01:57 <mdedetrich> that can be used everywhere
01:57 <mdedetrich> without having to create an extra implementation or wrapper
01:57 <mdedetrich> for that add 5 to something
01:57 <zyzzyva> that's character count
01:57 <Zak> its not
01:58 <mdedetrich> so is negation
01:58 <mdedetrich> in your previous example
01:58 <mdedetrich> then
01:58 harbhub joined
01:58 bnoordhuis joined
01:58 <Zak> as mdedetrich said, it's just a trait of expressiveness
01:58 <mdedetrich> your logic is flawed
01:58 <mdedetrich> [11:29:12] <zyzzyva> For example, the Web Ontology Language expression language profile (OWL2 EL) lacks ideas (such as negation) which can be expressed in OWL2 RL (rule language). OWL2 EL may therefore be said to have less expressive power than OWL2 RL.
01:58 <mdedetrich> this
01:58 <mdedetrich> is your previous example
01:58 <mdedetrich> doing negation
01:58 <mdedetrich> such as -5
01:58 <mdedetrich> you would argue
01:58 <mdedetrich> its just 'character count'
01:58 <mdedetrich> even though you can do nogation
01:58 <mdedetrich> in OWL2 EL
01:58 <zyzzyva> thats the second paragraph of http://en.wikipedia.org/wiki/Expressive_power
01:59 <Zak> just because a red ferrari is faster than a blue SUV, doesn't mean that red vehicles are faster than blue vehicles
01:59 <mdedetrich> its just you have to swap all the bits
01:59 <mdedetrich> again, your logic
01:59 <mdedetrich> is incorrect
01:59 <Zak> yeah
01:59 <mdedetrich> with the own example you provided
01:59 <Zak> take a breather
01:59 <Zak> you're obviously missing the point
01:59 <Zak> it will come to you later
01:59 <mdedetrich> I negate something in OWL2 RL, I would do
01:59 <mdedetrich> -100
01:59 <mdedetrich> or negative of 100
02:00 <mdedetrich> in OWL2 EL, I would swap all the bits
02:00 <mdedetrich> and add one
02:00 <mdedetrich> (2s complement)
02:00 <mdedetrich> they both DO the exact same thing
02:00 <mdedetrich> -100 is clearly much lower in character count
02:00 lyaunzbe joined
02:00 boltR joined
02:00 <mdedetrich> then bit shifting 100
02:00 robmorrissey joined
02:00 <mdedetrich> *bit swapping
02:00 <mdedetrich> so using your own logic
02:00 <mdedetrich> OWL2 EL is not less expressive then OWL2 RL
02:01 ger^kallisti joined
02:01 <mdedetrich> even though what you linked says otherwise
02:01 <mdedetrich> as I said, you don't understand the definition
02:01 <mdedetrich> of expressive
02:01 <zyzzyva> how are you swapping the bits
02:01 <mdedetrich> in the context of computer science in languages
02:01 ttt joined
02:02 <zyzzyva> explain how you are doing that in EL
02:03 thomashunter joined
02:03 <mdedetrich> well actually the easiest way, after reading it in EL
02:03 <mdedetrich> is to do 0 minus that number
02:03 LouisT joined
02:03 <mdedetrich> which you can't do in one character :)
02:04 <mdedetrich> that would be like 0 - number
02:04 templaedhel joined
02:04 suess joined
02:04 <mdedetrich> if they are talking about logical negation
02:05 <mdedetrich> then its an extra if statement
02:05 <LouisT> Evening.
02:05 <mdedetrich> or set negation
02:05 a_suenami joined
02:05 <mdedetrich> would be universal set minus set A
02:05 larryapplegate joined
02:05 ryanfitz joined
02:05 <mdedetrich> all of which is more character count then just -something
02:05 wolfeidau joined
02:05 r0tha joined
02:06 <zyzzyva> explain your last point again, because i dont see where there's a bit specification for numbers
02:06 jocafa joined
02:06 <zyzzyva> 2s complement works if you've capped the bit limit, unless you want to use 2adic numbers
02:07 uiureo joined
02:07 <mdedetrich> you can swap bits in any language
02:07 <mdedetrich> just convert number to binary format
02:07 <mdedetrich> go through every character
02:07 <mdedetrich> if its 0, swap to 1, and vice versa
02:07 <mdedetrich> then add one
02:07 <mdedetrich> and voila
02:08 <mdedetrich> (convert back to a number0
02:08 <mdedetrich> in whatever base you are dealing with
02:08 <zyzzyva> not base, im looking at the owl spec and havent seen where they defined integers with a specified bit count
02:09 therealkoopa joined
02:09 <zyzzyva> nonNegativeInteger := a nonempty finite sequence of digits between 0 and 9
02:09 <mdedetrich> you don't need that to do a twos complement....
02:09 <zyzzyva> the transform is exponential, which *is* less expressive
02:10 <mdedetrich> .........
02:10 Azra-el joined
02:10 Azra-el joined
02:10 <zyzzyva> unlike the java example where the transform is sublinear
02:10 <mdedetrich> wtf
02:10 <mdedetrich> are you going on about
02:10 <mdedetrich> you completely derailed the topic
02:10 <mdedetrich> I'm sorry but just accept you are wrong, we are not talking about performance at all here
02:11 <zyzzyva> no you miss the point
02:11 samstefan joined
02:11 <mdedetrich> stop bringing in random irrelevant stuff into the argument
02:11 <zyzzyva> the transform between java and scala is sublinear
02:11 <mdedetrich> you were asking how to take a negative in that language
02:11 <zyzzyva> in your example its exponential
02:11 <mdedetrich> I just told you how
02:11 <mdedetrich> so what
02:11 <zyzzyva> im not seeing the specification that allows you to interpret the number as a set of bits
02:11 <mdedetrich> you can convert any number to a set of bits
02:11 <mdedetrich> its called changing base
02:12 <mdedetrich> there is an algorithm for that
02:12 <mdedetrich> jesus
02:12 <zyzzyva> that algorithm is *exponential*
02:12 <mdedetrich> AND!!!!!!!
02:12 <zyzzyva> that makes the transform superpolynomial
02:12 <mdedetrich> so what
02:12 jamund joined
02:12 <timeturner> 
02:12 <mdedetrich> why are you bringing performance into this
02:13 <mdedetrich> you were asking
02:13 <mdedetrich> HOW to bitshift a number
02:13 <mdedetrich> ffs
02:13 <zyzzyva> the question is about expressiveness at the end of the day
02:13 <mdedetrich> do you see
02:13 <mdedetrich> performance
02:13 <zyzzyva> you are talking abotu a *far more complicated* example of two things being equivalent
02:13 <mdedetrich> ANYWHERE
02:13 <mdedetrich> in YOUR definition
02:13 <zyzzyva> and the far *simpler* example isnt
02:13 danielfilho joined
02:13 <mdedetrich> which YOU provided
02:13 <zyzzyva> that's your scope
02:13 <zyzzyva> putting a polynomial bound is perfectly acceptable
02:13 <mdedetrich> no
02:13 <mdedetrich> lets
02:13 <mdedetrich> put things
02:13 <mdedetrich> perfectly straight here
02:13 <mdedetrich> 1.
02:13 <mdedetrich> performance
02:13 <mdedetrich> has jack shit
02:13 <zyzzyva> as is the case in most areas of complexity reductions
02:14 <mdedetrich> to do withe expressiveness
02:14 <mdedetrich> NOTHING AT ALL
02:14 Jona joined
02:14 <mdedetrich> its not in YOUR definition
02:14 <pyrotechnick> mdedetrich: calm your chops.
02:14 <zyzzyva> if so, then scala and javascript are equivalent
02:14 <mdedetrich> in expressiveness, probably yeah
02:14 <mdedetrich> I would agree with that
02:14 <zyzzyva> then we're done
02:14 <mdedetrich> java is less expressive then both
02:15 <zyzzyva> nope
02:15 <Jona> Who here has created sophisticated apps using node JS
02:15 defunctzombie joined
02:15 <Jona> ?
02:15 <mdedetrich> im sorry
02:15 <mdedetrich> you are wrong
02:15 <mdedetrich> you can't even read
02:15 <mdedetrich> your own definition
02:15 <zyzzyva> the definition is clear
02:15 <mdedetrich> or you are adding things to it
02:15 <mdedetrich> yes
02:15 <mdedetrich> can you point to me
02:15 <mdedetrich> where performance
02:15 <mdedetrich> is mentioned
02:15 <mdedetrich> in that definition
02:15 <zyzzyva> "breadth of ideas that can be represented and communicated in that language."
02:16 <mdedetrich> because I sure as hell cannot
02:16 <zyzzyva> if you want to argue that character count matters, then we have to look at the complexity of the transforms
02:16 <mdedetrich> ......
02:16 <mdedetrich> thats a logical fallacy
02:16 <zyzzyva> if not, then scala and java are equally expressive
02:16 <zyzzyva> try again
02:16 <mdedetrich> thats logically fallicious
02:16 <mdedetrich> you can't just bring X into an argument to prove a completely different point Y
02:16 <zyzzyva> its either X or Y
02:16 <zyzzyva> and in this case
02:16 tn joined
02:16 <zyzzyva> " breadth of ideas that can be represented and communicated in that language."
02:17 <mdedetrich> no
02:17 <mdedetrich> where is performance
02:17 <zyzzyva> either java and scala are compared based on whether the idea can be represented or no
02:17 <mdedetrich> mentioned in there
02:17 <zyzzyva> you make a call
02:17 larryapplegate joined
02:17 <mdedetrich> can you please mention
02:17 <mdedetrich> where performance
02:17 <mdedetrich> is mentioned
02:17 <mdedetrich> in that definition
02:17 <mdedetrich> im waiting
02:18 <zyzzyva> start from my question
02:18 <zyzzyva> we'll get there
02:18 <zyzzyva> " breadth of ideas that can be represented and communicated in that language."
02:18 <mdedetrich> yes and?
02:18 <zyzzyva> are we comparing based on ability to express idea or on something else?
02:19 <zyzzyva> if its about the ability to express the idea, id argue that everything you would want to do in scala, including map, you can do in java
02:19 <mdedetrich> i am ability to expresss idea, you are talking about performance
02:19 <mdedetrich> or at least you ended up
02:19 <mdedetrich> doing so
02:19 <zyzzyva> performance comes in only when you cant stick to the original definition
02:19 <zyzzyva> performance in the form of polynomial complexity is necessary
02:19 <mdedetrich> which you did
02:19 <zyzzyva> otherwise its an arbitrary distinction
02:19 <mdedetrich> <zyzzyva> performance comes in only when you cant stick to the original definition <- you are doing this
02:19 sinclairzx joined
02:19 <mdedetrich> you are not sticking to your definition
02:20 <mdedetrich> so you brought in performance
02:20 <zyzzyva> the original definition is " breadth of ideas that can be represented and communicated in that language."
02:20 <zyzzyva> and ive demonstrated that map can be expressed in java
02:20 <mdedetrich> no it cannot
02:20 <zyzzyva> whether its terse is an issue of character count
02:20 <mdedetrich> the idea of map
02:20 <mdedetrich> cannot be expressed
02:20 <mdedetrich> in java
02:20 <zyzzyva> what is the idea of map?
02:20 generalissimo joined
02:20 <zyzzyva> what in your head is the idea of map
02:20 audreyr joined
02:20 <mdedetrich> map takes an ANONYMOUS function, and applies that ANONYMOUS function to every element
02:20 <mdedetrich> in a collection
02:21 <zyzzyva> nope
02:21 <mdedetrich> yes
02:21 <zyzzyva> definition doesnt have anonymous in it
02:21 <zyzzyva> map applies a function (anonymous or not) to each element of a list and returns a list
02:21 <mdedetrich> well java cannot do either
02:21 <deoxxa> a map is a piece of paper that tells you where things are
02:21 <deoxxa> you idiots
02:21 <mdedetrich> you cannot use functions as arguments in java
02:21 <zyzzyva> wait mdedetrich where in the definition does anonymous appear?
02:21 <mdedetrich> so you are still wrong
02:21 <zyzzyva> you can represent functions as function objects
02:21 <mdedetrich> no you cant
02:22 <mdedetrich> not in java
02:22 <zyzzyva> in java you have an interface with a simple method
02:22 <zyzzyva> doit
02:22 <mdedetrich> you can put them inside classes, but classes are not functions
02:22 <mdedetrich> thats not a functin
02:22 <mdedetrich> *function
02:22 <mdedetrich> so you are wrong
02:22 <mdedetrich> thats a class implementing an interface
02:22 <zyzzyva> the definition doesnt say take a function outside of a class
02:22 <zyzzyva> it doesnt specify how the function exists
02:22 <mdedetrich> then you can argue anything is correct
02:22 <zyzzyva> the mathematical morphism doesnt have that requirement
02:22 <mdedetrich> map has to take A FUNCTIon
02:23 <mdedetrich> not a function INSIDE A CLASS
02:23 <zyzzyva> a function object is perfectly acceptable
02:23 mawhtin joined
02:23 <mdedetrich> the definition of map is that IT TAKES A FUNCTIOn
02:23 <mdedetrich> a class is not a function
02:23 <zyzzyva> you are passing the function via the class
02:23 <mdedetrich> it doesn't matter if the class contains a function
02:23 <mdedetrich> yes
02:23 <zyzzyva> that the function isnt being passed by name directly
02:23 <mdedetrich> thats not a function
02:23 <mdedetrich> so its not map then
02:23 <zyzzyva> doesnt change the fact that a function is being passed
02:24 <mdedetrich> no
02:24 <pyrotechnick> https://github.com/Byzantium/Byzantium
02:24 <pyrotechnick> this is freaking awesome
02:24 <mdedetrich> a class is being passed
02:24 <mdedetrich> you are passing a class
02:24 <mdedetrich> not a function, a class
02:24 <zyzzyva> wait wait wait
02:24 <mdedetrich> I am being literal and sticking to the definition
02:24 <mdedetrich> you are passing in classes
02:24 <zyzzyva> now you aren't talking about the conceptual idea any more
02:24 etcetera joined
02:24 <zyzzyva> you have the same expressivity by the definition
02:24 <mdedetrich> yes I am
02:24 <mdedetrich> the idea of MAP is it must take a FUNCTIOn
02:24 <zyzzyva> whether the function is in a class or not doesnt matter to the definition
02:24 <mdedetrich> i want to EXPRESS that idea in java
02:25 <zyzzyva> the definition doesnt say anonymous function
02:25 <mdedetrich> it says function
02:25 <mdedetrich> so in java
02:25 <zyzzyva> yeah passing a class with that function does express it
02:25 <mdedetrich> i cannot express map
02:25 <mdedetrich> i cannot express map in java
02:25 <zyzzyva> if you use the specific definition of anonymous function (which has no bearing in any real definition) then sure
02:25 <mdedetrich> or if you use the definition
02:25 <zyzzyva> if you use the general definition then you can express map in java
02:25 <mdedetrich> of function
02:25 <mdedetrich> same dea;l
02:26 templaedhel joined
02:26 <mdedetrich> the generic definition requires a function
02:26 <mdedetrich> java doesn't do that
02:26 <mdedetrich> so you are wrong
02:26 <zyzzyva> you are passing a function via an object
02:26 <mdedetrich> no you are passing in a function
02:26 <zyzzyva> you can pass a function in multiple ways
02:27 <mdedetrich> if you are passing in a function via an object
02:27 <mdedetrich> you create a new object
02:27 <mdedetrich> and assign a variable inside that function
02:27 <mdedetrich> *assign a variable inside that object
02:27 zivester joined
02:27 <mdedetrich> which points to a function
02:27 <mdedetrich> and if you do that in scala, you can't put that into map
02:28 <mdedetrich> you would have to unwrap the object to get the function out of it
02:28 <sinclairzx> mdedetrich: why would you do that?
02:28 <mdedetrich> you wouldn't
02:28 <mdedetrich> thats stupid
02:28 <sinclairzx> agreed
02:28 <mdedetrich> zyzzyva is trying to argue that you can express map in java
02:28 <mdedetrich> you cannot
02:28 <mdedetrich> at least not what the actual definition of map is
02:29 kaspertidemann joined
02:29 <zyzzyva> hold on, does your conception of the actual definition of map distinguish between a function and a function object?
02:29 <sinclairzx> var d = (message:string) => { return message + ' idea' }; d("bad");
02:29 <mdedetrich> object is a label
02:30 <mdedetrich> you cannot assign variables to functions in java
02:30 <mdedetrich> so you can't pass functions around
02:30 xtianw joined
02:30 <mdedetrich> os you cannot pass a function to be used with map
02:30 <mdedetrich> in scala or javascript
02:30 <zyzzyva> you can pass functions around via function objects, yes?
02:30 <mdedetrich> everything in a scala is an object, thats not really relevant
02:30 <zyzzyva> that you can represent a function as a variable doesnt change the expressiveness of the language
02:31 <mdedetrich> yes it does
02:31 <mdedetrich> because without that
02:31 <mdedetrich> you can't do map
02:31 jmar777 joined
02:31 <mdedetrich> :)
02:31 <zyzzyva> can you do the same effect (applying the function to every element)
02:31 <zyzzyva> this is simple
02:31 <mdedetrich> thats effect
02:31 <mdedetrich> I want to express map
02:31 <mdedetrich> as an idea
02:31 <zyzzyva> map is a transformation
02:31 <zyzzyva> *morphism
02:31 <mdedetrich> I don't care about an arbitrary method that ends up doing the same thing
02:31 <zyzzyva> let me be specific
02:31 <mdedetrich> as a map
02:32 <mdedetrich> I want to be express map as an idea
02:32 <mdedetrich> that means
02:32 <mdedetrich> map needs to take in a function
02:32 redir joined
02:32 <zyzzyva> so you are restricting the definition of function
02:32 <mdedetrich> thats the definition of map
02:32 <mdedetrich> .....
02:32 <mdedetrich> a function is not a class
02:32 <zyzzyva> for the purpose of expression of the idea of map
02:33 <zyzzyva> again, the idea is to apply the function to every element
02:33 <mdedetrich> then you are changing the definition
02:33 <mdedetrich> of function
02:33 <mdedetrich> to class
02:33 <zyzzyva> you can do that with the object
02:33 <mdedetrich> to suite your argument
02:33 <zyzzyva> what is the idea of map
02:33 <mdedetrich> apply a function over every element in a collection
02:33 <zyzzyva> right
02:33 <mdedetrich> not a calss
02:33 <mdedetrich> *class
02:33 <mdedetrich> a function
02:34 <mdedetrich> anonymous function just means you don't have to assign the function to a variable beforehand
02:34 <mdedetrich> same deal with classes and anonymous classes
02:34 <zyzzyva> you are passing an object with a set specification for how the function is invoked
02:34 <zyzzyva> and are invoking it
02:34 <zyzzyva> on every element
02:34 <mdedetrich> im passing in a function
02:34 <zyzzyva> the net effect is the same
02:34 <zyzzyva> that its being passed as a function or a class is relatively arbitrary
02:34 nodebie joined
02:34 <mdedetrich> which is not relevant
02:35 <mdedetrich> to expressiveness
02:35 <mdedetrich> expressiveness has no relation to net effect
02:35 <mdedetrich> you are forgetting that
02:35 chris2bislr joined
02:35 <zyzzyva> " breadth of ideas that can be represented and communicated in that language."
02:35 <mdedetrich> yes communicated
02:35 <zyzzyva> the idea is to apply the transformation as described by the function
02:35 <mdedetrich> nothing to do with effect
02:35 <nodebie> hi there, is there any authorization module out there that lets me control access to a page/route other than Gandalf?
02:35 <mdedetrich> the idea is map
02:35 <zyzzyva> describing it as a function wrapped in an object is no difference
02:36 gluxon joined
02:36 <nodebie> i.e which bunch of users allowed to post/delete/edit which post
02:36 <mdedetrich> i am trying to communite map as an idea
02:36 <mdedetrich> according to your definition
02:36 <zyzzyva> the idea of map isnt to apply a specific form of a function
02:36 <zyzzyva> the idea of map is to apply a transformation to each element
02:36 <mdedetrich> its to apply a function
02:36 stevegill joined
02:36 <mdedetrich> you just changed your definition
02:36 <mdedetrich> you were saying function before
02:36 <mdedetrich> now you are saying transformation
02:37 <mdedetrich> stop moving the goalposts
02:37 <zyzzyva> if you dont think
02:37 <mdedetrich> thats like 7th logical fallacy you did
02:37 <zyzzyva> that function objects are functions
02:37 <zyzzyva> then i have to be specific in my use of words
02:37 <mdedetrich> transformation
02:37 <mdedetrich> is not a function
02:37 <nodebie> anybody minds to help?
02:37 <mdedetrich> you changed the definition
02:37 <mdedetrich> stick to the definition please
02:37 <nodebie> if you don't mind pausing the debate (sorry for the rudeness =P)
02:37 <zyzzyva> function is not defined as a java function
02:37 <mdedetrich> or gtfo
02:37 rampr joined
02:38 <zyzzyva> mdedetrich: where in the definition of map does it say java function or scala function?
02:38 <mdedetrich> it says generic function
02:38 <mdedetrich> a transformation is not a function
02:38 <zyzzyva> what is a "generic function"
02:38 <mdedetrich> zyzzyva: http://encyclopedia2.thefreedictionary.com/Function+(computer+science)
02:38 <zyzzyva> try again, your phrase was "generic function"
02:38 Oddman joined
02:38 chris2bislr joined
02:39 WillMarshall joined
02:39 <mdedetrich> you can use the mathematical definition of function
02:39 <mdedetrich> if you want
02:39 <zyzzyva> you are specifying a function
02:39 <mdedetrich> according to lambda calculus
02:39 <zyzzyva> it doesnt say you have to pass it in a specific form
02:39 <jasonkuhrt> maybe random question, are there conventional terms to differentiate the parts of a file name (<name>.<ext>). What is a good term to refer to just the <name>, just the <ext>, and finally both combined?
02:39 <mdedetrich> zyzzyva: http://en.wikipedia.org/wiki/Function_(mathematics)
02:39 <zyzzyva> jasonkuhrt: basename
02:39 <mdedetrich> there you go
02:39 <zyzzyva> http://en.wikipedia.org/wiki/Map_(higher-order_function)
02:39 <zyzzyva> how about that?
02:40 <jasonkuhrt> thank you
02:40 <zyzzyva> " map is the name of a higher-order function that applies a given function to each element of a list, returning a list of results. "
02:40 <zyzzyva> no specification of how that function is given
02:40 <mdedetrich> your are
02:40 <zyzzyva> just that the function is given
02:40 <mdedetrich> definitely wrong then
02:40 <mdedetrich> higher order functions
02:40 <mdedetrich> are anonymous functions
02:40 thl0 joined
02:40 <mdedetrich> which java does not have
02:40 larryapplegate joined
02:40 <mdedetrich> :)
02:40 <zyzzyva> woah woah woah higher-order functions are not anonymous functions
02:40 <zyzzyva> far from it
02:40 <zyzzyva> try again
02:40 <zyzzyva> higher order functions take functions as input
02:41 <zyzzyva> you form a hierarchy of transforms, it has *nothing* to do with anonymous
02:41 <mdedetrich> http://en.wikipedia.org/wiki/Higher-order_function
02:41 <mdedetrich> In mathematics and computer science, a higher-order function (also functional form, functional or functor) is a function that does at least one of the following:
02:41 <mdedetrich> take one or more functions as an input
02:41 <mdedetrich> output a function
02:41 <mdedetrich> take one or more functions as an input
02:41 <zyzzyva> In mathematics and computer science, a higher-order function (also functional form, functional or functor) is a function that does at least one of the following: take one or more functions as an input output a function
02:41 <mdedetrich> take one or more functions as an input
02:41 <mdedetrich> in java
02:41 <mdedetrich> a function
02:41 <zyzzyva> take one or more functions as inpout
02:41 <mdedetrich> cannot take a function
02:41 <mdedetrich> as input
02:41 <zyzzyva> it doesn't say what form it has to be
02:41 <mdedetrich> so java
02:41 <* nodebie> feels sad being ignored
02:41 <mdedetrich> has no concept
02:41 <mdedetrich> of higher order functions
02:41 jp232 joined
02:42 <zyzzyva> java can impact the same effect using objects
02:42 joshontheweb joined
02:42 <mdedetrich> yes
02:42 <mdedetrich> but they are not
02:42 <mdedetrich> higher order functions
02:42 <zyzzyva> that doesnt affect the *expressivity*
02:42 <mdedetrich> yes
02:42 <mdedetrich> because I can't express map
02:42 <mdedetrich> what I am doing in java is no longer map, its something else
02:42 <zyzzyva> you cant express your specific carnation of map
02:42 <mdedetrich> yes I can
02:42 <zyzzyva> using the letters that you type
02:42 <zyzzyva> that's true, you can't type 1..5.map(...)
02:43 <zyzzyva> but that's not expressivity
02:43 <mdedetrich> yes it is
02:43 <mdedetrich> i am trying to express map
02:43 estebistec joined
02:43 harthur joined
02:43 <mdedetrich> i can't in java
02:43 <zyzzyva> the concept of map doesnt care that its a native java function or an object that contains the function
02:43 <mdedetrich> you can try all you want
02:43 <mdedetrich> to write
02:43 <mdedetrich> a map function
02:43 <mdedetrich> but its not a proper map function
02:43 <mdedetrich> its not valid java syntax
02:44 <zyzzyva> you can, in fact, implement the entire scheme of higher-order functions in a style where every function is represented as an object with an apply function
02:44 <mdedetrich> (and in java map would have to be a function, because java does not have a map statement0
02:44 <zyzzyva> you are coming back to the specific characters now
02:44 <mdedetrich> I'm just saying
02:44 <mdedetrich> java does not have map
02:44 <zyzzyva> which i agreed that java could not replicate the specific expressions you used
02:44 <zyzzyva> java does have the concept of map
02:44 <mdedetrich> nope
02:45 <zyzzyva> it is exactly as described
02:45 <mdedetrich> thats also
02:45 <mdedetrich> not map
02:45 <zyzzyva> there's no loss of expressivity
02:45 <mdedetrich> what you described
02:45 <mdedetrich> is not map
02:45 <mdedetrich> :)
02:45 <zyzzyva> it is map
02:45 <mdedetrich> nope
02:45 <zyzzyva> according to the definition of map it is
02:45 <mdedetrich> nope
02:45 <zyzzyva> the definition doesn't say you have to pass a first order function
02:45 <mdedetrich> you changed definition again
02:46 <zyzzyva> nope
02:46 <zyzzyva> go back to the definition
02:46 <mdedetrich> Map (higher-order function)
02:46 <zyzzyva> a higher-order function that applies a given function to each element of a list, returning a list of results.
02:46 <mdedetrich> ....
02:46 <mdedetrich> map has to be a higher order function
02:46 <zyzzyva> now where in that definition does it say that the given function has to be a javascript function
02:46 <mdedetrich> java does not support higher order function
02:46 <mdedetrich> so you are still wrong
02:46 <zyzzyva> if you take the representation of function to be an object with a single meth
02:46 <zyzzyva> *method
02:46 <zyzzyva> the entire definition is satisfied
02:46 <mdedetrich> thats not a function
02:46 <zyzzyva> it is
02:47 <mdedetrich> you are changing the definition
02:47 <mdedetrich> of function
02:47 <mdedetrich> you are changing the definition of god damn everything
02:47 <zyzzyva> the definition of map doesnt say how the function is specified
02:47 <mdedetrich> to suite your argument
02:47 mappum joined
02:47 trypwire_ joined
02:47 <zyzzyva> no the definitions are clear
02:47 <zyzzyva> you are restricting them to suit your purposes
02:47 <zyzzyva> the concepts are very clear here
02:47 <mdedetrich> I am sticking to the definition
02:47 <mdedetrich> in javascript
02:47 <mdedetrich> an object that contains a single function
02:47 <mdedetrich> is not a function
02:47 <mdedetrich> they are not the same thing
02:48 <mdedetrich> you are arguing they are
02:48 <zyzzyva> you wish to say map and fold and other constructs from functional programming, and the fact that the word doesnt exist doesn't mean it cant be expressed
02:48 <mdedetrich> no I am saying that java cannot express map
02:48 <zyzzyva> im arguing for the poruposes of map they are equivalent
02:48 <mdedetrich> because it does not have higher order functions
02:48 <mdedetrich> you can call map whatever you want
02:48 <zyzzyva> java *does* have higher-order functions using the function representation i just described
02:48 <mdedetrich> but java still cannot express it
02:48 <zyzzyva> that's the key
02:48 <mdedetrich> nope
02:48 <zyzzyva> it is
02:48 <mdedetrich> thats not a higher order function
02:49 <mdedetrich> its not
02:49 <zyzzyva> a function that takes a function object
02:49 <zyzzyva> is a higher order function
02:49 <mdedetrich> you are putting object in there
02:49 <mdedetrich> again changing your definition
02:49 <zyzzyva> *java function object
02:49 <mdedetrich> again changing your definition
02:49 <mdedetrich> stop doing it
02:49 <zyzzyva> do you want to define function?
02:50 <mdedetrich> i gave YOU a definition
02:50 <mdedetrich> which you ignored
02:50 <Oddman> fark me this convo is still going
02:50 <* Oddman> goes back to sleep
02:50 <zyzzyva> you are arguing that the map's usage of function refers to java's method concept
02:50 <mdedetrich> no
02:50 <zyzzyva> and im saying that the map concept doesnt require it
02:50 <mdedetrich> I am arguing that map requires a function
02:50 <mdedetrich> not a method (they are not the same again)
02:50 mandric joined
02:50 HardFu joined
02:51 <zyzzyva> what type of function
02:51 <mdedetrich> a function
02:51 <mdedetrich> function doesn't have different types
02:51 <mdedetrich> there is a mathematical definition of function
02:51 <mdedetrich> its quite clear
02:52 <zyzzyva> yes there's a relation between input output
02:52 <zyzzyva> bijective surjective blah blah
02:52 <zyzzyva> but that doesnt say how its specified
02:52 yssoh joined
02:52 <mdedetrich> that is the specification
02:52 <zyzzyva> that same relation
02:52 <mdedetrich> and it can ONLY be that
02:52 <zyzzyva> can be impacted using a representation that looks like an object
02:52 <mdedetrich> methods have state because they reside in classes
02:52 <zyzzyva> the *relation* can be specified as a function object or a function
02:52 <mdedetrich> they are also not generic
02:52 Circlepuller_ joined
02:52 <mdedetrich> the whole point of function
02:52 <zyzzyva> the *relation* is the key idea
02:52 <mdedetrich> is its a FUNCTION
02:52 <mdedetrich> and not FUNCTION + some other shit
02:53 <zyzzyva> what's a function
02:53 <mdedetrich> which is what you are doing
02:53 <zyzzyva> In mathematics, a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output.
02:53 <mdedetrich> yes
02:53 <mdedetrich> and its ONLY that
02:53 <mdedetrich> you cannot add stuff ontop of a function
02:53 <zyzzyva> yes its a relation
02:53 <mdedetrich> then its not a function
02:53 <zyzzyva> and that *relation* can be impacted by function object
02:53 <mdedetrich> yes thats a recursive definition
02:53 <zyzzyva> nope
02:53 <mdedetrich> but the above
02:53 <mdedetrich> is not a class
02:53 <zyzzyva> a java function object
02:53 <mdedetrich> nor is it an object
02:54 <zyzzyva> can satisfy the requirement
02:54 <zyzzyva> In mathematics, a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output.
02:54 <zyzzyva> *relation* is th ekey
02:54 <mdedetrich> no
02:54 <zyzzyva> that relation can be described in the confines of a function object
02:54 <mdedetrich> you are cherry picking
02:54 <mdedetrich> again
02:54 <zyzzyva> or as a bare function
02:54 <mdedetrich> stop saying "this is the key"
02:54 <zyzzyva> where does it say it has to be a bare function
02:54 <zyzzyva> point to it
02:54 <mdedetrich> without ignoring everything else
02:54 <zyzzyva> i see *relation*
02:54 <mdedetrich> you are changing the definition
02:54 <zyzzyva> look at the definition of function
02:54 <zyzzyva> THATs the definition
02:54 <mdedetrich> if a definition doesn't mention something
02:54 jlord joined
02:54 <mdedetrich> its bare
02:54 <zyzzyva> the mathematical definition, as it were
02:55 <zyzzyva> "In mathematics, a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output. "
02:55 Electron joined
02:55 <mdedetrich> understood?
02:55 techthumb joined
02:55 <mdedetrich> if a definition does not mention something
02:55 <zyzzyva> please try to stick to the definition
02:55 <mdedetrich> it is NOT part of the definition
02:55 <zyzzyva> yes and the word here is relation
02:55 <mdedetrich> and there are other words
02:55 <zyzzyva> there's no specification as to HOW it is exposed
02:55 <mdedetrich> which you are ignoring
02:55 <zyzzyva> MEANS
02:55 <mdedetrich> classes
02:55 <zyzzyva> that any such exposure is acceptable
02:55 <mdedetrich> do not have outputs
02:55 <zyzzyva> a class with a single method
02:55 <mdedetrich> they do not have a single output
02:56 <zyzzyva> In mathematics, a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output.
02:56 <mdedetrich> which isn't a function
02:56 <mdedetrich> :)
02:56 <zyzzyva> the relation is descirbed in the method of the class
02:56 tutley joined
02:56 <mdedetrich> yes, but thats not a function
02:56 <zyzzyva> i dont see where you are reading into it
02:56 <mdedetrich> that is a object container which contains a function
02:56 <zyzzyva> you are pulling something out of thin air
02:56 <mdedetrich> or a class that contains a function
02:57 <zyzzyva> the definition doesnt talk about the representation
02:57 <mdedetrich> it also doesn't talk about classes
02:57 <zyzzyva> a table is a function
02:57 <zyzzyva> after all
02:57 ttt joined
02:57 <mdedetrich> no its not
02:57 <mdedetrich> a table is a table
02:57 <zyzzyva> a truth table
02:57 <mdedetrich> is not a function
02:57 <zyzzyva> it is
02:57 <mdedetrich> no its not
02:57 <zyzzyva> read the definition
02:57 <zyzzyva> its a relation
02:58 <zyzzyva> a table is an acceptable specification of the function
02:58 <mdedetrich> A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, boolean functions, and propositional calculus—to compute the functional values of logical expressions on each of their functional arguments, that is, on each combination of values taken by their logical variables (Enderton, 2001). In particular, truth tables can be used to tell whether a propositional expression is true for all l
02:58 <mdedetrich> input values, that is, logically valid.
02:58 <mdedetrich> it computes functional values
02:58 <zyzzyva> because the table specifies a relation
02:58 <mdedetrich> thats not the same thing as it IS a function
02:58 <zyzzyva> between input and output
02:58 voti joined
02:58 <mdedetrich> it specifies multiple inputs
02:58 <zyzzyva> the question is whether or not its a function
02:58 <mdedetrich> and multiple outputs
02:58 <zyzzyva> its a relation
02:58 <mdedetrich> so it cannot
02:58 <mdedetrich> be a definition
02:58 <mdedetrich> of a function
02:58 <zyzzyva> the input is a tuple
02:58 <zyzzyva> the input is always a tuple
02:59 slicky joined
02:59 <zyzzyva> f(x,y) is a function with a 2d input
02:59 r0tha joined
02:59 <mdedetrich> the input is a single value
02:59 <zyzzyva> if x is in the set of X y in the set of Y then (x,y) is in the set XxY (cartesian product)
02:59 <zyzzyva> the input to the function therefore is an element of that product
02:59 aslant joined
03:00 ding_ joined
03:00 <zyzzyva> so that's what the table shows
03:00 <mdedetrich> yes and
03:00 <mdedetrich> java cannot do that
03:00 <zyzzyva> start from definition
03:00 <mdedetrich> yes
03:00 <mdedetrich> and java
03:00 <zyzzyva> function definition refers to expression of the relation
03:00 <mdedetrich> cannot express that
03:00 <zyzzyva> java can
03:01 <mdedetrich> its expressing a function + extra stuff
03:01 <mdedetrich> thats not a function
03:01 <zyzzyva> its expressing a relation
03:01 <mdedetrich> you do realize
03:01 <zyzzyva> the question is whether a relation can be expressed
03:01 <mdedetrich> that with your logic
03:01 <zyzzyva> and the answer is ye
03:01 <mdedetrich> everything in the world
03:01 <zyzzyva> *yes
03:01 <mdedetrich> is a function
03:01 <mdedetrich> according to you
03:01 <mdedetrich> everything is a function
03:01 <mdedetrich> everything in the world is a function
03:01 <zyzzyva> the question regards the mathematical definition of function
03:01 templaedhel joined
03:01 <mdedetrich> according to you
03:01 <mdedetrich> the mathematical definition
03:01 <mdedetrich> of a function
03:01 <zyzzyva> nope
03:01 <mdedetrich> is everything in the world
03:01 <mdedetrich> yes
03:01 <zyzzyva> according to the *definition*
03:01 <mdedetrich> no
03:02 <mdedetrich> I'm using your logic here
03:02 <zyzzyva> a table is an acceptable specification of a relation
03:02 <mdedetrich> you define relation
03:02 <zyzzyva> no you arent
03:02 <mdedetrich> as anything
03:02 <mdedetrich> I can put anything
03:02 <mdedetrich> as a relation
03:02 <mdedetrich> and call it a function
03:02 <zyzzyva> you are trying to caricature a very straightforward point
03:02 <mdedetrich> you just changed the definition
03:02 <mdedetrich> of function
03:02 <mdedetrich> to relation
03:02 <zyzzyva> nope
03:02 <mdedetrich> yes
03:02 <zyzzyva> function says In mathematics, a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output.
03:02 <zyzzyva> the word it uses is relation
03:02 dzajdband joined
03:02 <mdedetrich> yes
03:02 <mdedetrich> which isn't a class
03:02 <zyzzyva> notice that a function *is* a relation
03:02 <mdedetrich> representing a function
03:02 <zyzzyva> why not?
03:02 vahnpaper joined
03:02 <mdedetrich> because
03:03 <zyzzyva> a class with a single methd
03:03 <zyzzyva> as per a standard protocol
03:03 <mdedetrich> yes
03:03 <mdedetrich> and a class with a single method
03:03 <zyzzyva> *does* specify a relation
03:03 <mdedetrich> cannot be used
03:03 BrantB joined
03:03 <mdedetrich> as a function
03:03 <mdedetrich> everywhere
03:03 <mdedetrich> in java
03:03 <zyzzyva> it *does* specify a relation
03:03 <mdedetrich> so it doesn't hold that definition
03:03 <zyzzyva> nope now you are conflating definitions
03:03 <zyzzyva> try again
03:03 <mdedetrich> nope
03:03 <mdedetrich> map
03:03 <mdedetrich> has to accept
03:03 <mdedetrich> any function
03:03 <mdedetrich> ANY function
03:03 <zyzzyva> map has to accept a given function
03:03 <mdedetrich> has
03:03 <zyzzyva> function doesnt say how its specified
03:03 <mdedetrich> any given function
03:03 <mdedetrich> a map in java
03:03 etcetera joined
03:03 <mdedetrich> cannot accept
03:03 <mdedetrich> any class
03:03 <zyzzyva> where does it say it has to be specified in a very specific way?
03:03 <zyzzyva> break it down
03:03 <mdedetrich> no it has to accept
03:03 <mdedetrich> a function
03:04 <mdedetrich> you broadened
03:04 <zyzzyva> a function is a relation between inputs and outputs
03:04 <mdedetrich> the definition of function
03:04 <mdedetrich> shut up for a sec
03:04 <zyzzyva> i didnt broaden it
03:04 <zyzzyva> that's the actual definition
03:04 <mdedetrich> shut up
03:04 <mdedetrich> shut up
03:04 <zyzzyva> mdedetrich: :)
03:04 <mdedetrich> you broadened
03:04 <mdedetrich> function
03:04 <zyzzyva> :)
03:04 <mdedetrich> to include
03:04 <zyzzyva> nope
03:04 <zyzzyva> In mathematics, a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output.
03:04 <mdedetrich> classes
03:04 <mdedetrich> as functions
03:04 <zyzzyva> try again
03:04 <zyzzyva> hold on
03:04 <zyzzyva> try again
03:04 <mdedetrich> according you
03:04 <zyzzyva> a function is a relation
03:04 <mdedetrich> class with a single method
03:04 <mdedetrich> is a function
03:04 <mdedetrich> correct?
03:04 <zyzzyva> it doesnt say *how* it is specified, yes or no?
03:04 <zyzzyva> start from function because this is where we disagree
03:04 <zyzzyva> In mathematics, a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output.
03:04 <mdedetrich> no
03:04 <mdedetrich> we are dealign with languages
03:04 <mdedetrich> you said
03:04 <zyzzyva> does it say *how* a function should be specified?
03:04 <mdedetrich> that you can represent
03:04 <mdedetrich> a class
03:05 <mdedetrich> as a single method
03:05 <zyzzyva> In mathematics, a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output.
03:05 <mdedetrich> lets do this in java
03:05 <zyzzyva> start from our disagreement
03:05 <mdedetrich> you are still wrong
03:05 <zyzzyva> because it really boils down to the definition of function
03:05 <zyzzyva> which clearly agrees with my definition
03:05 <mdedetrich> you cannot express map in java
03:05 zachwolfe joined
03:05 vladikoff joined
03:05 _schulte_ joined
03:05 pavelz joined
03:05 cbobo joined
03:05 xandy joined
03:05 retornam joined
03:05 marlun joined
03:05 reid joined
03:05 Garo_ joined
03:05 odyniec_ joined
03:05 joshie joined
03:05 danheberden joined
03:05 tec27 joined
03:05 PhilK joined
03:05 ding joined
03:05 Typo joined
03:05 m0 joined
03:05 hexreel joined
03:05 iaingrant joined
03:05 chrisina1ar joined
03:05 wang joined
03:05 stutter joined
03:05 Mortchek joined
03:05 marienz joined
03:05 SecretAgent joined
03:05 ianl`_ joined
03:05 chiel joined
03:05 Erriond joined
03:05 Connorhd joined
03:05 edsu joined
03:05 substans_ joined
03:05 munro joined
03:05 kranius joined
03:05 mikey_p joined
03:05 <mdedetrich> no its because you broadened the definition
03:05 <mdedetrich> if I write a class
03:05 <mdedetrich> with a single method in java
03:05 rhutchison_ joined
03:05 <mdedetrich> it cannot be used in a map function
03:05 <zyzzyva> nope
03:05 <zyzzyva> try again
03:05 <mdedetrich> in any map function
03:05 <zyzzyva> In mathematics, a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output.
03:06 <zyzzyva> map is the name of a higher-order function that applies a given function to each element of a list, returning a list of results.
03:06 <mdedetrich> yes
03:06 <zyzzyva> so lets start with function
03:06 <mdedetrich> so function
03:06 <mdedetrich> according to you
03:06 <mdedetrich> in java
03:06 SecretAgent joined
03:06 <mdedetrich> is
03:06 <mdedetrich> a class with a single method
03:06 <mdedetrich> or thats how you represent a class
03:06 <zyzzyva> hold on
03:06 <mdedetrich> please write a function
03:06 <zyzzyva> take a step back
03:06 <mdedetrich> that accepts taht
03:06 <zyzzyva> what's function
03:06 <zyzzyva> whats a function
03:06 <mdedetrich> can you please
03:06 <zyzzyva> not in java
03:06 <zyzzyva> in general
03:06 <mdedetrich> write a map
03:06 stisti joined
03:06 <mdedetrich> in java
03:06 <zyzzyva> then we can define what map is
03:06 <mdedetrich> that acceps
03:06 <mdedetrich> a class
03:06 <mdedetrich> with a single method
03:07 <zyzzyva> hold on you arent talking about the idea of map anymore
03:07 <zyzzyva> you have changed what map means
03:07 <mdedetrich> not that the method cannot have a specific name
03:07 <mdedetrich> and it has to be a generic class
03:07 mattikus joined
03:07 <mdedetrich> *note
03:07 <mdedetrich> nonono
03:07 <mdedetrich> you said
03:07 <mdedetrich> that a function in java
03:07 <zyzzyva> i dont see "anonymous function" for example in map
03:07 <mdedetrich> can be represented
03:07 <mdedetrich> as a class
03:07 <mdedetrich> with a single method
03:07 <mdedetrich> so I want you to actually write ME java code
03:07 <mdedetrich> that does that
03:07 <mdedetrich> it cannot extend anything
03:07 <mdedetrich> it cannot implement an interface
03:08 <zyzzyva> what does that mean?
03:08 <zyzzyva> where is that restriction enforced?
03:08 <mdedetrich> I want you to provide me
03:08 <mdedetrich> with java code
03:08 <zyzzyva> it says it has to take a specification of a relation
03:08 <mdedetrich> showing map
03:08 ahbritto_ joined
03:08 <mdedetrich> I want you to provide me
03:08 <zyzzyva> there are ways to specify relationships
03:08 <mdedetrich> with java code
03:08 <mdedetrich> that does a map
03:08 <mdedetrich> again
03:08 <zyzzyva> that dont use functions
03:08 <mdedetrich> I want you to provide me
03:08 <zyzzyva> now look at scala
03:08 <mdedetrich> with java code
03:08 <mdedetrich> that does a map
03:08 <mdedetrich> please provide me
03:08 <zyzzyva> can scala take a table and use map that way?
03:08 <mdedetrich> with java code
03:08 <mdedetrich> that does a mpa
03:08 <zyzzyva> take a table specification of a logic function?
03:08 <mdedetrich> or I'm ending discussion
03:08 <mdedetrich> right here
03:08 <zyzzyva> and run it on a set of inputs
03:08 <zyzzyva> answer me
03:08 <mdedetrich> read ^
03:08 <mdedetrich> nope
03:08 <zyzzyva> you are changing the game
03:09 <zyzzyva> focus on the definitions first
03:09 <mdedetrich> yes
03:09 <zyzzyva> then ill write the code
03:09 <mdedetrich> because you are going off topic
03:09 <zyzzyva> because i want to know how general scala's map is
03:09 <mdedetrich> and splitting hairs
03:09 <zyzzyva> according to the definition
03:09 <zyzzyva> a function is a relation between inputs and outputs
03:09 <zyzzyva> a truth table is one such specification
03:09 <mdedetrich> anything thats a function can be put into a map, as long as the types match
03:09 <zyzzyva> can scala's map take a truth talbe?
03:09 <mdedetrich> yes
03:09 <zyzzyva> write a truth table
03:09 <mdedetrich> scala has tuples
03:09 <zyzzyva> and then show in scala how map applies to that function
03:10 cache joined
03:10 <zyzzyva> i give you a table
03:10 <zyzzyva> i dont give you the truth function
03:10 <zyzzyva> i give it to you as a table
03:10 <zyzzyva> now unless scala accepts a table as a function, you have to convert it
03:10 <Oddman> mdedetrich, thought you were ending the discussion :P
03:10 <zyzzyva> if that's the case, then scala's map doesnt actually do what "map" is defined to do
03:10 <zyzzyva> i want to know what he wants
03:10 <mdedetrich> I want you to write a map
03:11 <mdedetrich> in java
03:11 <mdedetrich> I'm still waiting
03:11 <zyzzyva> because scala's map doesnt take tables
03:11 <zyzzyva> im waiting for your answer
03:11 <mdedetrich> whats a table
03:11 bradleymeck joined
03:11 <mdedetrich> I can defined a table as a tuple of 4 elements
03:11 <zyzzyva> its a list of tuples that should return 1 otherwise return 0
03:11 <mdedetrich> in scala
03:11 <zyzzyva> map doesnt accept it natively
03:11 <mdedetrich> with a mapping for each truth table
03:11 <zyzzyva> you have to write a function to handle it
03:11 <mdedetrich> yes it does
03:11 <zyzzyva> EVEN THOUGH
03:11 <mdedetrich> uh no
03:11 <zyzzyva> oh it does?
03:12 <mdedetrich> well you defined an input of type table
03:12 <zyzzyva> i actually wasnt aware that it could take a list of tuples and treat it as a function without extra syntactic stuff
03:12 <mdedetrich> .....
03:12 <mdedetrich> why would you do it as a list of tuples
03:12 <zyzzyva> i didnt realize that you could directly pass a truth table
03:12 <mdedetrich> a truth table has 4 rows in it
03:12 <zyzzyva> a truth table with 2 variables has 4 rows
03:12 <mdedetrich> so you define it as a tuple4
03:13 <zyzzyva> a truth table with 16 variables has 2^16 elements
03:13 <zyzzyva> so i have a general relationship
03:13 <zyzzyva> encoded as a list
03:13 <mdedetrich> you do realize that a function
03:13 <mdedetrich> is a black box
03:13 <zyzzyva> the list uses a gray code
03:13 <zyzzyva> nope
03:13 octane-- joined
03:13 <mdedetrich> yes
03:13 <zyzzyva> if you take that definition
03:13 <zyzzyva> then my implementation using function objects is acceptable
03:13 <mdedetrich> A function f takes an input x, and returns an output f(x). One metaphor describes the function as a "machine" or "black box" that for each input returns a corresponding output.
03:13 <mdedetrich> :)
03:13 <zyzzyva> the function representation is what you are complaining about
03:14 <mdedetrich> no thats the implementation of a function
03:14 <zyzzyva> if you are going to bitch about how its represented, then let's see if scala can handle all representations
03:14 <mdedetrich> not how its represented
03:14 recycle joined
03:14 <mdedetrich> I'm asking you
03:14 <mdedetrich> to provide me
03:14 <zyzzyva> im asking you first
03:14 <mdedetrich> with a map
03:14 <mdedetrich> in java
03:14 <mdedetrich> well good day then
03:14 <mdedetrich> because I can guarantee you
03:14 <zyzzyva> because you dont accept what is a perfectly acceptable definition as per scala's map concept
03:14 <mdedetrich> if you write a map in java
03:14 <mdedetrich> I can break it
03:14 <zyzzyva> i can break your scala map :)
03:14 <mdedetrich> with what
03:14 <zyzzyva> i list
03:15 techthumb joined
03:15 <mdedetrich> maps can take in anything
03:15 <mdedetrich> even a list
03:15 <mdedetrich> you do realize that scales type system is turing complete?
03:15 <mdedetrich> java's is not
03:15 <zyzzyva> the map can take a table as the function?
03:15 <mdedetrich> define a table
03:15 <Oddman> you guys remind me of me and my mum
03:15 <zyzzyva> a list of pairs of the form (input, output)
03:16 <Oddman> except instead of the intricacies of language features, it's about her attitude.
03:16 <zyzzyva> thats a specification of a function as per the definition
03:16 <zyzzyva> its a relation
03:16 <Oddman> "define attitude"
03:16 <Oddman> fuck you, mum
03:16 <zyzzyva> between a set of inputs and outputs
03:16 <mdedetrich> yes you can do that in scala
03:16 <mdedetrich> with higher order functions/recursion
03:16 <zyzzyva> can you give an example?
03:16 <mdedetrich> and currying
03:16 <zyzzyva> wait wait wait
03:16 <zyzzyva> now you have extra crap
03:16 <zyzzyva> it cant take the list directly
03:16 <zyzzyva> you have to massage it
03:16 <mdedetrich> currying
03:16 tlync joined
03:16 <mdedetrich> is unboxing a function
03:16 techthumb joined
03:16 <zyzzyva> im massaging the function with a object wrapper
03:17 <mdedetrich> its a method on functions
03:17 <mdedetrich> do you know what currying is?
03:17 <Oddman> it's what indians do, when they make delicious meals
03:17 <mdedetrich> zyzzyva: http://en.wikipedia.org/wiki/Currying
03:17 <zyzzyva> its re-representinbg a function of multiple variables as a simpler function
03:17 <mdedetrich> In mathematics and computer science, currying is the technique of transforming a function that takes multiple arguments (or an n-tuple of arguments) in such a way that it can be called as a chain of functions each with a single argument (partial application). It was originated by Moses Schönfinkel[1] and later re-discovered by Haskell Curry.[2][not specific enough to verify] Because of this, some say it would be more correct to nam
03:17 <mdedetrich> schönfinkeling.[3][4]
03:17 <zyzzyva> thats still massaging the representation
03:17 <zyzzyva> i asked
03:17 <zyzzyva> does it take a table directly
03:17 <mdedetrich> uh no
03:17 <mdedetrich> a curried version of a function is also a function
03:17 bartt joined
03:17 <zyzzyva> and you give a specification which has to work with the table
03:17 <mdedetrich> yes you can
03:17 <zyzzyva> it doesnt *directly* accept this specification
03:18 r0tha joined
03:18 <zyzzyva> even though its a function
03:18 <mdedetrich> if you define the table as a function
03:18 <mdedetrich> you can
03:18 <mdedetrich> if you define the table as a function you can
03:18 <zyzzyva> you still need to transform it
03:18 marienz joined
03:18 <zyzzyva> you cant pass the table as is
03:18 <mdedetrich> thats besides the point
03:18 <mdedetrich> map takes in any function
03:18 <zyzzyva> and im saying thats tantamount to an object wrapper :)
03:18 <mdedetrich> express the truth table
03:18 <mdedetrich> as a function
03:18 <mdedetrich> no
03:18 <zyzzyva> nope
03:18 <mdedetrich> its a function wrapping a function
03:18 <zyzzyva> truth table is a specification
03:18 <mdedetrich> not an object wrapping a function
03:18 <zyzzyva> according to the definition :)
03:18 <mdedetrich> yes and?
03:18 <zyzzyva> try again
03:19 <mdedetrich> you said
03:19 <mdedetrich> you can define a truth table
03:19 <mdedetrich> as a function
03:19 <zyzzyva> scala's map doesnt match your definition of map
03:19 <mdedetrich> if that property holds true
03:19 <mdedetrich> can you represent a truth table
03:19 <mdedetrich> as a function
03:19 <mdedetrich> yes/no?
03:19 <zyzzyva> there needs to be a transformation
03:19 <mdedetrich> answer the question
03:19 <mdedetrich> can you represent
03:19 <mdedetrich> the truth table
03:19 <zyzzyva> which is tantamount to the transformation you are chewing out
03:19 <mdedetrich> as a function
03:19 <mdedetrich> answer the question
03:20 <zyzzyva> it can be interpreted as a function
03:20 <zyzzyva> its a function
03:20 <mdedetrich> can you represent a truth table
03:20 <mdedetrich> as a function
03:20 <zyzzyva> yes
03:20 <mdedetrich> so yes
03:20 <mdedetrich> scala can do that
03:20 <zyzzyva> a table is a representation of a function
03:20 <zyzzyva> but to do that you need to rework that transformation
03:20 <mdedetrich> hang on
03:20 <mdedetrich> you said a table IS a functin
03:20 <mdedetrich> or a representation
03:20 <mdedetrich> which one
03:20 <zyzzyva> a table specifies a relation
03:20 <mdedetrich> if its the latter, then its irrelevant
03:20 <zyzzyva> so it is a function
03:20 <mdedetrich> then scala can do it
03:20 <zyzzyva> then do it
03:21 <mdedetrich> go ask on stack overflow
03:21 <zyzzyva> show me how you are going to do it
03:21 <zyzzyva> :)
03:21 <mdedetrich> I'm sure someone can do it
03:21 <mdedetrich> when you write a mpa
03:21 <mdedetrich> in java
03:21 <mdedetrich> I will
03:21 <mdedetrich> :)
03:21 <zyzzyva> so the difference is
03:21 <zyzzyva> wait wait wait
03:21 <mdedetrich> the difference is
03:21 <zyzzyva> the difference is
03:21 <mdedetrich> I have work to do
03:21 <zyzzyva> its acceptable to transform the table
03:21 <zyzzyva> and not acceptable to transform the function
03:21 <zyzzyva> you have a double standard sir
03:21 <mdedetrich> transforming a function
03:21 <mdedetrich> to a function
03:21 <zyzzyva> and its clear to me you can't find an internally consistent definition
03:21 <mdedetrich> is still a function
03:21 <zyzzyva> its a function
03:22 <mdedetrich> transforming an object
03:22 <mdedetrich> to a function
03:22 <zyzzyva> an object wrapping a function is a function according to the mathematical definition :)
03:22 <mdedetrich> or vice versa
03:22 <mdedetrich> is not a function
03:22 <mdedetrich> comprehende?
03:22 <mdedetrich> nope
03:22 <zyzzyva> and if you define map according to the *mathematical* definition then it is correct
03:22 <mdedetrich> this is an object with a function
03:22 <zyzzyva> id recommend you revisit your theoretical cs
03:22 <mdedetrich> {a:(a)-> a + a}
03:22 <mdedetrich> this is a function
03:22 <mdedetrich> (a) -> a + a
03:22 <zyzzyva> this is also a table
03:22 <mdedetrich> that object accepts no input
03:22 <zyzzyva> *this is also a function
03:22 <mdedetrich> that object is accepting no input
03:22 <zyzzyva> [(1,1),(2,2), ...]
03:23 <mdedetrich> and no output
03:23 <mdedetrich> {a:(a)-> a + a}
03:23 <mdedetrich> thats an object
03:23 <mdedetrich> wrapping a function
03:23 <mdedetrich> it has no input
03:23 <mdedetrich> or output
03:23 <mdedetrich> so its not a function
03:23 <zyzzyva> you are now confusing the scala map with the concept of map
03:23 <nodebie> wow.. you guys can type really fast =P
03:23 <mdedetrich> this isn't even scala
03:23 <mdedetrich> thats an object
03:23 <mdedetrich> with a function
03:23 <nodebie> How did you guys do that?
03:23 <zyzzyva> if your statement is that you cant implement scala's impklementation of map in java, then i agree
03:23 <Oddman> that's what happens when you have a geek war.
03:23 <zyzzyva> but if you are talking about map the idea
03:23 <zyzzyva> then you are wrong
03:23 <mdedetrich> you are wrong
03:23 <mdedetrich> what you are calling a function
03:23 <mdedetrich> is not a function
03:24 <Oddman> note that our chat lines are cannon fodder...
03:24 <mdedetrich> this is an object with a function
03:24 <mdedetrich> {a:(a)-> a + a}
03:24 <zyzzyva> ill leave it at this: the definition of function agrees with me
03:24 <mdedetrich> it does not accept input or output
03:24 <zyzzyva> look at it
03:24 <zyzzyva> as a relation
03:24 <zyzzyva> there's no restriction to representation
03:24 <mdedetrich> nope
03:24 <Zak> are you guys still going?
03:24 <zyzzyva> and as such, you have to transform it either way
03:24 <zyzzyva> either in scala or in java
03:24 <Zak> i went out to lunch and back again
03:24 <zyzzyva> and if you cant accept that fact
03:24 <mdedetrich> can you write me
03:24 <AvianFlu> Zak: yeah it's been like two hours lolz
03:24 <mdedetrich> a map in java
03:24 lwicks joined
03:24 <mdedetrich> to what you think map is
03:24 <zyzzyva> then there are some real problems with your ability to think
03:24 <mdedetrich> I'm asking me
03:25 <mdedetrich> for you to write a map
03:25 <Zak> #scalavsjava OK GET OUT
03:25 <mdedetrich> or give me an example of map
03:25 <mdedetrich> in java
03:25 <zyzzyva> i explained how its done
03:25 <mdedetrich> of what YOU think it is
03:25 <nodebie> I just wish they can answer my questions ;(
03:25 <zyzzyva> for loop
03:25 <mdedetrich> zyzzyva: code please
03:25 <mdedetrich> I want code
03:25 <zyzzyva> you threw out the concept without giving a reason
03:25 <mdedetrich> zyzzyva: I want to see your code
03:25 <zyzzyva> i explained the idea using objects wrapping functions
03:25 <zyzzyva> you said it didnt count
03:25 <zyzzyva> i explained why
03:25 <mdedetrich> zyzzyva: i dont care
03:25 <zyzzyva> we looked at the definition
03:26 <mdedetrich> zyzzyva: i want to see your code
03:26 <zyzzyva> i was right in the defintiion
03:26 <mdedetrich> zyzzyva: I do not care
03:26 <zyzzyva> so you need to agree its acceptable and then ill do it
03:26 <mdedetrich> zyzzyva: you were not
03:26 <zyzzyva> i was consistent with the facts
03:26 <mdedetrich> zyzzyva: you were not
03:26 <zyzzyva> ohh we've got a mitt romney over here :)
03:26 <zyzzyva> the fact is
03:26 <Zak> 2 hours ago, it was "i'll agree we disagree"
03:26 <mdedetrich> zyzzyva: the fact is
03:26 <mdedetrich> I'm asking you to put
03:26 <mdedetrich> money
03:26 <mdedetrich> where your mouth is
03:26 <zyzzyva> "a function[1] is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output"
03:26 <mdedetrich> write a map
03:26 <mdedetrich> in java
03:26 <mdedetrich> you are saying its possible
03:26 <mdedetrich> so write it please
03:26 <zyzzyva> we havent agreed on what a function is
03:26 <mdedetrich> Im asking you
03:26 <mdedetrich> to do it
03:27 <zyzzyva> you have a contrived definition conforming to scala
03:27 <mdedetrich> with your definition
03:27 rauchg joined
03:27 <zyzzyva> if we cant agree on the function definition
03:27 <zyzzyva> then *any* implementation i give is broken
03:27 <mdedetrich> I'm asking you to write map
03:27 <zyzzyva> so we have to start from there
03:27 <mdedetrich> according to your definition
03:27 <zyzzyva> i want you to write scala map that takes *any* representation
03:27 alunny joined
03:27 euoia joined
03:27 <nodebie> yeah.. start with a common base that both of you can agreen on first =P
03:27 <mdedetrich> do you have a definition of map
03:27 <Zak> nodebie: whats your question?
03:27 <mdedetrich> ignore mine
03:27 <mdedetrich> *me
03:27 <nodebie> hi there, is there any authorization module out there that lets me control access to a page/route other than Gandalf?
03:27 <mdedetrich> ignore my definition
03:27 <nodebie> i.e which bunch of users allowed to post/delete/edit which post
03:27 <zyzzyva> map depends on definition
03:27 <mdedetrich> i want you to write a map, according to the definition
03:27 <nodebie> that was my question Zak
03:27 <mdedetrich> of what YOU think map is
03:27 <zyzzyva> *map depends on definition of function
03:27 <mdedetrich> ok
03:27 <zyzzyva> i think
03:27 <mdedetrich> so write a map
03:28 <mdedetrich> according to your definition
03:28 <zyzzyva> a map can take an object
03:28 <mdedetrich> of a function
03:28 <mdedetrich> code it up please
03:28 <zyzzyva> and apply an "apply" function to each element iteratively
03:28 <mdedetrich> ok
03:28 <mdedetrich> code it please
03:28 boltR joined
03:28 <mdedetrich> and make it proper java code
03:28 <mdedetrich> that compiles
03:29 <pyrotechnick> get a freakin room
03:29 indexzero joined
03:30 <Zak> nodebie: did you check through the list of modules?
03:30 <Zak> https://github.com/joyent/node/wiki/Modules
03:30 <Zak> there's a connect-auth module that supports a few options
03:30 blueadept joined
03:30 blueadept joined
03:32 <Zak> pyrotechnick: +1
03:32 AndrewClarkson joined
03:32 jxson joined
03:33 <mdedetrich> I don't think that zyzzyva realizes, that no matter how he does it in java, recursion won't work
03:33 <nodebie> Zak, I am looking for an authorization module rather than authentication
03:33 <mdedetrich> so it breaks the property of map
03:33 YoY joined
03:33 <zyzzyva> recursion is not a definition of map
03:33 <zyzzyva> *not in the definition of map
03:33 <zyzzyva> you are using a new definition
03:33 <mdedetrich> if you define a function
03:33 <mdedetrich> it has recursion
03:33 <mdedetrich> else its not a function
03:33 <mdedetrich> you cannot recurse classes in java
03:33 <sinclairzx> anyone know if its possible to virtualize a class method in TS?
03:33 <mdedetrich> :)
03:34 <zyzzyva> wait wait
03:34 <zyzzyva> map as a concept
03:34 <mdedetrich> map has to accept a function
03:34 <mdedetrich> if you define a function
03:34 <zyzzyva> takes a specification of a function
03:34 <mdedetrich> it can call iteself
03:34 <mdedetrich> thats recursion
03:34 <mdedetrich> map has to take a function that has recursion
03:34 <mdedetrich> its still a function
03:34 <mdedetrich> by definition of the word function
03:34 <Zak> GET OUT
03:35 <zyzzyva> you are changing the definition of map
03:35 <Zak> you guys aren't even arguing about the main point anymore, its a meta argument about definitions
03:35 <Zak> GET OOUT
03:35 <mdedetrich> no I'm not
03:35 <mdedetrich> map takes in a function
03:35 <zyzzyva> yes you are
03:35 <mdedetrich> a function that does recursion
03:35 lohkey joined
03:35 <mdedetrich> is still a function
03:35 <sinclairzx> Zak: no you
03:35 <Zak> Look
03:35 <Zak> I'll sum it up for you guys
03:35 <Zak> mdedetrich is saying that languages are constructed, like pieces of lego
03:36 <mdedetrich> I have a function, lets call it b, that does recursion (by calling some other function or itself)
03:36 <mdedetrich> its still a function
03:36 <Zak> and the expressiveness of a language, is the diversity of lego pieces available to you
03:36 <mdedetrich> map has to take b
03:36 <mdedetrich> by definition of map
03:36 <mdedetrich> being able to take in a function
03:36 <mdedetrich> if it can't take b, then b is not a function
03:37 <mdedetrich> that breaks your entire 2 argument fukery completely
03:37 <zyzzyva> where does the definition of map requiire that
03:37 <mdedetrich> *2 hour
03:37 <mdedetrich> map requires a function
03:37 <zyzzyva> to be applied to a list of elements
03:37 <mdedetrich> yes
03:37 <zyzzyva> where is it required that a function is an element /
03:37 <mdedetrich> yes
03:37 <zyzzyva> lemme try that again
03:37 <mdedetrich> so any sought of "function" that you come up with
03:37 <mdedetrich> in java
03:37 <zyzzyva> where is it defined that a function is an element
03:37 <mdedetrich> I can break
03:37 <mdedetrich> by definition of map
03:37 <zyzzyva> i dont see a definition one way or the other
03:37 <zyzzyva> nope
03:37 <pher0x1> :/
03:38 <mdedetrich> so how does java accept a function then
03:38 <zyzzyva> this gets back to what's a function
03:38 <mdedetrich> then write some code please
03:38 pher0x1 joined
03:38 <mdedetrich> I'm saying java doesn't support map
03:38 <mdedetrich> im asking you to disprove me
03:38 <mdedetrich> with some code
03:38 <zyzzyva> i want to agree on what a map is
03:38 <mdedetrich> we wont
03:38 <mdedetrich> so provide some code
03:39 jpdery joined
03:39 <mdedetrich> and anything you put into that 'map' I will define as a function (since map has to take in a function)
03:39 <mdedetrich> and I will break it
03:39 <zyzzyva> you are assuming that it must take a list of function
03:40 <mdedetrich> nope
03:40 <mdedetrich> a single function
03:40 <zyzzyva> are you familiar with russell's hierarchy?
03:40 <zyzzyva> http://en.wikipedia.org/wiki/Russell%27s_paradox
03:40 chris2bi_ joined
03:40 <mdedetrich> are you familiar with the concept
03:40 <zyzzyva> you are trying to point to that
03:40 <mdedetrich> of providing evidence
03:40 <zyzzyva> but im saying that you have to define map properly
03:40 <zyzzyva> if you want to get to your point
03:40 booo joined
03:40 <mdedetrich> this has nothing to do with russels paradox
03:41 <mdedetrich> I can write a map that isn't breakable in scala
03:41 <mdedetrich> i can't write one in java
03:41 elsifaka joined
03:41 <zyzzyva> that's not a reflection of expressivity
03:41 <mdedetrich> I'm trying to express map
03:41 <mdedetrich> so please go ahead
03:42 <mdedetrich> you are arguing with theory for the sakes of arguing
03:42 <mdedetrich> and you can argue the way you are
03:42 <mdedetrich> for weeks
03:42 <mdedetrich> and prove anything
03:42 <zyzzyva> you are not providing the correct definition
03:43 <mdedetrich> I'm asking you to provide it
03:43 <mdedetrich> if you are writing a map you have to define a function
03:43 <mdedetrich> whether or not that is valid, we will see
03:43 <mdedetrich> :)
03:43 defunctzombie left
03:43 <zyzzyva> we have to agree on validity
03:43 <mdedetrich> no you have to
03:43 <mdedetrich> I don't
03:44 <zyzzyva> for example, if i restrict it to string and number literals
03:44 <mdedetrich> you are the one writing the code
03:44 <ChrisPartridge> agree to disagree, and walk away guys :)
03:44 bartt joined
03:44 <mdedetrich> I don't see how strings or literals
03:44 <mdedetrich> have anything to do with this
03:44 <Zak> what ChrisPartridge
03:44 <Zak> said
03:44 <Zak> please
03:44 <Zak> for
03:44 <Zak> the
03:44 <Zak> love of god
03:44 <mdedetrich> unless you are saying that strings or number literals functions
03:45 <mdedetrich> in which case go ahead
03:45 <Oddman> hahaha
03:45 <Oddman> privately, guys :P
03:45 <Oddman> first of all, this is the NODE.JS channel ;)
03:45 <zyzzyva> lets take it to PM
03:46 <mdedetrich> write code first
03:46 <mdedetrich> I'm heading off
03:46 voti joined
03:46 IrishGringo joined
03:46 <Zak> finally
03:46 <zyzzyva> lol anyone has his email?
03:46 <Zak> now we can argue about TypeScript
03:47 <pyrotechnick> what's wrong with typescript?
03:47 <pyrotechnick> all i've ever wanted are compiler errors
03:47 kennethkoontz joined
03:48 petschm_ joined
03:48 <Oddman> hahaha
03:48 <Oddman> :P
03:48 <Raynos> is there a CLI test runner that basically runs all files in a folder as a node program
03:48 <sinclairzx> Zak: guess what
03:49 boltR_ joined
03:49 <* Oddman> watches slowly as all the node.jsers reveal themselves, picking up their items and going back to work
03:50 duc1199 joined
03:51 <sinclairzx> Zak: ive outputted 1000+ lines of JS with TS, and you know what....im not alone
03:51 wangbus^glzrs joined
03:51 <sinclairzx> Zak: im fluffing up all your JS with TS
03:52 mdedetrich joined
03:52 <sinclairzx> Zak: there must be at least a million lines of TS generated JS out there now.
03:52 <* sinclairzx> fluffs on
03:53 <mdedetrich> eh, I might have a look at TS one day
03:53 <mdedetrich> at least it implements commonjs
03:54 <Zak> sinclairzx: coffeescript has had no impact on what i'm doing. I'm not worried about typescript either :)
03:54 shuaib joined
03:54 <mdedetrich> eh, I mainly use coffee script because I have to write less
03:54 <mdedetrich> coffee script to js is like scala to java
03:54 <Zak> mdedetrich: don't start, we've had enough
03:55 <mdedetrich> eh ill put zyzzyva on ignore
03:55 <Zak> no
03:56 <sinclairzx> mdedetrich: http://pastebin.com/6E1frxYs <-- node js with TS
03:56 <mdedetrich> Zak: why?
03:56 thealphanerd joined
03:57 <mdedetrich> sinclairzx: nice
03:57 <mdedetrich> I would like it better if TS used whitespace instead of bracers
03:57 <mdedetrich> made braces optional
03:57 <mdedetrich> *or made braces optional
03:58 <sinclairzx> mdedetrich: http://pastebin.com/6E1frxYs = http://pastebin.com/ucw5D7TR
03:58 <mdedetrich> I don't know why Haskell is the only static language out there which makes braces an optional thing
03:58 <Zak> looks like bloat to me :P
03:58 <pyrotechnick> your mum looks like bloat
03:59 <Zak> that's because we buried her inside a weather baloon
03:59 <mdedetrich> Zak: the exported line count from TS
03:59 <mdedetrich> is lower than the source
03:59 jdeibele joined
03:59 joshontheweb joined
03:59 <mdedetrich> tbh, TS probably bloats as much as CF does
03:59 <sinclairzx> mdedetrich: i don't think it really matters all that much
03:59 <mdedetrich> and you honestly shouldn't be worrying about line count for server side JS
04:00 <sinclairzx> mdedetrich: i expect that there will be optimizations in future
04:00 <Zak> mdedetrich: ummm
04:00 <mdedetrich> and for client side you always have googles closure compiler, or ulglifyjs or something
04:00 <Zak> did you even look at the source and the output?
04:00 <mdedetrich> Zak: yes?
04:00 <Zak> because the source is double-spaced.........
04:00 <Zak> i think sinclair is really getting paid :P
04:00 <sinclairzx> Zak: you wouldn't end up writing something like this anyway?
04:01 <Zak> that wasn't my point
04:01 <mdedetrich> oh woops
04:01 <mdedetrich> my bad
04:01 <mdedetrich> but
04:01 <Zak> it was mdedetrich who was comparing source and taget :P
04:01 <mdedetrich> I don't see how you can write
04:01 <mdedetrich> more dense
04:01 <mdedetrich> javascript
04:01 <mdedetrich> that does the same thing
04:01 <mdedetrich> (unless you do something stupid like put all the stuff on a single line or rename all the variables to single characters)
04:01 <Zak> mdedetrich: thats the point. you wouldn't want to in the first place :P
04:01 <Zak> at least, i wouldn't want to
04:02 <kennethkoontz> Is event emitter the right tool to perform several http requests async? Or would the promise lib be a better choice?
04:02 <Zak> again, there are reasons to do it
04:02 <mdedetrich> Zak: wouldn't want to what?
04:02 <Zak> i just don't need it
04:02 <mdedetrich> if you need to do proper classes, thats how you have to represent them
04:02 <mdedetrich> in javascript
04:02 <Zak> "write javascript ... that does the same thing" (as typescript)
04:02 <mdedetrich> Zak: what point are you making
04:02 <Zak> dw
04:03 <Zak> i don't want to start another 2 hour argument
04:03 <mdedetrich> also mind you, code generated from both TS and CS
04:03 <mdedetrich> is longer because its designed to work with crap like IE
04:03 <mdedetrich> (IE doesn't support foreach, which would save like 3 lines on every loop iteration)
04:03 defunctz_ joined
04:03 <mdedetrich> IE6 iirc
04:04 <mdedetrich> IE6 also doesn't do prototype inheritance properly
04:04 jergason joined
04:04 <sinclairzx> guys, see the generated handler code?
04:04 <mdedetrich> among other things
04:04 <sinclairzx> that's kinda yuck
04:04 <mdedetrich> why
04:05 <Zak> sinclairzx: can you try something
04:05 <Zak> call one of your function arguments "_this"
04:05 <Zak> and recompile
04:05 <sinclairzx> what line?
04:05 <Zak> ummm
04:05 <Zak> i'll give you a line number.. hold on
04:05 IrishGringo joined
04:06 <Zak> line 79
04:06 <Zak> change "request" to "_this"
04:06 choo joined
04:06 <sinclairzx> that would just resolve to _this._this tho
04:07 <sinclairzx> can try, hang on
04:08 duc1199 joined
04:09 <sinclairzx> Zak: you dun broke it :D
04:09 <Zak> did it end up conflicting with the _this outside of the function?
04:09 <sinclairzx> yeah
04:09 cushman joined
04:09 <Zak> i'm surprised it did that
04:10 <Zak> time to submit a bug :P
04:10 <sinclairzx> nice trick mate
04:10 <Zak> it shouldn't do that
04:10 dgathright joined
04:10 <Zak> somebody obviously missed it
04:10 <Zak> although...
04:10 <Zak> maybe you can't tell
04:10 <Zak> nfi
04:10 <sinclairzx> im not exactly sure what it "should" do tho
04:10 <sinclairzx> require _this to be ______this?
04:11 <Zak> well, it should know what other variable names aren't valid because they introduced them
04:11 blup joined
04:11 <sinclairzx> its locally scoped, so rewriting might be ok?
04:11 <sinclairzx> either that, or reserve _this
04:11 <Zak> yeah, that's not a good idea
04:11 <Zak> reserving words like that, is the touch of death
04:11 <ChrisPartridge> should it not just fail to compile with typescript and warn you?
04:11 <sinclairzx> Zak: join #typescript
04:12 <astropirate> Hello friends!
04:12 <sinclairzx> Zak: there are a few issues and quirks ive notice with TS
04:12 <mdedetrich> well I don't think that you should name your classes/functions as _this
04:12 <sinclairzx> (one which prevents me from writing node code in modules)
04:13 <sinclairzx> or have a import statement inside a module
04:13 andrehjr joined
04:13 <Zak> mdedetrich: the point is, that stuff should be clearly documented, or should fail compilation
04:14 brooss joined
04:14 <mdedetrich> true, I would argue though if you are doing such a thing
04:14 <Zak> the whole argument of using typescript is that it should hit errors sooner and shouldn't have these "silent" bugs
04:14 <mdedetrich> you are an idiot
04:14 <Zak> given that a few days ago we said most developers are idiots
04:14 <Zak> and typescript are for C# developers
04:14 <Zak> they need to fix the bug :P
04:14 <mdedetrich> completely catering for idiots is quite hard
04:14 <Zak> it should be a compilation error
04:14 <mdedetrich> naming your function as _this
04:15 <mdedetrich> in js
04:15 <Zak> pretty simple fix
04:15 <mdedetrich> is idiotic
04:15 <Zak> its not a function though
04:15 <Zak> its a variable
04:15 <Zak> parameter/variable
04:15 <Zak> and its not that idiotic
04:15 <Zak> anyway, it shouldn't be some time-bomb waiting to go off later
04:15 <ChrisPartridge> Zak: does typescript use _this internally?
04:15 <Zak> esp if you can catch it during compilation
04:16 <Zak> ChrisPartridge: yes
04:16 <Zak> thats exactly why i asked sinclairzx to try it
04:16 <Oddman> <mdedetrich> naming your function as _this
04:16 <Oddman> rofl
04:16 <Oddman> I have never seen that, thank god
04:16 <Zak> its not a function
04:16 andrewffff joined
04:16 <Zak> it was a variable (at least in typescript)
04:16 <astropirate> You have failed me for the last time
04:16 <Oddman> O.o
04:16 <Zak> as in... we changed it to that name, to see what would happen
04:17 AlbireoX joined
04:17 <ChrisPartridge> Yeah, gotcha
04:17 <Zak> but its plausible that it could happen in real code
04:17 <Zak> although, i don't like variable names with underscore in them
04:17 <Zak> people like to use them to indicate private function/variables
04:18 <mdedetrich> I guess to put more light on my opinion
04:18 <mdedetrich> I consider naming either functions or variables as _this idioitic
04:18 <mdedetrich> in a language like TS/CS
04:18 <mdedetrich> because if you look at the generated code
04:18 <mdedetrich> they use that stuff internally
04:19 disnet joined
04:19 <Zak> last time I wrote C, i didn't look at the generated ASM to check whether something was reserved
04:19 jpdery joined
04:19 <Zak> (not that its even possible to reserve shit in ASM)
04:19 <Zak> point is, compiler should pick up that crap
04:19 <mdedetrich> I would argue that TS/CS is more similar to a translator than a compiler
04:20 <mdedetrich> although thats quite a semantical seperation
04:20 rampr joined
04:20 <Zak> it is
04:20 <Zak> and if i can't write typescript without checking the javascript every time, it defies the entire point
04:20 <Zak> (same for CS
04:20 <ChrisPartridge> yeah, that's what irks me about CS
04:20 <mdedetrich> I don't really check the JS for CS anymore
04:21 <Zak> you shouldn't have to
04:21 <mdedetrich> I haven't had any issues
04:21 Demux joined
04:21 <Zak> its okay for TS atm
04:21 <Zak> its new
04:21 <Zak> but if i had to do it in 6 months, i'm not going near it
04:21 <mdedetrich> well I did when I started, but thats for different reasons (was interested in how it did something)
04:21 <Zak> yeah sure
04:21 <Zak> i like the idea of coffeescript
04:21 <Zak> but i still prefer to write in javascript
04:21 Circlepuller joined
04:22 joshontheweb joined
04:22 <mdedetrich> cs is really nice when you its completely transparent to the coder
04:22 <mdedetrich> i.e. the web framework treats .coffee in the exact same was as .js
04:22 <mdedetrich> SS does that, and its quite nice
04:23 <mdedetrich> the biggest problem with CS is frameworks doing the complication in a non transparent and retarded way
04:23 derpops joined
04:23 Sam-T joined
04:23 <sinclairzx> http://garann.github.com/template-chooser/
04:23 <sadtaco> It seems like a ddos attack is targetting my node/socket.io and making it use 100% of my servers cpu.
04:24 Fwny joined
04:24 <larryapplegate> I am using the Apple sample code SimpleURLConnections to try and upload test images to node-formidable, using upload.js in the example folder. I get this response - Error: parser error, 0 of 22900 bytes parsed. The header is 158 bytes, the file is 22570 bytes, and the trailer 172 bytes, adding up to 22900. I can watch the IOS app send the correct file data. So I am guessing that the header is wrong. Any suggestions?
04:25 <Zak> that website seems to promote dot.js :P
04:25 AlbireoX`Laptop joined
04:26 <mdedetrich> oh I meant compilation before, not complication
04:26 <mdedetrich> man I hate auto spelling correct in mac
04:26 <larryapplegate> me too
04:27 seich- joined
04:27 jdeibele joined
04:27 <ChrisPartridge> sadtaco: ouch
04:28 <larryapplegate> can't type couch and db
04:28 dguttman joined
04:28 <sadtaco> I'm not too sure what I should do to prevent it
04:28 <larryapplegate> couchdb
04:28 <larryapplegate> oh, proved myself wrong. it sometimes comes out couched
04:29 AlbireoX joined
04:29 bartt joined
04:29 <ChrisPartridge> sadtaco: you need to report it upstream to your provider, otherwise you could get your app to report the offending sources and block them via iptables (to prevent CPU usage, and keep your app up). Still won't stop the data coming the edge of the server though
04:29 <sinclairzx> anyone here used Razor ?
04:30 <pyrotechnick> i have alot yeah what's up
04:30 <sinclairzx> curious if there is a JS template engine as good as Razor
04:30 <pyrotechnick> wait what
04:30 <pyrotechnick> eww no
04:30 <pyrotechnick> soz
04:31 <sinclairzx> pyrotechnick: don't like Razor either aye?
04:32 <zyzzyva> mdedetrich: as you didnt give a definition, we play by what is a perfectly acceptable definition of map: http://pastebin.com/W0P296yS
04:32 draginx joined
04:32 draginx joined
04:32 macae joined
04:34 <zyzzyva> as for scala, I'm not aware but if scala is an untyped lambda calculus on java id expect you could construct a type that would break it
04:34 <zyzzyva> so we'll leave it at "neither scala nor java conform to your definition of map, and therefore there's no gain in expressivity"
04:35 <zyzzyva> im guessing you probably blocked me mdedetrich, which is ok
04:35 <Zak> < zyzzyva> mdedetrich: as you didnt give a definition, we play by what is a perfectly acceptable definition of map: http://pastebin.com/W0P296yS
04:35 <Zak> i'm passing that along
04:36 <Zak> because it looks like it took more than a few minutes to do that
04:36 thanpolas joined
04:36 <Zak> and he deserves a response, regardless of whether you ignored him or not
04:36 <zyzzyva> i didnt ignore him
04:36 <zyzzyva> i thought he might have ignored me
04:36 <Zak> yeah
04:36 <Zak> i was talking to mdedetrich
04:36 <zyzzyva> regardless, he got a conformant response
04:36 <zyzzyva> and if he wants, i can break scala's map
04:36 <zyzzyva> :)
04:37 khrome joined
04:37 <zyzzyva> so we'll leave it at scala is in fact no more expressive than java
04:37 <jesusabdullah> guys
04:37 <jesusabdullah> chillax
04:38 onats joined
04:38 <onats> whoa! 800
04:38 <sinclairzx> zyzzyva: scala is more expressive than java tho
04:38 <jesusabdullah> "expressive" is like
04:39 <jesusabdullah> platitudes for software
04:39 mattgifford joined
04:40 kaspertidemann joined
04:40 tahu joined
04:41 <mdedetrich> your mmap is not accepting higher order functions
04:41 <mdedetrich> I mean sorry, your mmap is not a higher order function
04:41 <sinclairzx> here's a thought, it is not a good idea to expose objects to client script when using TS
04:42 <mdedetrich> try again
04:43 defunctzombie joined
04:43 jmar777 joined
04:43 ImBcmDth joined
04:44 rickibalboa joined
04:45 c4milo joined
04:45 dgathright joined
04:46 rtjure joined
04:47 mxweas joined
04:48 <cainus> hey all.. anyone know what happened to hook.io?
04:48 <cainus> seems deleted
04:48 rcrowley joined
04:49 Hebo joined
04:49 thl0 joined
04:50 jmoyers joined
04:50 mxweas joined
04:50 <astropirate> Yup, i never bet on anything tha ends in .io
04:50 <astropirate> HAHA
04:50 <ChrisPartridge> cainus: marak "quit" node
04:51 <cainus> so he deleted it?
04:51 <ChrisPartridge> I guess so
04:51 <gkatsev> something like that
04:51 <ChrisPartridge> cainus: perhaps look for a fork and work from there
04:51 <cainus> yeah or npm install and start a new one
04:52 <cainus> alright thanks
04:53 Benvie joined
04:54 pretty_function joined
04:54 st_luke_ joined
04:55 tjmehta joined
04:55 kishoreyekkanti joined
04:55 st_luke_ joined
04:55 eugeneware joined
04:56 sreeix joined
04:57 dshaw_ joined
04:58 langworthy joined
04:59 jpdery joined
04:59 ttt joined
05:00 pig joined
05:00 timeturn joined
05:00 ashnur joined
05:03 pboos joined
05:06 zcopley joined
05:07 shaggy167 joined
05:08 Senji joined
05:09 [[zz]] joined
05:09 gmci joined
05:12 munichlinux joined
05:12 Hebo joined
05:14 thirdknife joined
05:16 <mdedetrich> damn
05:16 <mdedetrich> he went away
05:16 <mdedetrich> oh well
05:16 maletor joined
05:17 SamuraiJack joined
05:17 <Raynos> https://github.com/Raynos/doc-test#example
05:18 harrison_ joined
05:19 mapppum joined
05:21 <Raynos> Anyone have any API suggestions on doc test?
05:26 <TehShrike|Work> I don't
05:26 <TehShrike|Work> I mean, I could probably come up with some
05:26 <TehShrike|Work> But they would be horribly uninformed, and pulled out of my ass
05:26 <TehShrike|Work> So no, not really
05:28 mattgifford joined
05:29 LeMike joined
05:29 <ChrisPartridge> Raynos: I'm not really "getting it"
05:29 <harrison_> Raynos: is this something similar to Python's doctest?
05:29 choo joined
05:30 <Raynos> yes its similar to doctest
05:30 <TehShrike|Work> And see, here come the people asking reasonable questions
05:30 <Raynos> ChrisPartridge: It's basically a small compiler that takes my examples an makes them executable tests
05:30 <TehShrike|Work> Thank goodness for them
05:30 <TehShrike|Work> Otherwise I'd just be standing here, looking like an idiot
05:30 <harrisonm> (Full disclaimer, I've never used doctest, just found it on a quick duckduckgo search)
05:31 <harrisonm> So, any suggestions for API from me would also be uninformed
05:31 <Raynos> ChrisPatridge: I guess I'm not showing the case where if your logs don't match it fails hard.
05:31 <harrisonm> Looks like a cool project, though
05:32 <ChrisPartridge> Raynos: whats the advantage over writing actual tests with mocha? You get more concise usage of the code?
05:32 <ChrisPartridge> (mocha/other testing framework)
05:32 <Raynos> the main advantages is that your not writing tests. Screw writing tests. Just write executable examples.
05:32 <Raynos> Recently I've only been writing examples and have been too lazy for actual tests
05:32 onats joined
05:33 <harrisonm> But at that point you're having to write an example for every case you want to test
05:33 <harrisonm> I can see the fantastic use of this for documentation testing, but I'm a little dubious of it as a TDD tool
05:34 <harrisonm> This doesn't really help you with your API question, though
05:34 <Raynos> harrisonm: It's not for TDD, or it could be but would need a lot of polish
05:34 <ChrisPartridge> Raynos: is there any reason you put "function" in the comment below? could that not be a third argument to log?
05:34 saikat joined
05:35 <Raynos> ChrisPartridge: then you might as well replace it with assert.equal
05:35 vahnpaper joined
05:35 <ChrisPartridge> Well yeah
05:38 <TehShrike|Work> Man, someone awesome should really hire me
05:38 choo joined
05:39 <ChrisPartridge> TehShrike|Work: jobs.nodejs.org ?
05:39 techthumb joined
05:39 jpdery joined
05:39 <nathan7> The heck?
05:39 <nathan7> It's US-only?
05:40 <nathan7> Which city did you mean? ["Amsterdam, MO","Amsterdam, NY","Amsterdam, OH","Amsterdam, MT"]
05:40 <TehShrike|Work> ChrisPartridge: no way to search for telecommute jobs :-(
05:42 <astropirate> TehShrike|Work, you and me buddy
05:42 Frippe joined
05:42 Frippe joined
05:43 ddollar joined
05:43 AlbireoX joined
05:43 choo joined
05:45 <larryapplegate> I'm not awesome but I've hired telecommuters for various things
05:45 <larryapplegate> people i've never met in person
05:47 Zoney joined
05:48 nicesukhi joined
05:48 idefine1 joined
05:49 stisti joined
05:50 tmpvar joined
05:50 tlync joined
05:51 ewalker joined
05:52 dshaw_ joined
05:52 graeme_f joined
05:53 jergason joined
05:55 tahu joined
05:57 pvankouteren joined
05:58 choo joined
05:59 tmpvar joined
05:59 <harrisonm> nothing showing up for Dallas area :/
06:00 harthur joined
06:00 <jmoyers> move.
06:01 <jmoyers> also, go to http://www.meetup.com/DallasNode/
06:02 gruwl joined
06:02 gruwl left
06:03 dpino joined
06:03 harth joined
06:03 joshontheweb joined
06:04 Circlepuller joined
06:04 ecthiender joined
06:05 <harrisonm> Hah. And already knew about that, but I have class Thursday nights
06:05 <jmoyers> priorities.
06:07 <harrisonm> If it helps, I'm writing my project for that class in node :P
06:07 <harrisonm> Also, I'm a research assistant
06:08 barneybook_work joined
06:08 <harrisonm> so failing class means losing job/scholarship
06:08 duc1199 joined
06:08 <jmoyers> fair enough ;-)
06:09 <harrisonm> I'm also writing almost everything for my assistantship in node
06:09 <harrisonm> so it works out
06:11 <jmoyers> more than i get to write
06:12 <harrisonm> Yeah, it's really nice. My original plan was to go full-time at a gig I'd had for a while that was mainly .NET. Pretty glad that didn't pan out now
06:12 <Oddman> muahaha
06:13 <harrisonm> Still doing stuff on the side for them, and I've gone from web forms to .NET MVC
06:13 <hemanth> Dot not
06:13 <harrisonm> which is significantly better
06:13 <harrisonm> but it's still .NET
06:13 rcrowley joined
06:13 okcoker joined
06:13 <hemanth> MVC is not dead yet?
06:13 <harrisonm> No, they're coming out with .NET MVC 4 soon
06:13 sorenso joined
06:13 <hemanth> M$ $tuff hmm
06:13 <Oddman> lol
06:15 nicesukhi joined
06:15 <harrisonm> again, if you're going to be coding Microsoft web stuff, MVC's the way to go; it's not half bad. But I'd rather not be using Microsoft Server at all
06:15 rampr joined
06:18 <Raynos> Anyone know of a good way to run an arbitary JS file in a repl?
06:18 <jmoyers> … require?
06:19 <Raynos> That won't work
06:19 <niggler> what are you trying to do?
06:19 <Raynos> I want the local variables in my REPL scope
06:19 <Raynos> so I need a way to inject the code into the REPL
06:19 <niggler> do you have control over the js code?
06:19 <jmoyers> and copy paste isn't an option?
06:19 <Raynos> i tried copy and paste
06:19 <Raynos> repl input pukes at new lines
06:20 socketio\test\07 joined
06:20 armetiz joined
06:20 jpdery joined
06:20 <Raynos> niggler: I can read and modify the source code to make it REPL safe
06:20 <jmoyers> eval(fs.readFileSync)
06:20 <jmoyers> maybe?
06:20 <ChrisPartridge> Raynos: possibly vm.runInThisContext ?
06:20 <Raynos> that might work
06:20 <Raynos> runInThisContext can't mutate local variables
06:21 <Raynos> which may not be a problem tbh
06:21 alucardX joined
06:21 <alucardX> hi
06:21 <ljharb> Raynos: why do you want to do that?
06:21 <niggler> why not just wrap it in a function and call it with the repl scope?
06:21 markwubben joined
06:21 <jmoyers> not a bad idea
06:21 <jmoyers> .call(this)
06:21 <jmoyers> or whatever
06:22 teerapapc joined
06:22 <Raynos> ljharb: because it's fun
06:22 <Raynos> the next problem is making file local require's work with this repl
06:25 Pitel_IPEX joined
06:25 <nathan7> Raynos: .load
06:25 <Raynos> load?
06:25 <nathan7> > .load blah.js
06:25 Swaagie joined
06:25 <nathan7> it'll execute blah.js
06:25 <nathan7> there's also .save
06:25 <Raynos> really
06:25 <nathan7> see .help
06:25 <Raynos> thats crazy
06:25 <nathan7> really
06:25 <nathan7> I discovered it while reading the REPL docs
06:26 <Raynos> it doesnt really work
06:26 <Raynos> it expects cleanly formatted stuff
06:26 <nathan7> works here
06:26 <Raynos> try arbitary files
06:26 <mdedetrich> ill execute your blah.js
06:27 poolshark joined
06:27 <nathan7> Raynos: works
06:27 <nathan7> Raynos: plain JS files work for me fine
06:27 <Raynos> nathan7: load this file https://github.com/Raynos/doc-test/blob/master/test/readySignal.js it wont work
06:28 <Raynos> use comma first. It wont work :P
06:28 ashnur joined
06:28 <nathan7> Comma first?
06:28 <olasd> use javascript. It won't work
06:28 <nathan7> ah
06:28 <* olasd> hides
06:28 <* nathan7> beats olasd up
06:28 <* olasd> purrs
06:28 <* purr> rrrrrr
06:28 <nathan7> ..the heck is wrong with you, man
06:29 <nathan7> Raynos: I just do var
06:29 victor2812 joined
06:29 choo joined
06:29 <nathan7> Raynos: I like my individual variable declarations to be independent
06:29 <jmoyers> each like a unique snowflake
06:30 rcrowley joined
06:30 <nathan7> you are not a unique, beautiful snowflake
06:30 <nathan7> Oh cool
06:30 <nathan7> my pants are caffeinated
06:31 <nathan7> I left caffeine tablets in my pocket and they kinda dissolved
06:31 <Oddman> if that was lsd you'd be hiiiiiiiiiiiiiiiiiiiigh
06:31 <hemanth> Caffine
06:31 <Zak> lucky your pants aren't high, otherwise your balls would be showing
06:32 <niggler> so can you invoke node as if using the repl but piping commands in?
06:32 <niggler> the point being, if you had a file you wanted to load
06:32 <niggler> its not equivalent to require
06:32 <harrisonm> I pulled irssi back up at a really weird place in this conversation
06:32 V1 joined
06:33 <nathan7> Oddman: Nah, the heat in the washing machine would've destroyed most of it.
06:33 <niggler> so if you wanted to replay exactly what happened, node the interpreter would need to process .load and .save
06:33 nicholasf joined
06:33 bubbles10101 joined
06:33 <Oddman> nathan7, haha true :D
06:33 <nathan7> Sensitive lil' molecule
06:33 <Oddman> LOL!
06:34 <nathan7> ..why do I keep reading 'mongo-lite' as 'mongolite'
06:34 <ChrisPartridge> maybe you cant see dashes?
06:34 sreeix joined
06:34 <nathan7> on a side note, yesterday a classmate opened the jQuery source
06:34 Morkel joined
06:34 <nathan7> and Chrome offered to translate it
06:34 <nathan7> thus, jQuery in Dutch. http://pastebin.com/Ywzz1h49
06:34 <Oddman> LOL
06:34 Kn|t3 joined
06:35 <Oddman> oh man, cracking me up
06:35 <Zak> lol
06:35 <nathan7> One day an archeologist is gonna find my IRC logs
06:35 <nathan7> and he'll try to reconstruct my train of thought
06:35 <nathan7> and his brain will explode.
06:36 <onats> whats up hackers!
06:36 <nathan7> Chinchillas.
06:36 totallymike joined
06:37 <Zak> nathan7: Reminded me of this: http://bigeyedeer.files.wordpress.com/2012/03/greeting490.jpg
06:37 Ralt joined
06:38 mauritslamers_ joined
06:39 <nathan7> Zak: heh
06:39 Frippe joined
06:39 Frippe joined
06:39 fangel joined
06:40 djcoin joined
06:41 saikat joined
06:41 <niallo> i'm sure i'm doing something stupid, but i have a long-lived daemon process using node + zmq, and it exits after a number of seconds with no error. how do i prevent this happening?
06:42 <larryapplegate> yes, but you must know what to feed it
06:42 stagas joined
06:42 <larryapplegate> oops, wrong thread
06:43 <niallo> it registers a handler for messages on a zmq pull socket and is supposed to stay alive forever processing those as they arrive. however it always exits after a number of seconds. processes messages just fine while it's alive.
06:43 robmorrissey joined
06:43 <ChrisPartridge> niallo: code?
06:44 __pr0t0__ joined
06:44 <jmoyers> niallo listening for .on('error')?
06:46 mattgifford joined
06:46 <niallo> jmoyers: on the zmq socket? no
06:46 <niallo> ChrisPartridge: i can't share the whole file but here is the gist: https://gist.github.com/15b07bb033aa88dddc77
06:47 rendar joined
06:47 choo joined
06:47 lpin joined
06:48 <jmoyers> niallo https://github.com/JustinTulloss/zeromq.node/issues/145
06:49 Piotras joined
06:49 ashnur joined
06:49 <niallo> jmoyers: i'm actually not using bind, also this looks like a dupe of https://github.com/JustinTulloss/zeromq.node/issues/131 and i have the fix for that in my zmq version
06:50 adrianlang joined
06:50 Ralt joined
06:51 braoru joined
06:51 <niallo> jmoyers: just tried the process.on hack suggested in #145 and it doesn't work for me.
06:53 jxson joined
06:53 groom joined
06:53 FontPeg joined
06:54 thirdknife joined
06:55 _pid joined
06:55 stisti joined
06:55 balboah joined
06:56 No9 joined
06:56 D4RK-PH0ENiX joined
06:57 huskyr joined
06:59 imarcusthis joined
06:59 rcrowley joined
07:00 jpdery joined
07:01 thatguydan joined
07:01 marek_trunkat joined
07:02 shuaib joined
07:02 jammsen joined
07:03 <Raynos> https://github.com/Raynos/doc-test/blob/master/bin/doc-test.js#L19
07:03 <Raynos> Managed to get that REPL to work hackishly
07:03 <sinclairzx> heya, what do you guys use for html templating?
07:03 <Raynos> Anyone have any better / less silly suggestions?
07:03 <Raynos> sinclairzx: html
07:04 obazoud joined
07:04 <sinclairzx> Raynos: ?
07:04 devsharpen joined
07:04 <sinclairzx> Raynos: you template html using just html?
07:04 <Raynos> No
07:04 mxweas joined
07:04 <Raynos> I actually use jade
07:05 <sinclairzx> works good on node?
07:05 <jmoyers> sinclairzx http://handlebarsjs.com/ or ejs, typically.
07:05 jpe joined
07:05 <jmoyers> heh, jade is from node
07:05 <sinclairzx> jmoyers: thanks :)
07:05 <Oddman> jade is horrible
07:05 hakunin joined
07:05 <jmoyers> jade and stylus are a combo
07:05 <Oddman> god no
07:05 Emmanuel` joined
07:05 <Oddman> whitespace screwing with view logic... no thanks
07:06 cushman joined
07:06 <Oddman> and jade is/was inspired by haml, which is just as bad
07:06 <jmoyers> plenty of people subscribe to it
07:06 <jmoyers> not my aesthetic, but whatever.
07:06 <Oddman> yeah, those people either haven't gotten to a point where whitespace has caused them problems, or don't care about the issue
07:07 <Oddman> it's a very attractive option until you delve deeper
07:07 <Raynos> oh I hate significant whitespace
07:07 <* sinclairzx> doesn't like haml at all
07:07 <Raynos> but jade is feature rich and well maintained
07:07 <jmoyers> heh
07:07 <jmoyers> whatever you say
07:08 <Oddman> Raynos, yup, agree on the latter
07:08 <jmoyers> i kind of feel like a module with 790 some odd pull requests
07:08 <Oddman> but the first point screws it
07:08 <jmoyers> deserves a bit of respect.
07:08 <Oddman> jmoyers, last I heard - having concerns about how something is implemented/works doesn't affect your respect for a project
07:09 <jmoyers> no, but an opening statement of "jade is horrible" does
07:09 <Oddman> I gave my reasoning
07:09 <stagas> Oddman: what's the issue with whitespace
07:09 <Oddman> as I said "very attractive option until you delve deeper"
07:09 <Oddman> stagas, say you need a conditional as to whether to output a tag or not, or one tag or another
07:10 <Oddman> in jade/haml that's very hard because the whitespace is significant for the creation of closing tags
07:10 margle joined
07:10 wockan joined
07:11 <ljharb> it's just like coffeescript, or less, or sass, or whatever. it's another moving part between you and the browser, for minimal benefit.
07:11 <ljharb> just writing JS, CSS, and HTML is not that hard.
07:11 <Oddman> ljharb, although i agree with you, that's not really a concern for me for whether I not I'd use it
07:11 <ljharb> well, on top of that, i think jade and haml are ugly as sin
07:11 <Oddman> hahaha
07:11 <Oddman> tbh I think the syntax is rather nice
07:11 <ljharb> but i have a real reason besides aesthetics
07:11 <Oddman> it just has inherent problems
07:11 <jmoyers> yeah, let me fucking write -webkit- -moz -filter seven million times
07:12 <Oddman> which tbh, I don't think the authors realized when they started
07:12 <jmoyers> and have no variables in my css
07:12 <jmoyers> that sounds fucking great
07:12 <jmoyers> superset css languages and literally the shit
07:12 <ljharb> jmoyers: i appreciate how variables and mixins can help, but do you really use those features that often?
07:12 <jmoyers> they are the best things ever.
07:12 <Oddman> LESS is okay, Sass is a pain
07:12 <jmoyers> indeed, yes i do
07:12 <Oddman> and tbh, if you write good CSS - variable use/mixins is hardly necessary
07:12 <ljharb> Oddman++
07:12 <Oddman> because that's what classes are for
07:13 <ljharb> less and sass lead to the generated css being huge, and overly nested, which sucks for performance.
07:13 <jmoyers> my god
07:13 <jmoyers> how big are the apps you guys are writing?
07:13 <ljharb> heck, in less, @import by default does multiple import
07:13 <ljharb> jmoyers: how big are the apps youre writing that you need millions of occurrences of css3 properties?
07:13 toonketels joined
07:13 <jmoyers> its not millions, brother
07:13 <ljharb> jmoyers: if the app is small, just write -webkit, -moz, and standard :-p
07:14 <ljharb> you said seven million above :-)
07:14 <sinclairzx> jmoyers: does handlebars compile the template?
07:14 <jmoyers> its boring garbage that after the fiftieth time i've written
07:14 <jmoyers> I'm done with it
07:14 <Oddman> jmoyers, shows you have no respect for good CSS ;)
07:14 emattias joined
07:14 <jmoyers> listen, if you aren't minifying and contacting already (compile step), i guess i don't know what to say
07:14 <Oddman> SASS/LESS actually encourage bad CSS practises
07:14 <ljharb> jmoyers: minification doesn't change how you write code
07:14 <ljharb> and concatenation honestly isn't necessary for most sites.
07:15 <Oddman> yes, they're useful, yes - if you know what you're doing, they're handy, but they don't really provide that much benefit if you know what the hell you're doing int he firs tplace
07:15 <jmoyers> no, but it introduces a compile step
07:15 <ljharb> but either way, it doesn't change how you write code.
07:15 <sinclairzx> jmoyers: have you used the Razor Engine templates?
07:15 <jmoyers> no idea what that is
07:15 <ljharb> jmoyers: a compile step that doesn't change the code. it works both uncompiled and compiled, natively in the browser.
07:15 <jmoyers> i get so tired of hearing constant minimalist garbage in this channel
07:15 <jmoyers> stop trolling and let people make decisions based on whats out there
07:15 blevs joined
07:15 <ljharb> our opinions are whats out there too.
07:16 <jmoyers> yeah, but it gets toxic over time
07:16 <ljharb> stop calling them garbage when they're valid options also.
07:16 <jmoyers> i can understand people shitting all over coffeescript etc
07:16 <ljharb> nobodys forcing you to listen to it. i find the encouraging of all these techniques far more toxic.
07:16 ewalker joined
07:16 <sinclairzx> jmoyers: the RazorEngine allows you to compile a template into code. then, when passing data to the template, its quicker
07:16 <jmoyers> but trying to tell me that i have no respect for good css because i use a toolchain
07:16 <sinclairzx> quicker to render (no compile step)
07:16 <jmoyers> is fucking retarded
07:16 <jmoyers> i understand templatizer like modules.
07:17 <Oddman> that's not why I said that, jmoyers
07:17 <ljharb> i didn't say that
07:17 <Oddman> so perhaps you syhould follow the conversation a little better
07:17 LeMike joined
07:17 <jmoyers> ....
07:17 <Oddman> "its boring garbage that after the fiftieth time i've written"
07:17 <jmoyers> "jmoyers, shows you have no respect for good CSS ;)"
07:17 <Oddman> that's what I was responding to
07:17 <* sinclairzx> thinks the problem with this channel, is endless flame wars spured on by the myriad of open source projects out there, mixed with personal preference
07:17 emattias_ joined
07:17 <Oddman> good CSS isn't boring garbage - in fact I can gaurantee you the stuff SASS/LESS is spouting, unless you really know your CSS well - is an absolute mess.
07:18 <Gottox> sinclairzx: I missed the good old flamewars.
07:18 <Oddman> missed a great one today
07:18 <Oddman> java vs scala and map function. haha
07:18 <ljharb> "i'm not 100% happy with what's out there. i know! i'll make a new language or framework or tool!" now you have n + 1 problems.
07:18 <sinclairzx> Oddman: read that as it happend
07:18 <Oddman> haha
07:18 <Oddman> was gold
07:19 macae joined
07:19 <sinclairzx> i was siding with Scala mind you
07:19 <Gottox> the only thing i'm missing in JS is type safety.
07:20 <Gottox> and that's a solved problem with closure compiler or microsofts typescript.
07:20 <sinclairzx> *cough* TS *cough
07:20 <ljharb> oh, i wouldn't say i'm *missing* it, bob.
07:20 <* Oddman> shudders
07:20 <Oddman> sorry did someone mention microsoft?
07:20 <Gottox> :D
07:21 <sinclairzx> people who don't code using MS technology and languages, really are missing out :(
07:21 <Gottox> Developers, Developers, Developers, Developers, Developers
07:21 <ljharb> sinclairzx: read this about typescript. http://t.co/xJfNnAGG
07:21 jlord joined
07:21 <ljharb> sinclairzx: that's the best, most reasoned analysis of it i've seen.
07:22 <Gottox> oh man...
07:22 <Oddman> sinclairzx, I'm sorry when I talk to MS "web" devs who don't know the first thing about REST or long polling, I die a little inside.
07:22 Hebo joined
07:22 <Gottox> this guy thinks coffeescript "solves" js issues?!
07:22 <sinclairzx> ljharb: already read it (and a thousand other articles on it)
07:22 <ljharb> sinclairzx: it concludes you shouldn't use it. :-)
07:23 Motest031 joined
07:23 josh-k joined
07:23 <Oddman> still a better approach than dart. rofl
07:23 <sinclairzx> Oddman: that's changing, im a MS guy who knows about long polling, web sockets, and the other means of doing things. I've known about these things since i can't remember when
07:23 <Oddman> sinclairzx, agreed, it is
07:24 <Oddman> but I really don't think I'm missing out by sticking to open source software
07:24 <Oddman> tbh, I'd argue it's you who is missing out :P
07:24 <sinclairzx> Oddman: not to bring up ASP.NET MVC, but, it was exactly what the ASP/NET stack was missing
07:24 <Oddman> oh no doubt
07:24 <Oddman> and I've heard a lot of people say that
07:24 dobber joined
07:24 <sinclairzx> Oddman: its "crazy
07:24 <sinclairzx> good
07:25 <Oddman> I can't really comment as I haven't used it or touched it
07:25 <Oddman> but have worked with at least 5 various server-side MVC frameworks, and 3 on the client-side, as well as dabbled in meteor
07:25 <Oddman> I don't know if it would surprise me
07:25 <Oddman> meteor is imho, going to change web dev in a few years, and other platforms like it
07:25 <sinclairzx> Oddman: its really really good, and has top notch components that you would need to hunt for in the open source landscape (which is maybe why MS developers stay in the MS bubble)
07:26 <sinclairzx> Oddman: there is a reason they stay :)
07:26 <Oddman> is it open source though?
07:26 <ljharb> meteor, ugh. direct client-side DB access?
07:26 <sinclairzx> it is now, yeah
07:26 <ljharb> fails utterly without JS?
07:26 <Oddman> ljharb, way to take an example literally ;)
07:26 <ljharb> you picked a poor one :-p
07:26 <Oddman> you should read the bible :P
07:26 <Oddman> it's an example of server interaction
07:27 <Oddman> not exactly a recommendation on how it should be done
07:27 <jmoyers> i like how less than 10 minutes ago
07:27 <jmoyers> you were talking about how you should minimally stick to js html css
07:27 <sinclairzx> Oddman: ASP.NET MVC has evolved with the languages, the async await stuff means C# can do the everything async approach of node, and MVC has followed suite
07:27 <jmoyers> now you're talking about meteor as a godsend
07:27 nicholasf joined
07:28 <__pr0t0__> I'm surprised the MS license allows use of irc
07:28 <Oddman> I didn't argue that at all jmoyers, and I'm also not claiming meteor to be a godsend :)
07:28 <jmoyers> "meteor is imho, going to change web dev in a few years, and other platforms like it"
07:28 <sinclairzx> Oddman: but sometimes, its nice to do things without throwing in the async
07:28 <Oddman> sinclairzx, agreed
07:28 <Oddman> jmoyers, because of how technologies like that change how we deal with client->server and client->client on the web
07:28 <sinclairzx> Oddman: C# gives you the ability to do both, easily :)
07:29 <Oddman> :)
07:29 <jmoyers> don't argue minimalism and then throw a monolithic framework in the ring.
07:29 <jmoyers> thats just silly
07:29 <Oddman> rofl
07:29 <sinclairzx> Oddman: you know, the talk of the town seems to be suggesting MS are losing interest in C#
07:29 litenull joined
07:30 <sinclairzx> jmoyers: MVC 4.0 is not monolithic anymore
07:30 <jmoyers> oh i don't give a shit about asp
07:30 <jmoyers> i'm talking about meteor
07:30 <jmoyers> a framework that bundles HOSTING in, lol
07:30 <sinclairzx> oh ok
07:30 <Oddman> jmoyers, is still butt hurt about me disagreeing with him about less/sass
07:30 <ChrisPartridge> lol
07:30 <Oddman> apparently people aren't allowed to disagree
07:31 <jmoyers> any documentation that has more words than code
07:31 <jmoyers> has a big fat smell, thats all I'm saying.
07:31 <* sinclairzx> thinks responsive design is a dumb idea
07:31 Usse joined
07:31 <rendar> sinclairzx: why?
07:32 meso_ joined
07:32 <jmoyers> sorry guy
07:32 <jmoyers> I'm just tired of people laying into tj's modules
07:32 <sinclairzx> rendar: its hard enough getting a design out and templated, let alone trying to squish the design into a different form factor
07:32 <jmoyers> when the guy is fucking prolific. if it doesn't fit your style, move on
07:33 boltR joined
07:33 <sinclairzx> jmoyers: i don't really like TJ either im afraid
07:33 <jmoyers> he's dedicated to maintaining all these badass node modules for the community, and all i hear is hipsters hating on express
07:33 <rendar> i see
07:33 <stagas> sinclairzx: that's what responsive layouts solve, no?
07:33 vguerra joined
07:33 torm3nt joined
07:33 <_Oddman> silly interwebs
07:33 <jmoyers> sinclairzx and what have you done lately?
07:33 <sinclairzx> jmoyers: a lot of things? why?
07:34 <jmoyers> besides talk about typescript and asp.net
07:34 <jmoyers> okay, github?
07:34 <jmoyers> pull request or gtfo
07:34 <sinclairzx> jmoyers: well, there is all that work ive been doing "not dressing like a emo and proclaiming my one sided thoughts about technology to the sheep"
07:35 <jmoyers> i.. i dont even
07:35 <sinclairzx> jmoyers: i don't use github either
07:35 <sinclairzx> jmoyers: not that i have an issue with it
07:35 <astropirate> sinclairzx, fan of codeplex?
07:36 <astropirate> :D
07:36 <sinclairzx> nope, i've been using google code for years
07:36 <ChrisPartridge> oh dear, here we go.. again
07:36 ifarkas joined
07:36 torm3nt joined
07:36 <ljharb> googlecode? good god.
07:37 <astropirate> cant stop listening to this so much epicness https://www.youtube.com/watch?v=ZjjqOFOVTK4
07:37 <* sinclairzx> is old school, and happens to like subversion
07:37 Wizek|2 joined
07:37 <Oddman> yikes
07:37 <Oddman> have you actually played with git?
07:37 <ChrisPartridge> no wonder you love microsoft so much
07:37 JumpLink1 joined
07:37 qos joined
07:37 <ljharb> subversion?!?
07:37 hnan joined
07:37 <astropirate> I like CVS
07:37 <ljharb> sinclairzx, you're fast making your opinions irrelevant
07:37 shaggy167 joined
07:37 <ljharb> CVS is god-awful.
07:38 <astropirate> ljharb, get on my level
07:38 <ljharb> still using subversion in 2012 is almost as bad as not having version control at all
07:38 <sinclairzx> Oddman: yes, ill be switching over eventually to take advantage of git publishing on Azure
07:38 <ChrisPartridge> Did anyone ever use VSS?
07:38 <ljharb> ChrisPartridge: of course, 12 years ago
07:38 r0tha joined
07:38 <ChrisPartridge> We still have a project in VSS
07:38 <sinclairzx> ljharb: CVS is not subversion. http://www.pushok.com/software/svn-vscvs.html
07:38 <astropirate> HAHAAH
07:38 <ChrisPartridge> it's my excuse to never touch it
07:39 <sinclairzx> ChrisPartridge: hated VSS, also hate Team Foundation
07:39 <sinclairzx> microsoft doesn't do version control all that well imo
07:39 <astropirate> sinclairzx, do you work for microsoft?
07:39 <ljharb> sinclairzx: CVS is all centralized version control, and it's all atrocious.
07:39 hkjels joined
07:39 <Oddman> they're both bad
07:39 <Oddman> SVN is slightly better than CVS
07:39 <ljharb> and CVS is worse than subversion. and that link is from 2005. don't post links that old.
07:40 pig joined
07:40 <sinclairzx> Oddman: SVN works for small teams, and as i work on a lot of my personal projects alone, it suites me fine
07:40 <ljharb> sinclairzx: the fact that you think that shows you know nothing of git.
07:40 <sinclairzx> astropirate: no, i don't work for Microsoft
07:41 <ljharb> centralized version control doesn't work for any size team.
07:41 <Oddman> sinclairzx, until you want to branch properly
07:41 <Oddman> or pull a feature from someone else without it being on the main repos
07:41 <ljharb> or work offline
07:41 <Oddman> :)
07:41 <Oddman> I don't know how I survived without git
07:41 <ljharb> or join the developer world of 2009
07:41 <Oddman> it made dev soooo lovely
07:41 <sinclairzx> ljharb: what the hell are you talking about, i don't have any issues with github at all, i just currently don't use it (but will when i start moving stuff onto Azure)
07:42 <ljharb> sinclairzx: i'm not talking about github, altho thats awesome. i'm talking about git.
07:42 <Oddman> git != github
07:42 <sinclairzx> Oddman: im aware
07:42 jpdery joined
07:42 <astropirate> I'm a hipster I use http://gitorious.org/ for git hosting
07:42 <Oddman> need to stick to the terms then dude, cos that was confusing :)
07:43 <Oddman> seeing as noone menitoned github. heh
07:43 <sinclairzx> Oddman: i figured i was being flamed because i currently use google code
07:43 <astropirate> Oddman, how dare you inject logic into this discussion!
07:43 <ljharb> sinclairzx: you're being flamed because google code means you use svn. altho google code is awful too.
07:43 <astropirate> sinclairzx, nahh.. google code now also supports git
07:43 <sinclairzx> astropirate: haven't checked lately
07:44 <sinclairzx> ljharb: stfu, who cares what version control system i use?
07:44 <ChrisPartridge> Gee, gitorious is looking pretty slick these days
07:44 <Oddman> astropirate, sorry :'(
07:44 <astropirate> ChrisPartridge, I want to use them but.. they dont have issue manager and wiki :(
07:45 <__pr0t0__> Somebody should tell the FreeBSD guys that git is the only way to go
07:45 <astropirate> I had an account there btu had to give it up becuase of issue manager that was available on github
07:45 <ljharb> sinclairzx: certainly you don't care if you're not using git :-)
07:45 <__pr0t0__> They haven't gotten the message and are still winning
07:45 <ChrisPartridge> astropirate: Yeah, we are using mercurial+fogbugz+kiln here - works quite well
07:45 <astropirate> wining what??
07:45 <__pr0t0__> Well, they have an OS and you don't. That's pretty winning to me.
07:45 <Oddman> "They haven't gotten the message and are still winning"
07:45 <Oddman> LOL
07:45 <Oddman> winning how?
07:45 JumpLink3 joined
07:45 <sinclairzx> ljharb: correct, i don't care, it offers me nothing over what i currently use
07:45 <astropirate> __pr0t0__, actually.... no. I have written an OS or two :p please check your facts
07:46 <Oddman> sinclairzx, that's not true :)
07:46 <astropirate> very incredibly simple, but an OS non the less
07:46 <Oddman> it offers quite a bit that you'd find very useful both personally and as part of your team
07:46 <sinclairzx> ljharb: i will care slightly more when i decide to hook up git publishing on azure
07:46 <ljharb> sinclairzx: that's 1000% not true.
07:46 <__pr0t0__> astropirate: I mean an OS that works and people use. I'm sure yours was great, but it's not powering some ATM somewhere I'm sure :)
07:46 <ljharb> sinclairzx: git offers more than svn - you just don't realize what yet.
07:46 tahu joined
07:46 <sinclairzx> ljharb: guess what, im done, talking about git
07:46 <astropirate> __pr0t0__, why you go on tanget? what are they wining???????????????
07:47 <astropirate> is there a prize?
07:47 [AD]Turbo joined
07:47 <astropirate> competetion i dont know about?
07:47 <Oddman> correct
07:47 <ljharb> sinclairzx: you can be done talking about it, but i'm not done, because you are stuck in the stone ages if you're using centralized version control.
07:47 <Oddman> FreeBSD won the best cake award for 2012
07:47 <ljharb> that's like trying to defend still using a dialup modem.
07:47 ktstowell joined
07:47 <__pr0t0__> astropirate: Yes. The prize is cake.
07:47 <astropirate> Oddman, damn!
07:47 <[AD]Turbo> hi there
07:47 <__pr0t0__> Oddman beat me.
07:47 <astropirate> yes
07:47 <Oddman> hehe
07:47 <astropirate> you did not win!
07:47 <astropirate> :p
07:48 <Oddman> __pr0t0__, is proto.
07:48 <__pr0t0__> I lost as usual :<
07:48 <sinclairzx> ljharb: im aware of all the benefits of git, my view is this ... "oh, that's nice, i should move all my projects over to it one day". and that's it
07:48 <ljharb> fair enough. except that "one day" was 2 or 3 years ago, so you should get on it.
07:48 <astropirate> lol
07:48 ttt joined
07:48 <astropirate> ljharb, dont give him a hard time
07:49 <ljharb> sinclairzx: http://jonmaddox.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/ will get you migrated in seconds (plus however long you have to wait if your svn server is slow)
07:49 <ljharb> astropirate: i push because i love. i push because i love.
07:49 <Oddman> I push because I'm pregnant.
07:49 stephank joined
07:49 <astropirate> i push only when I know there is a cliff behind them
07:49 <astropirate> :O
07:49 <Oddman> haha
07:50 <Oddman> you scoundrel you
07:50 <sinclairzx> ljharb: actually, i was thinking about pushing all my code out to a paid for TFS repo
07:51 pig joined
07:51 <ljharb> oh you can store the git server anywhere. you can make one on any server and just push to it with ssh.
07:51 <ljharb> for freeeee
07:51 <ljharb> altho github is awesome and you should use that.
07:51 <sinclairzx> ljharb: you get what you pay for in other words?
07:51 <Oddman> no, this isn't microsoft sinclairzx
07:51 <sinclairzx> ljharb: like PHP, that's free too
07:51 <ljharb> yup. basic stuff is free, github awesomeness is paid for. unless youre doing open source, and then github gives it to you for free
07:51 <Oddman> where every 2nd windows release is fail
07:52 <ljharb> sinclairzx: we're talking about service. that's the only place where you get what you pay for.
07:52 aslant joined
07:52 <astropirate> sinclairzx, node.js is also free
07:52 <astropirate> it must be crap
07:52 <Oddman> :P
07:52 <astropirate> you shouldnt useit
07:52 <Oddman> noooooooooooo
07:52 <astropirate> javascript is also free
07:52 <sinclairzx> astropirate: exactly
07:52 <astropirate> so is typescript
07:52 <astropirate> dump it all
07:52 <astropirate> set it on fire!!!
07:52 mattgifford joined
07:52 <ljharb> software should be free. nothing else has to be.
07:52 <astropirate> air
07:52 <astropirate> Anyway
07:52 aleitaly joined
07:53 <astropirate> Anyone interested in forming a team?
07:53 <astropirate> doing node.js projects
07:53 <Oddman> depends
07:53 <Sven_vB> will jade's feature-richness end up in being slow for even simple templates?
07:53 <Oddman> does it involve cake?
07:53 hackband joined
07:53 extrawurst joined
07:53 <astropirate> most consulting gigs really require a team. And I am only 1 guy
07:53 <SomeoneWeird> wats cake
07:53 <ljharb> Sven_vB: yes, i'm sure it will be slower - but, you should not worry about performance until youve built it, and its measurably slow.
07:53 stisti joined
07:54 <astropirate> this is cake: https://www.youtube.com/watch?v=0UJkiMrI6ZI SomeoneWeird
07:54 <Oddman> cakephp? :P
07:54 <SomeoneWeird> THATS A LIE
07:54 <hemanth> anyone pawing at cluster? trying to get a soild use case to support it ....
07:54 <Oddman> link?
07:54 <sinclairzx> ljharb: you know, i could proclaim all the benefits of using .NET over JS because you don't know what your missing out on, but i won't
07:54 <Oddman> sinclairzx, you could TRY :P
07:55 <astropirate> Pm me if anyone is intersted in teaming up :)
07:55 <ljharb> .net and JS aren't comparable
07:55 <sinclairzx> hemanth: ive been looking into cluster actually
07:55 <SomeoneWeird> o look facebooks down
07:55 pancake left
07:55 <hemanth> sinclairzx, nice, what more than the examples?
07:55 margle joined
07:55 <sinclairzx> hemanth: not at this stage :) but i have been thinking about it alot
07:56 graeme_f joined
07:56 <hemanth> sinclairzx, say, some data crunching?
07:56 <astropirate> hemanth, use cluster to use all of the cores in your CPU
07:56 <sinclairzx> hemanth: not in that context no
07:56 <astropirate> if y ou have say... 8 cores. 1 node process will only use 1 core
07:56 <Sven_vB> astropirate, which country to team up in?
07:56 <hemanth> astropirate, right, aware of that. But where is it most useful and very strong use case is what i'm looking for
07:57 <sinclairzx> hemanth: more in lines of modularizing contextual code into the same app, and running them over multiple threads, on the SAME port
07:57 <astropirate> Sven_vB, anywhere, remote is fine by me
07:57 <astropirate> hemanth, that is the use case for it
07:57 mscdex_ joined
07:57 <sinclairzx> hemanth: something along the lines of having both a web app, and a socket.io app running on the same port
07:57 <astropirate> that is the only use case fo rit
07:58 <sriley> well since node js is single threaded if you only have 1 process running on 1 core and you get 2 requests at the same time the second request will have to wait till the first one is finished
07:58 <ChrisPartridge> not really
07:58 <__pr0t0__> async doesn't quite work like that
07:58 <ChrisPartridge> if request 1 has to hit io, and request 2 doesnt, request 2 might get out first
07:58 <hemanth> sinclairzx, socket and web and irc and so on, on the same port astropirate
07:59 victor2812 joined
07:59 <sriley> yes its not quite like that, but in its simplest form its easy to describe like that
07:59 SpX joined
07:59 <astropirate> hemanth, good catch. my bad I didnt think of that
07:59 <Jygga> its just all sorts of wrong to descibe it like that but sure :)
07:59 <sinclairzx> hemanth: ?
08:00 <sinclairzx> hemanth: im pretty sure there isn't any other way to do it
08:00 smellynoser joined
08:01 pyrotechnick joined
08:02 derpops joined
08:02 sunilthaha joined
08:02 romainneutron joined
08:02 shaggy167 joined
08:02 <hemanth> sinclairzx, blank!
08:02 Druide_ joined
08:03 <sinclairzx> ...?
08:03 krisu joined
08:06 fastest963 joined
08:06 <hemanth> sinclairzx, trying to make one such
08:06 <sinclairzx> hemanth: dude, i can't understand you
08:07 <hemanth> sinclairzx, trying to use cluster module to make an app with many workers doing different tasks over the same port
08:08 <sinclairzx> hemanth: oohh
08:08 <sinclairzx> hemanth: yeah, i think it is also a sensible way to structure an application
08:08 <hemanth> yup
08:08 maletor joined
08:08 <sinclairzx> with the idea being that a disparate node app today, can be hosted in a cluster tomorrow
08:08 rio{ joined
08:09 <hemanth> sinclairzx, heh heh :)
08:09 <sinclairzx> hemanth: i need something like this for Azure
08:09 odyniec joined
08:09 <hemanth> sinclairzx, PM?
08:09 Tobsn joined
08:10 <sinclairzx> in channel would be better, clusters are a relevant topic
08:10 templaedhel joined
08:11 mxweas joined
08:11 stafamus joined
08:12 hipsterslapfight joined
08:13 mikedeboer joined
08:13 Nasga joined
08:13 _kud joined
08:13 <hemanth> okies, will be back, need some food!
08:14 mattgifford joined
08:14 Lukewh joined
08:15 jamesd joined
08:16 <sinclairzx> its pretty neat that nodejs can keep a setInterval looping in the background all the while serving requests
08:16 pokoli joined
08:16 <sinclairzx> nodejs +1
08:17 emattias joined
08:19 <mmalecki> sinclairzx: event loops rock :)
08:20 <sinclairzx> mmalecki: gotta say, that's quite a nice feature, although the setInterval 'interval' parameter is not accurate
08:20 Yuffster_fun joined
08:20 felixge joined
08:20 felixge joined
08:22 <mmalecki> sinclairzx: yeah, that happens because you end up blocking sometimes
08:23 <sinclairzx> mmalecki: do you run node on IIS at all?
08:23 <mmalecki> it shouldn't be that inaccurate tho
08:23 <mmalecki> no, I try to stay away from IIS as far as I can
08:23 <sinclairzx> mmalecki: its ultra inaccurate
08:23 jpdery joined
08:24 <mmalecki> sinclairzx: how many miliseconds are we talking about?
08:24 <sinclairzx> about 1000
08:24 <mmalecki> WAT.
08:24 <sinclairzx> i set interval to 1
08:24 <mmalecki> I mean, damn man.
08:25 <mmalecki> get rid of IIS, set up some proxy in front of node if you care enough
08:25 mauritslamers_ joined
08:25 <sinclairzx> mmalecki: like?
08:25 mox601 joined
08:25 pneftali_ joined
08:26 <sinclairzx> don't say nginx
08:26 <mmalecki> sinclairzx: node-http-proxy
08:26 jetienne joined
08:26 <mmalecki> running in front of over 4k machines at nodejitsu, definitely production-ready :)
08:26 mox601 joined
08:26 <mmalecki> (multiple instances, obviously)
08:26 ts33kr joined
08:27 <pixie79> morning all - i am looking to try and simplfy my drbd read module so that i can then use it other for more than one script, I think i am lost in the how to put functions in modules correctly and then have them read a file and return
08:27 <pixie79> so far i have: http://pastebin.com/RzdtnqCy
08:27 <pixie79> which just prints 'FUNCTION'
08:28 <sinclairzx> mmalecki: does it offer me process management, scalability on multi core servers, auto-update, access to logs over http, does it run side by side with .NET applications, and a integrated management experience ?
08:28 <pixie79> ignore me - i found how to get it to give me the results, now just to see if i can assign that to a var
08:28 <mmalecki> sinclairzx: nope, it wasn't built for it
08:29 <sinclairzx> mmalecki: IIS is built for that
08:29 <mmalecki> for process management I'd recommend forever
08:29 <mmalecki> cool
08:29 TomY joined
08:29 <sinclairzx> IIS FTW !
08:29 shaggy167 joined
08:30 extrawurst left
08:30 <pixie79> hm - ok may be not, if i dump inside the function it prints, but i need to return contents of the read file
08:30 <mmalecki> heh, whatever you prefer
08:30 uiureo joined
08:30 <sinclairzx> mmalecki: looking at deploying to Azure
08:31 Aartsie joined
08:33 <rendar> mmalecki: you are at nodejitsu? :)
08:33 <sinclairzx> mmalecki: handlebars looks like a good template engine
08:34 <mmalecki> rendar: yup, devops engineer
08:34 <rendar> mmalecki: cool!
08:34 <mmalecki> indeed it is :)
08:34 Guest36894 joined
08:34 <jesusabdullah> the mustache family isn't terrible
08:34 <jesusabdullah> at least, as non-terrible as templating can really be
08:35 <rendar> mmalecki: they have 4000 machines? wow, i didn't thought that
08:35 <mmalecki> rendar: hey, those apps have to go somewhere, right? :)
08:35 dch joined
08:36 <rendar> eheheh
08:36 <rendar> mmalecki: so basically, you write your server with node.js, and you just submit it to nodejitsu and they run it, in few clicks..
08:36 <sinclairzx> mmalecki: do you use handlebars to precompile your templates, or do you have your application compile them on the fly?
08:37 r0tha_ joined
08:37 <jesusabdullah> sinclairzx: you mean like, caching?
08:37 <mmalecki> rendar: one command line, to be precise :)
08:37 <rendar> mmalecki: lol :P
08:38 <mmalecki> sinclairzx: I don't use handlebars
08:38 jonandersson joined
08:38 <mmalecki> I rarely do stuff on frontend these days
08:38 <sinclairzx> jesusabdullah: nope, not exactly
08:38 <mmalecki> if I do, I use plates
08:38 <NodeX> anyone here use socket.io?
08:38 <jesusabdullah> sinclairzx: wouldn't it really be a matter of whether you need to update values or not?
08:38 kennethkoontz joined
08:38 <jesusabdullah> NodeX: yes, everyone and their dog uses socket.io ;)
08:38 <sinclairzx> jesusabdullah: but everyone should cache, it's what what im refering to
08:38 <NodeX> in production on large scale sites?
08:38 <jesusabdullah> yes
08:39 <sinclairzx> jesusabdullah: values are typically passed into a compiled template
08:39 <NodeX> what sort of performance do you get out of it
08:39 ashnur joined
08:39 <jesusabdullah> oh I see
08:39 <NodeX> say 50k connected users pushing a message to all?
08:39 <jesusabdullah> I mean, that saves some computation up-front, I'd think
08:39 <jesusabdullah> yes
08:39 <jesusabdullah> if websockets are going
08:39 <mmalecki> NodeX: you'd need around 10 GBs of total RAM to do that I think
08:40 <Nexxy> ugh.
08:40 <NodeX> but it would handle it fine yes?
08:40 Guest36894 joined
08:40 eldios joined
08:40 <mmalecki> 256 MB machine can handle around 500 concurrent users with a simple hello world app
08:40 imjsilva joined
08:41 <sinclairzx> is it considered blasphemy to use Microsoft SQL Server to house my nodejs applications data?
08:41 <NodeX> that's pretty cool
08:41 <rendar> mmalecki: how they at ninjutsu manage security? i mean, what about if i deploy a malicious node.js script? are they sandboxed or what?
08:41 EweR joined
08:41 cosmincx joined
08:41 mattpodwysocki joined
08:41 <TehShrike> wat
08:41 <mmalecki> rendar: yeah, we do heavy sandboxing
08:41 <rendar> mmalecki: i see
08:41 sha0coder joined
08:42 perezd joined
08:42 <rendar> mmalecki: but you use a your own sandbox, or the one with node.js(? does it have one) or googlev8?
08:42 <sinclairzx> mmalecki: do you work at nodejitsu ?
08:42 <NodeX> is there a general accepted method of scaling socket.io or is it accepted to scale horizinatly by adding more servers
08:42 <mmalecki> sinclairzx: yes
08:42 <sinclairzx> oh nice
08:42 <sinclairzx> kudos
08:43 <mmalecki> rendar: various operating system-level techniques
08:43 <Nexxy> that depends on what you call "work"
08:43 <rendar> mmalecki: i see, linux i guess
08:43 <mmalecki> rendar: smartos
08:43 <sinclairzx> hello Nexxy
08:43 slaskis joined
08:43 <Nexxy> hi sinclairzx
08:43 <mmalecki> but those do apply to unix in general
08:44 <rendar> mmalecki: i see
08:44 Wizek joined
08:44 stisti joined
08:44 <mmalecki> Nexxy: I'm a responsible employee!
08:44 fangel joined
08:44 ptdorf joined
08:46 Wizek|2 joined
08:46 ewalker1 joined
08:46 DaMorpheuS joined
08:46 <eldios> sinclairzx, it's considered blasmpehy to use MSSQL :P
08:46 <eldios> Nexxy, \o/
08:47 r0tha joined
08:47 <mmalecki> it's considered blasphemy to use MS*
08:47 <eldios> o/
08:47 <Spion_> except for typescript
08:47 <mmalecki> well, no, that too ;)
08:48 <Nexxy> mmalecki, uh huh ;P
08:48 <Nexxy> eldios, hai \o/
08:48 <eldios> ^^
08:48 perezd joined
08:48 jimmyff joined
08:50 robmorrissey joined
08:50 Emmanuel` joined
08:50 <mmalecki> Nexxy: btw, when are you arriving to Dublin?
08:50 <mmalecki> I'm getting in on 15th
08:51 <eldios> oh.. are you going to the nodejsconf in dublin?
08:51 <mmalecki> hell yeah I am
08:51 <eldios> =)
08:51 <mmalecki> hit me up for drinks
08:51 <mmalecki> where I'll be representing as a responsible nodejitsu employee.
08:51 <eldios> well if you pass near Pisa, I will sure do
08:52 imjsilva joined
08:52 <mmalecki> eldios: I'll be in Brescia
08:52 <eldios> oh
08:52 <mmalecki> for nodejsconf.it
08:52 perezd joined
08:52 <eldios> I'll be there too
08:52 <mmalecki> hit me up for drinks!
08:52 <eldios> let's definitely meet there
08:52 <mmalecki> I'm getting in on 6th, leaving on 19th
08:52 <eldios> wow
08:53 <eldios> visiting the area?
08:53 <mmalecki> definitely
08:53 <eldios> well.. be sure to come in Tuscany
08:53 <eldios> we'll drink twice :P
08:54 perezd joined
08:54 darthdeus joined
08:54 <mmalecki> at least.
08:54 <eldios> XD
08:54 <mmalecki> brb, gotta buy some milk, my fridge is full of beer
08:54 <mmalecki> with no food
08:55 imjsilva_ joined
08:55 imjsilva_ left
08:56 rampr joined
08:56 perezd joined
08:57 <pixie79> how do i return an array to the calling function, when the contents of the array are the result of a file read?
08:58 imjsilva joined
08:58 <astropirate> pixie79, you dont
08:58 timkuijsten joined
08:58 ewalker joined
08:58 timkuijsten joined
08:58 <pixie79> currently i have the following ?http://pastebin.com/jEbnxJg0
08:58 <astropirate> have the callign function provide a callback function
08:58 kkszysiu_work joined
08:58 <astropirate> which takes the array as a parameter
08:59 aliem joined
08:59 perezd_ joined
09:00 <pixie79> astropirate: i get the first part - not sure how i assign the array as a parameter to a callback though
09:01 <astropirate> callback(myArray);
09:01 <hemanth> sinclairzx, still around?
09:01 <sinclairzx> yus
09:02 thatguydan joined
09:02 <hemanth> so how about a Torrent cluster client?
09:02 <sinclairzx> hemanth: maybe?
09:02 <Nexxy> mmalecki, not till the 16th I believe
09:02 mxweas joined
09:02 <pixie79> ok i will try
09:02 <hemanth> astropirate, what say? ^^
09:02 <Nexxy> mmalecki, I *just* got to Berlin an hour ago
09:02 <sinclairzx> hemanth: tbh, i haven't built a torrent client before
09:03 <astropirate> hemanth, what? o_O
09:03 <hemanth> sinclairzx, Torrent cluster client?
09:03 <hemanth> sinclairzx, we can use required modules and each worker will work on given set of links. astropirate
09:04 <sinclairzx> hemanth: where are you from ?
09:04 <hemanth> hemanth, Bangalore
09:04 <astropirate> hemanth, what would be the point of that?
09:04 <hemanth> astropirate, just to get an app with cluster ;) #fun?
09:05 <* astropirate> slaps hemanth
09:05 <astropirate> no fun allowed
09:05 frankblizzard joined
09:05 <* hemanth> hides behing Nexxy and sinclairzx to avoid angry astropirate
09:05 huskyr joined
09:05 jpdery joined
09:05 woeye joined
09:06 omair joined
09:06 Frippe joined
09:06 Frippe joined
09:06 simenbrekken joined
09:08 <pixie79> astropirate: that just gave me function callback is not defined: -> exports.read = function (callback) {
09:08 <astropirate> sec lemme look at your code
09:09 h4nnibal joined
09:10 andrewffff joined
09:10 jonandersson joined
09:11 <astropirate> pixie79, http://pastie.org/4913797
09:11 templaedhel joined
09:11 woeye joined
09:11 woeye left
09:11 woeye joined
09:12 thirdknife joined
09:12 <pixie79> astropirate: thanks
09:13 sreeix joined
09:13 sgupta joined
09:14 SamuraiJack joined
09:15 foxbunny joined
09:16 perezd_ joined
09:17 perezd_ joined
09:18 tjmehta joined
09:21 notmatt joined
09:22 mikedeboer joined
09:22 <pixie79> astropirate: much appreciated - i now have that data where i need it in an array ready to be used - just need to chop it in to json ideally next
09:23 mikeal joined
09:24 Aartsie joined
09:27 manuelbieh joined
09:27 timkuijsten joined
09:27 timkuijsten joined
09:29 dannyamey joined
09:29 jcoglan joined
09:30 shaggy167 joined
09:32 mynameis joined
09:34 _Renegade joined
09:34 mynameis joined
09:37 <mmalecki> Nexxy: awesome. drinks on 16th
09:38 davidcoallier joined
09:38 <pyrotechnick> this is huge: http://news.sky.com/story/993180/milky-way-black-holes-found-by-astronomers
09:38 <pyrotechnick> predatory universe
09:39 darthdeus joined
09:40 jarr0dsz joined
09:43 defunctzombie joined
09:43 <astropirate> pixie79, sorry was AFK
09:43 <astropirate> to do that just do JSON.encode()
09:43 <astropirate> sorry i mean
09:43 <astropirate> JSON.stringify
09:43 <BennyLava> > JSON.encode
09:45 PhysX joined
09:46 fg3 joined
09:48 jpdery joined
09:48 margle joined
09:49 mon joined
09:50 dannyamey joined
09:51 <Nexxy> mmalecki haha oki
09:51 jibay joined
09:51 <mmalecki> Nexxy: AvianFlu is getting in on 16th too!
09:52 felixge joined
09:52 felixge joined
09:53 <mon> any info about node.js based Tent server yet?:)
09:53 <Nexxy> sweet!
09:54 tgriesser joined
09:55 ins0mnia joined
09:55 <mmalecki> Nexxy: yes!
10:01 andrehjr joined
10:02 ts33kr joined
10:05 thirdknife joined
10:05 nmjesus joined
10:05 sfoster joined
10:07 lucabox joined
10:07 mikedeboer joined
10:08 spion joined
10:08 gavri joined
10:10 <gavri> I'm using express. I'd like to functional test my application without having to start up a server. is there a way to get my requests routed and my request handlers executed without having to start up an http server?
10:11 stagas_ joined
10:11 <astropirate> I would like to know this too
10:11 templaedhel joined
10:12 sreeix joined
10:13 _pid1 joined
10:13 vahnpaper joined
10:13 ewalker joined
10:17 MrNko joined
10:18 tgriesser joined
10:18 MrNko joined
10:18 TomY joined
10:19 krisu joined
10:19 thirdknife joined
10:20 Aartsie joined
10:20 felixge joined
10:20 felixge joined
10:22 andrewffff joined
10:23 piscisaureus_ joined
10:23 <hemanth> Rails to node.js 20X time faster! :)
10:24 <Gottox> <random your-mother response>
10:24 <* astropirate> smacks Gottox
10:25 <astropirate> hemanth, that is good but as many have said: we just dont know why that is
10:25 <astropirate> is that becaue node is just retardedly faster
10:25 <jcoglan> fwiw, I have plenty of tests that boot a server and make requests, for integration tests
10:25 margle joined
10:25 <astropirate> or because their old code just sucked massively
10:25 <jcoglan> booting a server is plenty fast enough for this
10:26 andrewffff joined
10:26 <jcoglan> if you don't want to do that, just invoke the request handler function with fake request and response objects
10:26 <jcoglan> check that the response receives writeHead(), write(), end() et
10:26 <jcoglan> s/et/etc/
10:27 pickels joined
10:27 aleitaly1 joined
10:27 <gavri> jcoglan: I'd like the functional test to include the actual url that is matched and routed
10:27 MrNko joined
10:27 FIQ joined
10:28 <jcoglan> so either boot a server and use http to call it, or call the request-handler function with a fake request
10:28 <jcoglan> e.g. {url: '/the/url/being/tested'}
10:28 rampr joined
10:28 aleitaly1 left
10:29 <gavri> if I call the request handler function directly, I'm bypassing the actual routing which I don't want to unit test separately
10:29 <jcoglan> you'll obviously need more to make it a real-looking request object, but it's fairly easy to add the properties a typical request handler uses
10:29 SunilT joined
10:29 <jcoglan> I don't mean call the individual route handler, I mean call the top-level handler that processes all incoming requests
10:29 shaggy167 joined
10:29 <gavri> oh
10:30 <gavri> that's cool
10:30 <jcoglan> (I don't know exactly where that is in express, or if it's exposed)
10:30 jpdery joined
10:30 <gavri> jcoglan: thanks. I'll see if I can pursue that
10:30 <jcoglan> but I'd try going the full-stack route w/ booting a server first, it's surprisingly fast
10:30 <astropirate> http://ikaisays.com/2012/10/04/clearing-up-some-things-about-linkedin-mobiles-move-from-rails-to-node-js/
10:31 <jcoglan> I do this in a bunch of my tests, e.g. https://github.com/jcoglan/restore/tree/master/spec/restore
10:31 <jcoglan> they're really fast
10:32 uiureo joined
10:32 <gavri> it's not about the speed. I just don't know how to get it to work. for example, all my functional tests need this and I could choose to run an individual test, or a subdirectory of tests or all the tests
10:32 piscisaureus_ joined
10:32 simong joined
10:32 <gavri> and in all these cases, I'd like for a server to start up
10:32 <gavri> but only once
10:32 <gavri> I use vows
10:32 <gavri> which takes in one or more list of test files
10:33 Tobsn joined
10:34 <txdv_> he is asian
10:34 stisti joined
10:34 <jcoglan> to start the server, you could use
10:35 <hemanth> astropirate, :)
10:35 <jcoglan> topic: function() { server.listen(4567, this.callback) }
10:35 <jcoglan> (possible, I don't know vows)
10:35 <jcoglan> but you'd need an 'after' hook to shut down the server after each test, which I don't know if vows has such a thing
10:36 <gavri> see that's the thing. I don't want to have to type "topic: function() { server.listen(4567, this.callback) }" for each batch of vows
10:36 <gavri> maybe I'm just spoilt with rails tests
10:36 wolframkriesing joined
10:37 TomY joined
10:38 <pyrotechnick> txdv_: http://en.wikipedia.org/wiki/Race_and_intelligence
10:39 krisu joined
10:41 <pyrotechnick> read it and weep
10:41 nicholasf joined
10:42 <gavri> a way I could work around this is if I use an alternate router (which lets the route handlers be directly invoked) https://npmjs.org/package/router for express
10:42 <gavri> does express allow the router to be replaced?
10:42 <astropirate> no
10:43 <jcoglan> how hard would it be to use a test framework with before-all/after-all hooks that let you start/top the server?
10:45 dax_roc joined
10:45 TomY joined
10:45 <txdv_> everytime i see this vertx i am like
10:45 <txdv_> awesome, fast, must be an awesome thing
10:45 <txdv_> but then i remember that i would have to use freaking java
10:45 _pid joined
10:46 gabrieluk joined
10:48 mvanek joined
10:50 bren2010 joined
10:51 <h4nnibal> how is java freaking?
10:51 PhysX joined
10:51 thirdknife joined
10:52 <shinaku_> Anyone developed nodejs on an android tablet?
10:52 <txdv_> h4nnibal: no lambdas
10:55 fg3 joined
10:56 vguerra joined
10:57 kishoreyekkanti joined
10:58 rickibalboa joined
10:58 <kranius> txdv_: wrong
10:59 andrewffff joined
10:59 rampr joined
10:59 <txdv_> i guess tsince i am always playing with bleeding edge
10:59 <txdv_> it wouldn't bother me
11:01 ProblemEmitter joined
11:01 Electron joined
11:04 axos411 joined
11:05 Shrink joined
11:06 <gavri> ;
11:08 dch|away joined
11:08 markwubben joined
11:08 aslant joined
11:09 zonetti joined
11:09 andrewffff_ joined
11:12 huskyr joined
11:12 templaedhel joined
11:12 jpdery joined
11:14 joshfinnie joined
11:16 Couto joined
11:17 YoY joined
11:18 nariyal joined
11:19 yawn joined
11:20 syskk joined
11:20 <syskk> any reason why require('repl'); breaks Express app?
11:21 <syskk> require('repl').start('REPL> ') actually breaks my app
11:21 _Renegade joined
11:23 <jcoglan> something to do with stdout.setRawMode(true) ?
11:23 poolshark joined
11:23 brooss joined
11:23 <jcoglan> I've had repl break the password module and other CLI stuff, never a web app
11:23 shaggy167 joined
11:23 <syskk> probably. anyways fixed the problem by forcing the repl to start only after express server is started
11:24 <jcoglan> s/stdout/stdin/
11:26 <syskk> is it possible that stdout is going to the repl's input?
11:26 fly-away joined
11:27 axos411 joined
11:27 tgriesser joined
11:28 _pid joined
11:28 toonketels joined
11:28 <gavri> I have a question about environment handling in node.js (development, test and production). I'm using nconf and sequelize and both of them seem to assume that there is only one enviroment. for example, sequelize's migrations read from config/config.json (this file path is hard coded in sequelize) and it completely ignores NODE_ENV. what am I missing here? what should be my approach to make sure that when tests run they don't muck around with development data?
11:28 <sinclairzx> anyone here fond of OData?
11:29 athenot joined
11:29 mon joined
11:30 c4milo joined
11:32 Lukewh joined
11:32 FontPeg joined
11:33 joshfinnie joined
11:34 Kn|t3 joined
11:35 tutley joined
11:35 leonardo joined
11:37 bnoordhuis joined
11:38 cache joined
11:39 overra joined
11:39 overra joined
11:40 jxie_ joined
11:40 Kn|t3 joined
11:42 <mscdex_> gavri: send sequelize a pull request? :-)
11:43 <pixie79> is there an easy way to delete the first line of text from a string (or first two lines actually)
11:43 <gavri> mscdex_: but what's the general approach towards environments in node.js world though?
11:43 broofa joined
11:43 <astropirate> pixie79, yes open it up in a text editor and delete the first line or two
11:44 <nkuttler> pixie79: regex, match newlines, remove whatever you don't want
11:44 <litenull> +1
11:44 <pixie79> nkuttler: ok - off to hunt regex then
11:44 <mscdex_> gavri: not sure there is a single approach used, express which is pretty popular, uses NODE_ENV and the like
11:45 <nkuttler> !mdn string replace @ pixie79
11:45 <nkuttler> hrm, isn't that bot here as well?
11:45 <mscdex_> nkuttler: coffee break ;-)
11:45 <gavri> so I really can't submit a pull request for sequelize, I guess. I don't know what the author would find acceptable. there's too much leeway here
11:46 <nkuttler> mscdex_: ok
11:46 <nkuttler> gavri: isn't he in #sequelizejs ?
11:46 pandeiro joined
11:46 <gavri> okay, I didn't know that channel existed. thanks
11:47 <pixie79> nkuttler: thanks
11:47 <nkuttler> pixie79: yw
11:47 mdedetrich joined
11:47 nmjesus joined
11:47 <gavri> how soon are the npmjs.org versions typically updated after a pull request on github?
11:47 huskyr joined
11:49 TheSheep joined
11:50 JumpLink3 left
11:53 stisti joined
11:54 jpdery joined
11:54 thl0 joined
11:55 <mscdex_> gavri: depends on the module author
11:56 <mscdex_> and whenever they're ready to bump the version
11:56 Lukewh joined
11:57 <eldios> guys if there's anyone (who knows someone) in a need for a remote devOps/sysEng please query me in private =)
11:59 aslant joined
12:00 <syskk> mmm how hard would it be to connect the REPL to Chrome's webkit inspector or something? I'm sure something like this already exists
12:01 spion__ joined
12:02 varmose joined
12:04 josh_k joined
12:06 colinclark joined
12:07 andrewffff joined
12:07 <pixie79> nkuttler: i have this - data = data.replace(/(^.*$)[0]/gm," "); - but it does not seem to be switching the firstline for a space
12:08 <TheSheep> pixie79: I don't think [0] does what you think it does
12:08 <nkuttler> isn't .* greedy in js?
12:08 <TheSheep> it is, not just in js
12:08 jmar777 joined
12:09 <TheSheep> but . doesn't match \n by default
12:09 therealkoopa joined
12:09 nariyal joined
12:09 <pixie79> may be - i did it without the [0] and it took the whole string not just the first line
12:09 <TheSheep> pixie79: right, now do it without /gm
12:09 <TheSheep> pixie79: just /^.*$/
12:10 <pixie79> TheSheep: data = data.replace(/^.*$/); - make no differance
12:11 <TheSheep> pixie79: and without ^ and $
12:11 <TheSheep> they are spurious
12:11 _pid1 joined
12:11 <TheSheep> > 'abcd\ndef'.replace(/.*/, ' ');
12:11 <TheSheep> ' \ndef'
12:12 templaedhel joined
12:12 <nathan7> syskk: the webkit console is a REPL >_>
12:13 <pixie79> TheSheep: thanks - that matches the first line ok - now i need to hit the second - i will play
12:13 <mscdex_> syskk: i think that's what node-inspector does, or one of those
12:14 piscisaureus_ joined
12:14 syskk_ joined
12:14 <TheSheep> pixie79: 'abcd\ndef'.split('\n');
12:14 whitman joined
12:15 erichynds joined
12:15 thirdknife joined
12:16 scanf joined
12:17 scanf left
12:17 notmatt joined
12:19 <mscdex> pixie79: /(?:.*?\n){2}([\s\S]*)/.exec("foo\nbar\nbaz\n\n")
12:19 gmci joined
12:19 <mscdex> that removes the two first lines
12:20 <mscdex> well, it captures all but the first two lines
12:20 <nkuttler> hrm
12:21 <nkuttler> >> 'foo\nbar\nbaz\n'.replace(/(.+\n){1,2}/, '');
12:21 <purr> nkuttler: (string) 'baz\n'
12:22 RLa joined
12:22 Kullt joined
12:22 <pixie79> nkuttler: thanks - that is the one i needed,
12:22 <pixie79> mscdex: i think i have a different need for your regex as well so thank you for that
12:24 mjr84 joined
12:24 <nkuttler> pixie79: but do some more reading and there's also #regex .+ vs .* etc..
12:26 dnolen joined
12:26 knirhs joined
12:26 <syskk> mscdex_: yes i know node-inspector but that's not exactly what im looking for
12:28 <pixie79> nkuttler: ok - will do
12:29 simong joined
12:29 jpdery joined
12:31 sgupta joined
12:32 bradgignac joined
12:34 obazoud joined
12:34 TomY joined
12:35 <pixie79> i have just done the following split - var dataA = data.split(/\d+:\scs:/); - which gives me the data split where i need it, however i also need the contents of the match to also be in the split and not cut out - any ideas ?
12:36 spion joined
12:36 ashnur joined
12:37 Guest53682 joined
12:37 lucabox joined
12:37 jonandersson joined
12:38 dominiques joined
12:38 kill-9_ joined
12:38 TomY joined
12:39 gmci joined
12:40 margle joined
12:41 Aartsie joined
12:42 jpdery joined
12:42 <nkuttler> !mdn string split @ pixie79
12:42 <nkuttler> meh
12:43 <nkuttler> pixie79: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/split#Example.3A_Capturing_parentheses
12:43 boutell joined
12:43 <nkuttler> if in doubt, rtfm
12:44 shac joined
12:45 vahnpaper left
12:46 mon left
12:48 Shrink joined
12:48 jwulf_ joined
12:48 knirhs joined
12:49 TomY joined
12:50 carlyle joined
12:50 <sinclairzx> is it time for another TS talk?
12:50 vervain joined
12:50 <sinclairzx> is anyone else trying to mix node and TS?
12:50 <sinclairzx> would be good to have a chat
12:53 rwaldron joined
12:54 sgupta joined
12:55 therealkoopa joined
12:55 <RLa> ts?
12:55 <sinclairzx> RLa: typescript
12:55 <RLa> oh
12:55 postwait joined
12:56 pig joined
12:56 Shrink joined
12:56 Shrink joined
12:56 artusrocha joined
12:57 bradgignac joined
12:57 <sinclairzx> i seems im the only one using it
12:58 hellopat joined
12:58 <sinclairzx> https://c9.io/site/blog/2012/10/typescript-support-in-cloud9/
13:00 <RLa> will webstorm support it too?
13:03 zenista joined
13:03 Lukewh joined
13:03 Shrink joined
13:04 poolshark joined
13:05 pretty_function joined
13:06 joemccann joined
13:06 tutley joined
13:06 mynameis joined
13:07 danielfilho|w joined
13:07 Kn|t3 joined
13:07 sorenso joined
13:08 chrisjaure joined
13:08 manuelbieh joined
13:09 <gavri> ;
13:10 stisti joined
13:10 <sinclairzx> i dont know
13:10 dyer joined
13:11 Franz__ joined
13:11 gerard0 joined
13:13 templaedhel joined
13:13 danielfilho|w joined
13:14 Taar779_w joined
13:14 allanm joined
13:15 Shrink joined
13:18 <RLa> typescript is certanly overhyped at this point
13:18 rworth joined
13:18 knirhs joined
13:19 Guest53682 joined
13:19 AvianFlu joined
13:20 estebistec joined
13:20 aslant joined
13:22 bwinton joined
13:22 halfhalo joined
13:23 Senji joined
13:23 thomblake joined
13:24 oxi joined
13:25 yhpark joined
13:25 sh0ne joined
13:26 josh-k joined
13:26 tgriesser joined
13:27 hillct joined
13:27 homunq joined
13:27 thatguydan joined
13:28 davidsklar joined
13:28 codycraven joined
13:28 AaronMT joined
13:29 thirdknife joined
13:29 spion joined
13:30 timmywil joined
13:30 boutell joined
13:30 PhysX joined
13:30 drudge_ joined
13:30 ts33kr joined
13:31 lazyshot joined
13:32 thatguydan joined
13:34 aslant joined
13:34 Mimo joined
13:35 pig joined
13:35 aandy joined
13:36 <Guest12336> hi! How do i get all the events in for an addListener; like request.addListener("data", <- how do you what kind of listerners there are
13:36 <Guest12336> ?
13:37 <RLa> see docs?
13:37 aandy joined
13:37 aandy joined
13:37 <SomeoneWeird> console.log(request)
13:37 <SomeoneWeird> should be under _events or something like that
13:37 <Guest12336> thx
13:37 frasnyc joined
13:38 ddollar joined
13:38 cgfuh joined
13:39 kevinswiber joined
13:39 redir_ joined
13:40 pig joined
13:41 Me1000 joined
13:41 foldedcat joined
13:43 thirdknife joined
13:45 zorzar joined
13:45 TheHippo1 joined
13:47 ansolas joined
13:47 <ansolas> hello,, is there a better way to upload big files ?
13:47 <ansolas> http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-resumable-video-uploade-in-node-js/
13:47 kazupon joined
13:47 <ansolas> this solution seams to be quite slow
13:48 derpops joined
13:51 bradgignac joined
13:51 Kn|t3 joined
13:52 draginx joined
13:52 draginx joined
13:52 igl1 joined
13:52 pritambaral joined
13:52 robmorrissey joined
13:52 shiawuen joined
13:53 tomshreds joined
13:54 huskyr joined
13:54 uiureo joined
13:57 fdmanana joined
13:57 fdmanana joined
13:58 rcrowley joined
13:58 C0deMaver1ck joined
13:58 C0deMaver1ck joined
13:58 thl0 joined
13:58 Industrial joined
13:58 bradleymeck joined
13:59 timmywil joined
14:00 cache joined
14:00 dguttman joined
14:00 generalissimo joined
14:02 thatguydan joined
14:04 toonketels joined
14:04 daffl joined
14:04 <superjoe> ansolas, does it have to be resumable?
14:05 <Industrial> substack: I'm setting up fleet on my hosting which is just one box/IP right now, so I have 1 drone. I'm not sure from where to call fleet spawn. If I call spawn for a few repos, and then do a deploy of one, will it re-spawn the affected/new build of the one repo? or do I manage the updates myself?
14:05 <ansolas> would be nice
14:05 <ansolas> but would be not resumeable be fasyter ?
14:05 <ansolas> faster
14:05 <ansolas> ?
14:06 <superjoe> ansolas, you might be better off with a multipart xhr
14:06 <superjoe> if you're willing to give up IE9 support
14:06 fangel joined
14:06 <ansolas> aha cool
14:06 sirkitree joined
14:06 <ansolas> where can i read about this
14:06 <ansolas> ...i dont care about ie
14:07 <Industrial> Also, right now I'm using forever to run my node servers and keep them up. Fleet doesn't do anything about failing spawns, right?
14:07 jetienne joined
14:07 <superjoe> ansolas, http://www.html5rocks.com/en/tutorials/file/xhr2/
14:07 <superjoe> ansolas, that'll give you progress callbacks too
14:07 pritambaral left
14:07 <ansolas> very nice
14:08 francisl joined
14:08 <ansolas> and how to hande this on teh server side ?
14:08 <ansolas> thank you
14:08 pritambaral joined
14:08 <superjoe> ansolas, use formidable or connect or express
14:08 <ansolas> ok i use express
14:09 c4milo joined
14:09 mandric joined
14:09 <superjoe> use the bodyParser middleware - the upload will be available as a temp file
14:09 <ansolas> ok i do research on teh bodyparser
14:09 brad-work joined
14:10 <superjoe> ansolas, read the express guide. then you'll know the 1 line it takes to plug that sucker in.
14:10 _n_ joined
14:10 <ansolas> yeh i saw that , but have no clue yet how to put all pieces together :)
14:10 brad-work joined
14:11 brad-work joined
14:11 <ansolas> app.use(express.bodyParser());
14:11 voti joined
14:11 imjsilva_ joined
14:11 pig joined
14:12 gnujach joined
14:12 jmanoto joined
14:12 <ansolas> ok great
14:12 francisl_ joined
14:13 templaedhel joined
14:13 jmanoto left
14:13 yawn joined
14:14 mappum joined
14:14 rampr joined
14:14 devsharpen joined
14:15 cushman joined
14:16 jamund joined
14:17 mon joined
14:17 <* jetienne> trying to take off mocha
14:19 matthewborn joined
14:19 <jetienne> how mocha find the files to which contains the test ?
14:19 dzajdband joined
14:19 [Arne] joined
14:22 devdazed joined
14:22 JonnyFunFun[Zzz] joined
14:22 dKc joined
14:22 pig joined
14:23 TomY joined
14:23 mdedetrich joined
14:24 Destos joined
14:25 Lukewh joined
14:25 ryanfitz joined
14:27 philips_ joined
14:28 shiawuen joined
14:29 thurmda joined
14:29 billy joined
14:29 spectre256 joined
14:29 rcrowley joined
14:29 templaedhel joined
14:29 lohkey joined
14:29 artusrocha joined
14:30 euoia joined
14:30 <Industrial> substack: Can I get fleet spawn to clone submodules?
14:30 <Industrial> deploy, rather.
14:31 matthewborn joined
14:31 mandric joined
14:32 thunderstrike joined
14:32 Aartsie joined
14:33 kevinswiber joined
14:33 lpin joined
14:35 <draginx> Anyone know if EMCAScript specifices to use camelCase or snake_case?
14:35 Kn|t3 joined
14:35 Circlepuller_ joined
14:35 francisl joined
14:35 <Industrial> draginx: if either runs, then no.
14:36 <draginx> what>>
14:36 rwaldron joined
14:36 pokoli joined
14:36 <Industrial> draginx: No it doesn't. The NodeJS community however uses camelCase.
14:36 <BennyLava> [citation needed]
14:36 <draginx> ok thanks
14:36 <BennyLava> wtf
14:36 <Industrial> mostly.
14:36 <draginx> BennyLava: ivew heard of it too nodejs style guide
14:37 <BennyLava> "mostly". In other words, personal preference.
14:37 <Industrial> that's what I'm saying, yes.
14:37 <* BennyLava> rolls his eyes
14:37 knirhs joined
14:39 voti left
14:39 dobber joined
14:39 <draginx> BennyLava: why do u hate nodejs so much? :P
14:39 <BennyLava> draginx: "u"?
14:40 <draginx> yeah
14:40 <draginx> i actually have a job
14:40 <BennyLava> draginx: and do I? What the hell?
14:40 ypcs joined
14:40 <draginx> so i cant spend to much time in here ;)
14:40 <BennyLava> Yeah, so do I?
14:40 <pixie79> hi there a test i can do to see if something is valid json? I have written a string which i believe is valid and when i output it to console.log it validates ok in online json checkers
14:40 <BennyLava> Wha tthe fuck is your point?
14:40 <pixie79> ideally i would now like to be able to call the json parts of the string within the rest of my script
14:40 <BennyLava> What the*
14:40 MikeyV27 joined
14:40 sgupta joined
14:40 dzajdband joined
14:40 <BennyLava> draginx: you see, quite a lot of people with tech job can spend time on IRC at work.
14:41 <BennyLava> jobs*
14:41 <draginx> w/e man, you win the internet
14:41 <BennyLava> draginx: thank you. You, on the other hand, only win at failing.
14:41 <BennyLava> Thanks for playing!
14:42 <deoxxa> arguably i spend more time at work on irc than i do working
14:42 Circlepuller joined
14:42 <BennyLava> Me too!
14:42 <BennyLava> I'm just that good.
14:42 epiloque joined
14:42 <BennyLava> Well, fast anyway.
14:42 <deoxxa> also arguably that turns out to be productive
14:42 <deoxxa> most of my work is done by my subconscious, i find
14:43 <deoxxa> if i have a hard problem, i just stop paying attention to it for a while
14:43 <deoxxa> then it fixes itself in my head
14:43 <deoxxa> and wheeeee
14:43 <BennyLava> right
14:43 <deoxxa> thanks, brain!
14:44 <medice> you should go out drinking while your brain works out the problems
14:44 sbook joined
14:45 Kn|t3 joined
14:45 pyrotechnick left
14:46 duc1199 joined
14:46 Venom_X joined
14:48 urlwolf joined
14:48 coolnalu joined
14:49 blazes816 joined
14:50 <mon> deoxxa: so you're better when not thinking :)
14:51 <deoxxa> heh, i guess
14:51 Ineentho joined
14:51 <mon> ... in solving problems
14:51 tdowg1 joined
14:52 kazupon joined
14:53 [Arne] joined
14:53 soapyillusions joined
14:54 ding_ joined
14:55 audreyr joined
14:55 templaedhel joined
14:56 colinclark joined
14:57 nd__ joined
14:57 C0deMaver1ck joined
14:58 samstefan joined
14:58 No9 joined
14:59 estebistec joined
14:59 Youdaman joined
15:00 gregmoreno joined
15:00 thl0_ joined
15:00 stisti joined
15:00 marek_trunkat joined
15:00 jdeibele joined
15:00 briancray joined
15:01 kuryaki joined
15:03 thatguydan joined
15:04 templaedhel joined
15:04 john__ joined
15:05 Youdaman joined
15:06 LeMike1 joined
15:07 LeMike joined
15:07 notmatt joined
15:09 <superjoe> is there any documentation on what streams 2 is hoping to achieve?
15:09 eckoit joined
15:09 Senji joined
15:09 thatguydan joined
15:10 leoncamel joined
15:10 markwubben joined
15:12 MarkMenard joined
15:12 holzp joined
15:12 harrison_ joined
15:13 <holzp> express3 and jade, for some reason my template blocks are not using pretty : true
15:13 <holzp> resulting in no whitespace
15:13 alek_b joined
15:13 <holzp> hence ugly
15:13 <holzp> anyone else have this prob?
15:13 <holzp> i set pretty in app.locals
15:17 ecthiender joined
15:20 _Renegade joined
15:21 euoia joined
15:21 rcrowley joined
15:22 eblume joined
15:22 tomshreds joined
15:22 maletor joined
15:22 pvankouteren_ joined
15:22 davemo joined
15:23 <eblume> Hey all. I'm trying to have a devDepenency on "mocha" and "chai", but when I run "npm install --dev" it tries to pull in at least 30 packages, maybe more, and errors start popping up all over the place.
15:23 bwinton joined
15:24 <eblume> When I try "npm install -g mocha" and "npm install -g chai" the installs finish very quickly without the extra package nightmare (although with a FEW packages pulled in), BUT they then fail to get included when I require() them
15:24 <eblume> Does anyone know what might be happening?
15:25 ppcano joined
15:26 huskyr joined
15:26 LeMike joined
15:27 dshaw_ joined
15:27 stagas joined
15:27 LeMike1 joined
15:27 manuelbieh_ joined
15:28 zenista joined
15:28 bindr joined
15:28 <holzp> so wierd, the whitespace in my jade blocks is being handled completely different than the whitespace in the layout
15:28 hakunin joined
15:28 <holzp> and pretty doesnt seem to carry over to the blocks
15:28 dcamp joined
15:28 tphummel joined
15:29 eckoit joined
15:29 jergason joined
15:29 ding_ joined
15:30 sashman joined
15:30 TomY joined
15:31 <ansolas> https://github.com/23/resumable.js#readme
15:31 <ansolas> cool stuff
15:31 templaedhe joined
15:31 enr joined
15:31 EyePulp joined
15:32 TomY joined
15:33 <isaacs> o/
15:33 mykul joined
15:33 <nathan7> \o
15:33 tutley joined
15:34 <isaacs> eblume: -g installs are not for require()
15:34 <isaacs> eblume: you need to either a) install the package directly in your project (so it goes into ./node_modules/whatever)
15:34 <eblume> isaacs: fair enough - any idea about why the --dev install is pulling in half the tree?
15:34 <holzp> :( frameworks, when they are good they are time-savers when they arent they are time-wasters
15:34 <isaacs> eblume: or b) use `npm link` to link the global version into the local space.
15:34 <nathan7> eblume: it pulls in devDependencies recursively afaik
15:34 <eblume> Ah, I see.
15:34 <isaacs> eblume: --dev is almost never necessary
15:34 <isaacs> eblume: devDeps will be installed at your top level anywa
15:35 <isaacs> eblume: so you get YOUR devDependencies, but not everyone else's, when you do `npm install`
15:35 <isaacs> eblume: because, presumably, you are developing :)
15:35 <eblume> Er - so what's the idiomatic way to have your project use mocha & chai for testing?
15:35 obazoud joined
15:35 mattgifford joined
15:35 <eblume> Oh wait I think maybe I see now - 'npm install' does MY devDeps
15:35 <isaacs> eblume: list mocha and chai as devDependencies
15:35 <isaacs> eblume: then do `npm install`
15:36 <eblume> Ok. Thanks isaacs!
15:36 <isaacs> eblume: neat trick! `npm install mocha -D` <-- installs mocha, and saves it as a devDependency
15:36 Circlepuller_ joined
15:36 <eblume> Oh that IS a neat trick. It modifies package.json?
15:36 <context> yes
15:36 <isaacs> eblume: then if you wanna get extra fancy, put a `"scripts":{"test":"whatever command makes mocha go"}` in package.json, as well
15:36 <context> its just like magic
15:36 <isaacs> eblume: then run `npm test`
15:37 Circlepuller_ joined
15:37 <eblume> Cool. Thanks guys!
15:37 <context> isaacs: wha! now i think you are just smokin the kool-aid
15:37 <davemo> -D === --save-dev ?
15:37 <isaacs> davemo: yeah
15:37 <davemo> cool, TIL
15:37 eckoit joined
15:37 <* isaacs> cba to type more than one-character flags.
15:37 ppcano_ joined
15:37 aerozeppelin joined
15:37 <davemo> cba?
15:37 <isaacs> -SB is like --save but also adds to bundleDependencies
15:38 <isaacs> that's the "StrongBad operator"
15:38 <davemo> haha
15:38 <isaacs> aka --save --save-bundle
15:38 <eblume> davemo: Can't Be Asked (well, usually not 'Asked', but I don't know the MPAA rating of this channel)
15:38 <isaacs> davemo: can't be assed
15:39 cushman joined
15:39 <davemo> gotcha
15:39 <eblume> Well that one too. ;)
15:39 eblume left
15:39 <holzp> can't be arsed sounds much more sophisticated
15:39 tj joined
15:39 leoncame` joined
15:40 <nathan7> holzp: cannot be anused
15:40 gorsti joined
15:40 rauchg joined
15:40 templaedhel joined
15:40 <holzp> everythign sounds more sophisticated british
15:40 <holzp> loo > can
15:41 <nathan7> hakunin: Indeed C=
15:41 Frippe joined
15:41 Frippe joined
15:41 halfhalo joined
15:42 elsifaka joined
15:42 <davemo> i should really read the NPM documentation, I just kind of learn the pieces i need to in order to get what i want done :P
15:42 pifantastic joined
15:42 <superjoe> isaacs, is there any documentation on what streams 2 is hoping to achieve?
15:43 <superjoe> just curious
15:43 tphummel joined
15:43 holzp joined
15:44 ramitos joined
15:44 jmar777 joined
15:44 icebox joined
15:44 rmichnik joined
15:45 gabrieluk joined
15:45 gabrieluk joined
15:46 mykul_ joined
15:46 holzp joined
15:46 sdudenhofer joined
15:46 harthur joined
15:47 Morkel joined
15:47 holzp joined
15:47 <isaacs> superjoe: https://github.com/isaacs/readable-stream
15:48 octane--_ joined
15:48 josh_k joined
15:49 mynameis joined
15:50 hillct joined
15:51 mykul joined
15:51 ppcano joined
15:52 Morkel joined
15:55 TheJH joined
15:56 <superjoe> thanks
15:56 _n_ joined
15:56 kevwil joined
15:56 jmar777 joined
15:56 <Nasga> hello, i want to setup a tcp thread to read logs, send some comands in nodejs, do you know a module witch do that ?
15:57 larryapplegate joined
15:57 jocafa joined
15:58 <Nasga> or in web with express, why not :)
15:58 JumpLink joined
15:59 slloyd joined
15:59 JumpLink left
15:59 <superjoe> excellent writeup. looking forward to this new API
15:59 broofa joined
16:00 Ico_ joined
16:00 bradgignac joined
16:02 arnedebree joined
16:02 isao joined
16:03 smellynoser joined
16:03 thealphanerd joined
16:04 springmeyer joined
16:05 Zoney joined
16:05 <jetienne> q. is dtrace available on linux ?
16:05 <isao> a. no
16:06 jimmyff joined
16:06 <jetienne> isao: thanks
16:07 bradleymeck joined
16:07 <isao> np
16:07 stisti joined
16:09 <s5fs> Nasga: check out 'net', maybe?
16:10 <s5fs> Nasga: also log.js
16:10 <Nasga> s5fs: will see
16:11 joshontheweb joined
16:11 Topcat joined
16:11 <superjoe> isaacs, at https://github.com/isaacs/readable-stream/blob/master/examples/CAPSLOCKTYPER.JS#L11 where you call String(chunk), how can you be sure that chunk doesn't start in the middle of a multibyte utf8 character?
16:11 ppcano_ joined
16:11 fly-away joined
16:12 <Nasga> s5fs: thx a lot for logjs :) i will try this way with express / socketio for clients
16:12 <isaacs> superjoe: meh. can't.
16:12 <isaacs> superjoe: capslock is anglocentric.
16:12 <s5fs> Nasga: best of luck!
16:12 <isaacs> superjoe: i could do setEncoding('utf8') to be sure, though
16:13 xtianw joined
16:13 <superjoe> isaacs, do it! otherwise people will copy the glitch from the examples into their own code
16:13 bakadesu joined
16:14 thirdknife joined
16:14 <Nasga> s5fs: http://logio.org <- they do that for linux, i just need for my node app :)
16:14 jocafa joined
16:14 <isaacs> superjoe: hm... seems like that doesn't actually work anyway at the moment.
16:14 <isaacs> i must have broken something
16:15 perezd joined
16:15 esundahl joined
16:15 lucabox joined
16:16 <superjoe> isaacs, in node.js current stable, setEncoding("utf8") avoids this problem, correct?
16:16 <superjoe> I've been assuming it does but never tested it
16:16 <isaacs> superjoe: yeah
16:17 dwhittle joined
16:17 r0tha joined
16:17 <superjoe> cool.
16:17 robmorrissey joined
16:18 obazoud joined
16:18 jmar777 joined
16:18 __underscore joined
16:21 ngoldman joined
16:22 lwicks joined
16:23 jmar777 joined
16:23 AlbireoX joined
16:24 mike-d joined
16:25 etcetera joined
16:25 medikoo joined
16:25 joemccann joined
16:26 thomashunter joined
16:26 huskyr joined
16:26 pokoli joined
16:27 booguie joined
16:27 lwicks joined
16:28 _Renegade joined
16:28 DrShoggoth joined
16:29 Franz__ joined
16:29 jpdery joined
16:30 matthewborn joined
16:31 shuaib joined
16:31 kenperkins joined
16:31 thunders_ joined
16:31 adrianlang joined
16:32 estebistec joined
16:34 <Sven_vB> just watching the NodeJS 0.2 -> 0.3 roadmap lecture, about copying strings out of V8 to send them over the net vs. getting a pointer to the string directly. did that work out since then? also, should i try and store static parts of my web templates in Buffers and write them to the socket directly, instead of building up strings and sending them?
16:34 aut0mata joined
16:35 hipsterslapfight joined
16:35 lpin joined
16:35 thirdknife joined
16:36 rauchg joined
16:36 john3909 joined
16:36 <superjoe> Sven_vB, whoa dude.
16:36 <superjoe> you're thinking way too low level
16:38 DonOtreply_ joined
16:39 addisonj joined
16:39 jergason joined
16:40 joemccann joined
16:40 tnorris joined
16:40 dshaw_ joined
16:40 tgriesser joined
16:41 crabdude joined
16:41 hipsterslapfight joined
16:42 Lukewh joined
16:43 briancray joined
16:44 etcetera joined
16:46 john999 joined
16:47 cushman joined
16:47 TooTallNate joined
16:47 <Sven_vB> i'm trying to use node on an embedded device. :)
16:48 <Gottox> like the raspi? :)
16:48 slaskis joined
16:48 <Gottox> 0.8.11 compiles just fine :D
16:49 epiloque joined
16:49 EhevuTov joined
16:49 epiloque joined
16:50 kaspertidemann joined
16:50 JumpLink joined
16:51 nmjesus joined
16:51 <Sven_vB> raspi could be, but i'd prefer to try an anykey0x
16:51 octane--_ joined
16:52 JumpLink left
16:52 pretty_function joined
16:53 Kn|t3 joined
16:54 cgfuh joined
16:54 khrome joined
16:55 choo joined
16:55 <s5fs> Sven_vB: i'm using node on an embedded device too
16:56 schredder joined
16:56 adrianlang joined
16:58 Almindor joined
16:59 paulwe joined
17:00 defunctzombie joined
17:00 jergason joined
17:00 saikat joined
17:01 C0deMaver1ck joined
17:01 mattgifford joined
17:01 Wizek|2 joined
17:02 defunctz_ joined
17:02 brad-work joined
17:03 yoklov joined
17:05 blakmatrix joined
17:06 joshontheweb joined
17:06 jpdery joined
17:06 DonOtreply_ joined
17:07 francisl joined
17:07 _Renegade_ joined
17:08 Yuffster_fun joined
17:09 EhevuTov joined
17:09 bradgignac joined
17:09 <s5fs> Sven_vB: i hadn't seen the anykey0x, looks very interesting. i'm currently targeting beagleboards, not really the same at all haha!
17:09 jpe joined
17:10 yorick joined
17:10 yorick joined
17:10 necolas joined
17:10 DonOtreply joined
17:10 _Renegade joined
17:11 eco_ joined
17:12 esundahl_ joined
17:13 esundahl joined
17:13 tgriesser joined
17:13 xPhase joined
17:14 esundahl joined
17:14 _Renegade joined
17:14 esundahl joined
17:15 esundahl joined
17:15 ppcano_ joined
17:16 SpX joined
17:16 Senji joined
17:17 esundahl_ joined
17:17 stagas joined
17:17 _Renegade_ joined
17:18 esundahl joined
17:19 esundahl joined
17:19 kaspertidemann joined
17:19 robde joined
17:20 esundahl joined
17:20 defunctzombie joined
17:20 <larryapplegate> Looking for someone to help me create a server which may include the node-formidable body parser to serve an IOS client. I will write the IOS client, need to know what it needs to do to match what the server expects.
17:20 khrome joined
17:20 esundahl joined
17:21 ppcano_ joined
17:22 Viehzeug joined
17:22 esundahl joined
17:22 dKc joined
17:23 esundahl joined
17:23 gregpascale joined
17:23 djcoin joined
17:23 chayin joined
17:23 chrisramon joined
17:23 dzajdband joined
17:23 esundahl joined
17:25 harrison_ joined
17:25 langworthy joined
17:25 boutell_ joined
17:26 mauritslamers joined
17:26 ts33kr joined
17:28 <CoverSlide> larryapplegate: http://www.w3.org/TR/html401/interact/forms.html#h- <<--- with multipart/form-data
17:28 mikedeboer joined
17:29 <CoverSlide> larryapplegate: actually, just read the whole section: http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4
17:29 N3RG4L_ joined
17:29 blevs joined
17:29 <CoverSlide> it covers the basic types of form data that should be parsed by bodyParser
17:29 blueadept joined
17:29 blueadept joined
17:29 esundahl joined
17:30 esundahl joined
17:30 bradleymeck joined
17:31 esundahl_ joined
17:32 ppcano_ joined
17:32 jpdery joined
17:32 bindr joined
17:33 N3RG4L joined
17:34 esundahl joined
17:34 <RushPL> I opened a process with child_process.spawn and when I write to its stdin, the other process does not receive the data .. it seems to get buffered, how to flush it? There is no flush method in process.stdin and I do not want to .end() it
17:34 knirhs joined
17:36 blueadept` joined
17:36 ppcano joined
17:36 joshfinnie joined
17:37 esundahl_ joined
17:38 blueadept joined
17:38 <tnorris> RushPL: are you spawning another node script?
17:38 <RushPL> nope, actually a perl script
17:38 joemccann joined
17:38 <RushPL> and when I do myProcess.stdin.end() it gets the input but also EOF :)
17:39 <RushPL> so it quits
17:39 hillct joined
17:39 alunny joined
17:39 <RushPL> and myProcess.stdin has no flush() :/
17:39 stereosteve joined
17:40 jp232 joined
17:40 Hebo joined
17:40 <RushPL> bbl,I would be glad to to have an answer..
17:40 Kn|t3 joined
17:40 i42n joined
17:41 ppcano_ joined
17:42 jmar777 joined
17:42 <tnorris> RushPL: could you post at least your node script in a pastebin or such?
17:42 pppaul joined
17:44 harthur joined
17:44 charuru left
17:45 larryapplegate joined
17:47 lwicks joined
17:47 jxson joined
17:48 mappum joined
17:49 <larryapplegate> CoverSlide: Thanks!
17:49 zcopley joined
17:50 dgathright joined
17:50 axos411 joined
17:50 Kn|t3 joined
17:51 <tnorris> is there any documentation on what changes are being made in the streams2 branch?
17:51 willwhite joined
17:52 samstefan joined
17:52 bowen199 joined
17:52 <CoverSlide> tnorris: https://github.com/isaacs/readable-stream
17:53 tjmehta joined
17:53 <tnorris> CoverSlide: awesome dude. thanks.
17:53 kevwil joined
17:53 shac joined
17:54 ppcano_ joined
17:54 shac joined
17:55 kevinswiber joined
17:55 Venom_X joined
17:55 carlyle joined
17:55 generali_ joined
17:56 poorman joined
17:56 adrianlang joined
17:56 <rendar> i can't get a thing, i have just read that node do not start manually the event loop, like SomeLib::run(); but why? what advantages this would bring?
17:56 trypwire joined
17:56 stisti joined
17:57 dwhittle joined
17:57 rampr joined
17:57 tgriesser joined
17:57 sgupta joined
17:57 <nathan7> rendar: The event loop is always there
17:58 <nathan7> rendar: Because it's silly to have that as a manual thing on a platform where everything is in the event loop
17:58 shac joined
17:58 exos_ joined
18:01 hipsterslapfight joined
18:01 <tnorris> CoverSlide: whoa, those are significant changes. You know if there is a planned version for integration?
18:02 <rendar> nathan7: hmmm i see
18:02 <rendar> nathan7: so its just for syntax-sugar?
18:02 diegoviola joined
18:02 <CoverSlide> well he says that it will enter legacy mode whenever the "data" event is listened for
18:02 <CoverSlide> so like when piped
18:03 <CoverSlide> and it should be compatible until that's deprecated, which I don't know when that will happen
18:03 <CoverSlide> maybe v0.12
18:04 <tnorris> interesting. thanks.
18:05 kevwil joined
18:06 Franz__ joined
18:08 mykul joined
18:09 jhsto joined
18:10 <Sven_vB> <3 readable-stream
18:10 <purr> Let it be known that Sven_vB hearts readable-stream.
18:10 audreyr joined
18:11 <nathan7> rendar: it's because every node program needs an event loop
18:11 nariyal joined
18:12 jxson joined
18:13 <Sven_vB> rendar, there are only very few things you could do in node that would *not* need an event loop, and most of those are bad things. ;) so, since the majority of programs need an event loop anyway, NodeJS implies that you want one and automagically starts it at "the end" of your main script.
18:13 `3E|DINNER joined
18:13 <Sven_vB> which therefore most often isn't really the end.
18:14 ryanrolds_w joined
18:14 tjholowaychuk joined
18:14 jp232 joined
18:14 knirhs joined
18:15 drewolson joined
18:16 ts33kr joined
18:16 <drewolson> hey all, i'm using bluepill to monitor and daemonize a node.js process. when the process is daemonized by bluepill, my calls to an external program launched using child_process fail to return any data. any idea what might be happening here (obscure, i know)?
18:16 tjmehta joined
18:17 <tnorris> drewolson: is the child process returning data to the node process via stdin?
18:17 Sri19 joined
18:17 <drewolson> tnorris: i'm sending data to the process via stdin and receiving data via stdout
18:18 <drewolson> tnorris: from the child_process stream
18:18 panahi joined
18:18 lyaunzbe joined
18:18 <tnorris> yeah, so something like `cp.stdin.write(data)` and `cp.stdout.on('data', function() {})`?
18:18 <drewolson> tnorris: yes, exactly
18:19 harbhub joined
18:19 aut0mata joined
18:19 <tnorris> can you run the script outside of bluepill to see if anything is being returned?
18:20 chrisramon joined
18:20 <drewolson> tnorris: i can and did, the data is being returned when the script is not launched via bluepill
18:20 simenbrekken joined
18:20 <drewolson> tnorris: the rest of the app works when launched via bluepill up to the point of the requirement on external data, then it just hangs
18:22 <drewolson> tnorris: not sure if this matters, but i'm actually piping the stdout of the child process through https://github.com/dodo/node-bufferstream
18:22 squeakytoy joined
18:22 <tnorris> drewolson: hm, ok. do you think bluepill is force redirecting cp.stdout? your js sounds fine.
18:22 <squeakytoy> Mine? http://sphotos-f.ak.fbcdn.net/hphotos-ak-ash3/525919_4799215144002_877027741_n.jpg
18:22 <drewolson> tnorris: well, i do redirect the stdout of the node process to a log file via bluepill, should that effect the child process?
18:22 litenull1 joined
18:23 <context> squeakytoy: hahahaha
18:23 <drewolson> tnorris: now that i'm thinking it, that must be the problem
18:23 <squeakytoy> context, its good isnt :P
18:23 <squeakytoy> had to log into irc just to post a funny picture
18:23 <tnorris> drewolson: may want to include the line `process.stdout.pipe(process.stdin)`
18:24 <tnorris> actually, nevermind that.
18:24 <drewolson> tnorris: ok, was just about the ask
18:24 <drewolson> let me try removing the stdout redirection, one sec
18:24 jpdery joined
18:26 <drewolson> tnorris: still no dice
18:27 <TooTallNate> Benvie: ref-bitfield looks nice!
18:27 stisti joined
18:27 willwhite joined
18:28 kennethkoontz joined
18:28 <tnorris> drewolson: for debugging, can you try not using bufferstream, and process the write event directly: `cp.stdout.on('data', function() {})`
18:28 triptec joined
18:28 <drewolson> tnorris: yes, one sec
18:29 pritambaral joined
18:29 ZorgHCS joined
18:29 bradgignac joined
18:29 iondrip joined
18:29 garciawebdev joined
18:30 <tnorris> drewolson: heading to lunch, be back soon.
18:30 <drewolson> tnorris: still not working, thanks for the help so far, enjoy your lunch
18:31 HacDan joined
18:33 poorman joined
18:34 DonOtreply joined
18:35 Aartsie joined
18:37 lwicks joined
18:38 halfhalo joined
18:38 JumpLink joined
18:38 JumpLink left
18:38 thunderstrike joined
18:38 taky joined
18:41 <Benvie> TooTallNate: yeah it shaped up quickly. I need to finish the tests but it's otherwise near completion I think
18:42 <TooTallNate> Benvie: it'll be cool to be able to pass an Object with true/false flags to an ffi function that has an "int flags" arg :)
18:42 <TooTallNate> Benvie: i'll probably help with the tests
18:43 <Benvie> yeah as I have it now it handles either an object or you can still set the raw number
18:44 kaspertidemann joined
18:44 squeakytoy joined
18:45 <Benvie> might be worth providing a built into function that outputs a plain object with all the properties filled out on the object. I have it in the test file currently but might be good to at like as a prototype method or Constructor function or somethjing
18:45 taky joined
18:45 davemo joined
18:46 Wa joined
18:46 blup joined
18:48 disnet joined
18:49 romainneutron joined
18:49 stevegill joined
18:49 <TooTallNate> Benvie: i called it toObject() in ref-struct
18:49 <Benvie> oh I missed that!
18:49 <TooTallNate> Benvie: and then aliased that for toJSON() and inspect()
18:50 <Benvie> I'll add that then! Wanted to try and stay as close to ref-array and ref-struct as possible but didn't see that for some reason =D
18:50 pixie79 joined
18:51 Sam-T joined
18:51 ralphholzmann joined
18:51 shanlar joined
18:51 <drewolson> tnorris: i figured out the problem, the app i was spawning with child_process was not in the path of the user running the node app on the server, sorry for the red herring, thanks for the help
18:52 kazupon joined
18:52 Tobsn joined
18:52 defunctzombie joined
18:56 timeturn joined
18:56 varmose joined
18:57 graeme_f joined
18:57 andrehjr joined
18:57 Aartsie joined
18:58 tjholowaychuk joined
18:58 jelscript joined
19:00 tilgovi joined
19:01 drewolson left
19:02 heavysixer joined
19:02 geNAZt joined
19:02 <geNAZt> hi
19:03 V1 joined
19:04 <geNAZt> is here someone who tried to "block" in an nodejs thread ?
19:04 <larryapplegate> Still looking for help with node-formidable or express with multi-part form data
19:04 <larryapplegate> i am able to run either, and feed it images from the browser
19:05 <larryapplegate> but I want to find out exactly what the browser is sending, so I can duplicate it in my IOS client
19:05 Usse joined
19:06 harthur joined
19:06 pokoli joined
19:06 <geNAZt> well you have the socket from the http server ?
19:06 <geNAZt> and every request that comes in gets trough it
19:06 derpops joined
19:07 <geNAZt> so you can catch the whole data send in one request
19:07 <larryapplegate> i am new to node and http, so don't know how to do that
19:08 sorenso joined
19:08 fivetanley_ joined
19:09 <geNAZt> http://borntoprogram.blogspot.de/2011/07/reaktiv-im-web-mit-nodejsexpressjssocke.html
19:10 <geNAZt> something like that should work
19:10 jmoyers joined
19:11 lwicks joined
19:11 <larryapplegate> my German isn't good enough, though I did take a couple of courses long ago
19:15 analphabet joined
19:16 tchopper_ joined
19:17 mon joined
19:18 romainneutron joined
19:18 <geNAZt> nobody got any idea how i could wait for an event
19:18 <analphabet> Wait for an event?
19:18 <analphabet> like block until a certain event is fired?
19:18 trypwire joined
19:19 <geNAZt> nah
19:19 <geNAZt> i have 2 node instances
19:19 <geNAZt> and i have a messagesystem between them
19:19 <geNAZt> the one is a storage
19:19 <geNAZt> the other a websocket server, and i want the websocket server to wait for data from the storage
19:20 <geNAZt> but not to block the complete thread / process
19:20 <analphabet> Shouldn't the message system allow this?
19:20 <geNAZt> it works like so:
19:21 <geNAZt> websocket -> getSession -> storage -> search for session -> return session -> websocket
19:21 <geNAZt> but the websocket should wait, till the answer event from the storage has arrived
19:22 <analphabet> geNAZt: How do you do ipc?
19:22 notmatt joined
19:22 <geNAZt> via std
19:23 Motest003 joined
19:23 <analphabet> so your websocket node.js listens on stdin, right?
19:23 jergason joined
19:23 <geNAZt> y
19:23 kazupon joined
19:24 colinclark joined
19:24 <analphabet> Why not try process.stdin.on('data', function(buf) { console.log(buf) })
19:25 <geNAZt> i have
19:25 <geNAZt> the problem is:
19:25 <janmower> does anyone here package nodejs as rpm?
19:26 <geNAZt> i stdout from the websocket process to the messagesystem, it routes it to the storage stdin, it searches, returns to stdout into messagesystem, and the messagesystem to the stdin to websocket
19:26 <geNAZt> but the function is run out
19:26 <geNAZt> without returnvalue
19:26 ashnur joined
19:27 <analphabet> geNAZt: ok, i think i got it...
19:27 <geNAZt> http://pastebin.com/rpHnKHHJ
19:27 <geNAZt> that is what i have
19:27 medikoo_ joined
19:27 <geNAZt> i will execute a function in an other spawn
19:27 <geNAZt> and the return value for that should be that in the other thread
19:27 <analphabet> geNAZt: I was right..
19:27 <analphabet> geNAZt: no, no, no, no... you never sleep.usleep( 10 );
19:28 <geNAZt> y thats the problem
19:28 <holzp> I had to give up on socket.io for a project, it was juet getting too complex
19:28 <holzp> sockets kept dropping/going missing/stalling
19:28 astropirate joined
19:28 astropirate joined
19:28 <analphabet> geNAZt: didn't you hear ryan, say it never sleeps
19:28 <geNAZt> i know
19:28 <geNAZt> i dont want to sleep
19:28 andrehjr joined
19:28 <analphabet> :)
19:29 <geNAZt> i want it to wait for a change on an variable
19:29 <geNAZt> like an watcher, that emits, if the variable changes
19:29 <geNAZt> but that doenst break the scope
19:29 jaha joined
19:29 version2beta joined
19:29 <analphabet> geNAZt: you have to make your rpc function async
19:29 <geNAZt> i cant
19:30 <geNAZt> the functions that need the data must be synced with this data
19:30 <analphabet> so, it can be called like rpc(bla, bla, function(result) { /* deal with the result */})
19:30 <geNAZt> y but how should i do something like
19:30 <geNAZt> a + b = c
19:30 <geNAZt> where a and b come from storage
19:30 <geNAZt> there will ever be a difference for the value a and b
19:31 <analphabet> geNAZt: you nest it.
19:31 AaronMT joined
19:31 <analphabet> rpc(bla, function(a) { rpc(blu, function(b) { /* deal with the results */}) })
19:31 hackband joined
19:31 <geNAZt> but for that i have to ask the storage for a, wait for it, ask for b, wait for it, calculate
19:32 <analphabet> or, use the "async" module's async.parallel([fetchA, fetchB, callback])
19:32 <geNAZt> ok
19:33 <geNAZt> then i have to rewrite my websocket -_- :D
19:33 <geNAZt> to make it full async :D
19:33 <geNAZt> thanks
19:33 mykul joined
19:33 joshontheweb joined
19:33 <analphabet> yea, only async will make thing non-blocking :)
19:33 <analphabet> you're welcome
19:33 briancray joined
19:33 <Killswitch> MARCO
19:33 EweR_ joined
19:33 <geNAZt> y but sometimes i want to "block" :D
19:34 <analphabet> geNAZt: why?
19:34 <geNAZt> to wait for some events
19:34 dzajdband joined
19:34 <geNAZt> and not to have a callback for anything
19:34 <analphabet> geNAZt: to have it easier you mean
19:34 <analphabet> :)
19:34 <geNAZt> y :D
19:34 <geNAZt> im lazy
19:35 <geNAZt> :O
19:35 <analphabet> geNAZt: async module: https://github.com/caolan/async
19:35 <geNAZt> thx
19:35 <analphabet> geNAZt: there's some addon that allows you to do this
19:35 EweR__ joined
19:35 <analphabet> https://github.com/laverdet/node-fibers
19:36 <analphabet> interesting, but I never used it in production...
19:36 kennethkoontz joined
19:36 <analphabet> If only ecmascript had python like generators, then we could implement coroutines very easily
19:36 ailmake\dir\etcp joined
19:36 <geNAZt> that seems to do what i want
19:36 <analphabet> geNAZt: :)
19:37 Danielss89 left
19:37 <analphabet> geNAZt: after looking at some more complex examples, I gave up on it... :)
19:38 <geNAZt> y but it does that what i wanted
19:38 ailmake\dir\etcp left
19:38 <geNAZt> it stores a function
19:38 <geNAZt> and u dont have to block the process to wait for something
19:39 <analphabet> geNAZt: yeah, but you have to compile it, I think
19:39 <geNAZt> y
19:39 <geNAZt> first i will try to make all things async
19:39 <analphabet> but if it suits you, go ahead.
19:39 <geNAZt> its the best way i think
19:39 <geNAZt> nodejs the event catapult :D
19:40 <analphabet> >:)
19:40 jbueza joined
19:40 tjmehta joined
19:40 <analphabet> Can someone tell me, why the authors (isaacs, more or less et al, i think) of npm-www chose to use chouchDB?
19:41 <analphabet> I have to make a similar decision, and it would be cool to hear the pros and cons you've been considering...
19:42 <geNAZt> http://pastebin.com/QULus4g0
19:42 <geNAZt> so
19:42 <geNAZt> that should do better :D
19:43 <analphabet> geNAZt: yea, but I'd store the cb somewhere and simply call it in the listener of stdin, when the data is received on stdin, but
19:44 DonOtreply left
19:44 <geNAZt> hmm maybe
19:44 blueadept joined
19:44 blueadept joined
19:44 wdent joined
19:45 Franz_ joined
19:45 <larryapplegate> analphabet: i think it is probably the replication capability for scaling
19:45 defunctzombie joined
19:46 <analphabet> larryapplegate: I've been thinkin about whether replication is actually useful for scaling..
19:46 blueadept joined
19:46 blueadept joined
19:47 <larryapplegate> for mobile devices apps are keeping a local copy of the database for fast access - when the db can be limited to what is need for each user
19:47 DonOtreply joined
19:47 blueadept joined
19:47 blueadept joined
19:47 DonOtreply left
19:47 <larryapplegate> then the problem becomes resolving update conflicts when the db is replicated
19:47 <larryapplegate> at least couch has a mechanism for that
19:48 DonOtreply joined
19:48 _Renegade joined
19:49 <analphabet> yea, but you don't need that for npm-ww, I'd think, do you?
19:50 <larryapplegate> i am new to node, trying to figure it all out
19:50 <analphabet> there are no mobile app, and those wouldn't want to store the whole npm registry on their disc
19:50 Leo_ joined
19:50 ts33kr joined
19:51 DonOtreply left
19:51 <larryapplegate> for our iPad app, we first tried ruby, gave up and then went to couch. Then when parse.com appeared, it looked like a way to have someone else take care of the server side, which we were not experts in.
19:51 <Leo_> hello, can anyone recommend me a good saas provider with node support?
19:51 mscdex joined
19:52 C0deMaver1ck joined
19:52 C0deMaver1ck joined
19:52 <larryapplegate> but now we are disappointed in parse for both difficulty of doing complex things and response times.
19:52 parallel joined
19:54 <analphabet> larryapplegate: :)
19:54 Hebo joined
19:54 <larryapplegate> i wish i had found node earlier
19:55 <analphabet> larryapplegate: I'm torn between mongo and couch, actually
19:55 <larryapplegate> parse uses mongo, and i hated parse's object size limitation of about 100k
19:55 <larryapplegate> which i don't know if it was because of mongo or not
19:56 kazupon joined
19:56 <analphabet> larryapplegate: mh.
19:56 rcrowley joined
19:57 <larryapplegate> or it may have been so they didn't block the threads for very long
19:57 <larryapplegate> our couch implementation was entirely async
19:58 frasnyc left
19:58 <larryapplegate> but we were missing all the good things that node, npm, and express bring
19:58 sardavend joined
19:58 C0deMaver1ck joined
19:59 erichynds joined
20:00 <larryapplegate> i'm still looking for help with the node server for our iPad app
20:00 alucardX joined
20:01 prachi joined
20:01 <tnorris> so if I understand readable-stream correctly, `readable._read = fn` is more or less the current equivalent of listening for the 'data' event?
20:02 parallel left
20:02 dRiN joined
20:02 taky joined
20:03 alek_b_ joined
20:05 Kn|t3 joined
20:06 Qalqi joined
20:06 <superjoe> tnorris, you're thinking about it backwards
20:07 <superjoe> _read is for if you are *implementing* a readable stream
20:07 broofa joined
20:07 <superjoe> read() immediately returns the buffer if you are using the read stream
20:07 <superjoe> or null if you need to wait for an event
20:08 heavysixer joined
20:10 <tnorris> superjoe: thanks. just spent the last 2 weeks really understanding the current Stream implementation, and today just realized the stream2 branch was being developed.
20:12 <superjoe> tnorris, understanding the current stream implementation is still valuable
20:12 zimba70 joined
20:12 <superjoe> tnorris, I feel like it helps you understand the new one
20:13 taky joined
20:14 tomb_ joined
20:17 Slade- joined
20:18 wltsmrz joined
20:18 jxie joined
20:18 BronzeByte joined
20:18 taky1 joined
20:19 schemula joined
20:20 <tnorris> superjoe: definitely. just taking me a bit to wrap my head around the new architecture. lack of sleep and caffeine isn't helping much either.
20:21 <superjoe> tnorris, don't worry, it's still going to be a while before it comes out in stable
20:22 <tnorris> superjoe: cool. I was just amazed the first time I realized how many other parts of node rely on streams. now just want to stay on top of that.
20:23 <EhevuTov> tnorris, I just started working with streams as well.
20:23 <superjoe> streams are a pretty killer feature in node
20:23 Marcial joined
20:23 LeMike joined
20:23 ErvisTusha joined
20:24 <superjoe> and the new Transform class will make them super easy to write correctly
20:24 <EhevuTov> my current problem, is that I don't know how to get socket.io to emit data from a stream. I'm having what seems to be a scope issue
20:25 pandeiro joined
20:25 <tnorris> superjoe: seriously. awesome abstraction when working with multiple io types (stdio, tcp, etc.)
20:26 alunny joined
20:26 <EhevuTov> I have this uncomfortably deep nested event loop where socket.io.on('connection') creates a read stream from event-stream.pipeline() and on pipeline.on('data') i want it to emit socket.emit('data'). I can only get socket.io to broadcast the data since it's global,instead of the single client socket
20:26 <nathan7> Closures \o/
20:26 <EhevuTov> anyone know of example code to show me how to do this?
20:26 `3rdEden joined
20:26 <EhevuTov> nathan7, is that my issue?
20:27 <nathan7> EhevuTov: You can use a closure
20:27 <nathan7> EhevuTov: and keep your socket that way
20:27 taky1 left
20:27 <EhevuTov> I thought so, but I don't know closures well enough to apply it to my situation 0_o
20:28 Goodie joined
20:28 kazupon joined
20:29 FIQ joined
20:29 <EhevuTov> nathan7, do you have example code where you're doing something similar?
20:29 jasonkuhrt joined
20:29 <jmoyers> paste your code EhevuTov
20:29 <jmoyers> gist
20:29 <jmoyers> or whatever
20:29 <nathan7> EhevuTov: Define your handler in your other handler
20:29 <jmoyers> can help, but don't understand your structures.
20:29 <EhevuTov> but it's so ugly :-) I will though
20:29 <nathan7> EhevuTov: Talk is cheap - show us the code C=
20:29 <jmoyers> well, thats kind of the point, right ;-)?
20:30 <s5fs> EhevuTov: broken code usually is ;-)
20:30 Ramone joined
20:31 <EhevuTov> nathan7, jmoyers http://pastie.org/4916714
20:31 <EhevuTov> it starts around like 93
20:31 <EhevuTov> actually, I'm going to paste a gist, in case you want to edit it, etc.
20:31 <nathan7> Excellent
20:32 jbueza_ joined
20:32 <nathan7> EhevuTov: okay
20:32 <EhevuTov> https://gist.github.com/3842198
20:32 bradleymeck joined
20:33 <nathan7> I'm curious why ZeroMQ
20:33 <EhevuTov> I'm still learning scope of callbacks, closures, etc. I'm hoping once I learn how to fix this problem, I'll now more about it
20:33 <nathan7> and not Faye or something
20:33 <jmoyers> EhevuTov so your problem is you want to send to a single client?
20:34 <jmoyers> EhevuTov because if thats the case, there are two ways
20:34 <jmoyers> currying, and funciton.bind
20:34 <EhevuTov> jmoyers, correct. I'm currently broadcasting because it's got global scope and my `socket` isn't in the scope, so it's undefined in my CDR function and can't do an .emit()
20:35 <nathan7> jmoyers: function.bind is currying
20:35 <nathan7> jmoyers: with the annoying extra of fucking with your this
20:35 <jmoyers> currying, you can have sendCDR take a socket, then return a function which will send a message on that particular socket
20:35 <EhevuTov> nathan7, the zeroMQ was old stuff I from an older program I forked this from
20:35 <jmoyers> no, bind is FOR fucking with this
20:35 <jmoyers> you can implement currying with bind
20:35 <jmoyers> but something like...
20:35 <nathan7> .bind(null,blah,blah)
20:36 <EhevuTov> first time I heard of currying
20:37 <nathan7> EhevuTov: currying is simple and very powerful
20:37 futjikato joined
20:37 <nathan7> Say I have function add(a,b){ return a+b; }
20:37 <thl0> I used https://github.com/substack/node-ap for currying - worked great for me
20:37 <nathan7> I can do this: var addTwo=add.bind(null,2);
20:37 <jmoyers> EhevuTov https://gist.github.com/3842232
20:37 <Benvie> partial is more useful for JS though
20:37 <jmoyers> you don't need special shit to do currying or partials
20:38 <nathan7> >> function add(a,b){ return a+b; }; var addTwo=add.bind(null,2); addTwo(10);
20:38 <purr> nathan7: (number) 12
20:38 <jmoyers> bind or returning functions is plenty good enough
20:38 foldedcat joined
20:39 <nathan7> okay, ap is cool
20:40 onats joined
20:40 <EhevuTov> jmoyers, I tried that before and am getting a different error (didn't know how to interpret it though): /Users/james/projects/tekno/netQwikFilter/node_modules/socket.io/lib/parser.js:75
20:40 <EhevuTov> data = JSON.stringify(ev);
20:41 <jmoyers> uh
20:41 <jmoyers> what is in your data object?
20:41 samstefan joined
20:41 <jmoyers> when you dump it?
20:41 <jmoyers> that sounds to me like your event stream is not emitting something proper
20:41 addisonj joined
20:42 BronzeByte joined
20:42 <EhevuTov> hrm, yeah, let me debug a couple steps real quick
20:43 josh-k joined
20:43 _Renegade joined
20:43 larryapplegate joined
20:43 <EhevuTov> jmoyers, socket type is still 'undefined'. Let me double check your diffs
20:44 maletor joined
20:46 <thl0> nathan7: this seems simpler - function addTwo (a) { return function () { add(2, a) }; }
20:46 <thl0> nathan7: no bind needed
20:46 <EhevuTov> you can't see diffs of gists?
20:46 <nathan7> thl0: I think .bind(null,2); is a bit shorter
20:46 <nathan7> thl0: and a bit clearer
20:47 <EhevuTov> jmoyers, yeah, I'm pretty sure I made only the two major changes you made. Still coming through as 'undefined'
20:47 <jmoyers> simplify
20:47 <jmoyers> since that should work
20:47 <jmoyers> where is socket undefined?
20:47 <jmoyers> inside sendCDR or somewhere else?
20:48 <thl0> nathan7: not if you try to explain currying
20:48 lyaunzbe joined
20:48 <jmoyers> well, to be fair
20:48 bubbles10101 joined
20:48 <thl0> nathan7: in general though I agree
20:48 <jmoyers> usually when you go start to read
20:48 <EhevuTov> jmoyers, oh, hold on. You're passing the function. I didn't make that change?let's see...
20:48 <jmoyers> you see currying, partial application etc -- you learn the function return stuff, then you learn apply and call and bind etc
20:49 <jmoyers> then you pick up a mind melting substack library and go a bit further, i guess
20:49 Venom_X_ joined
20:49 <jmoyers> i've never gone that route though ;-)
20:49 <EhevuTov> what is that technique in JS called, where you return a func?
20:49 <EhevuTov> maybe there isn't one
20:49 <gkatsev> first-class functions?
20:50 <gkatsev> there is no name to it.
20:50 <nathan7> thl0: err, wait
20:50 <gkatsev> maybe closure creation would be most suited?
20:50 <nathan7> thl0: why are you returning a function?
20:50 <jmoyers> no, that specific technique I'm using
20:50 <jmoyers> is currying
20:50 <jmoyers> returning a function has no name, functions are first class ;-)
20:50 <jmoyers> nathan7 it has the exact same effect
20:50 <thl0> nathan7: just try it
20:51 <nathan7> >> function addTwo (a) { return function () { add(2, a) }; }; addTwo(10);
20:51 <purr> nathan7: function () { add(2, a) }
20:51 <thl0> it returns a function that when invoked with an arg adds two to it
20:51 <nathan7> I get a function back.
20:51 <nathan7> thl0: Yes, that's silly
20:51 <thl0> addTwo(10)()
20:51 <nathan7> thl0: I expect addTwo to be a function that returns a number
20:51 <EhevuTov> oh snap! o/\o to jmoyers
20:51 <gkatsev> -g ben alman partial application
20:51 <purr> gkatsev: Ben Alman » Partial Application in JavaScript 2<http://benalman.com/news/2012/09/partial-application-in-javascript/>
20:51 <EhevuTov> thank you got it working
20:51 <jmoyers> excellent
20:52 <thl0> sorry maybe not exact - didn't have time to actually test it, but something along those lines
20:52 <jmoyers> now go look up partial function application and currying, then bind, apply, call ;-)!
20:52 <gkatsev> ^^ good article about currying and partial application
20:52 <nathan7> >> function add(a,b){ return a+b; }; function adder(a){ return function(b){ return add(a,b); }; }; var addTwo=adder(2); addTwo(10);
20:52 <purr> nathan7: (number) 12
20:52 <nathan7> that's equivalent to
20:52 <gkatsev> currying itself is kind of useless in js, but partial application isn't
20:52 <gkatsev> (they aren't the same thing, btw)
20:52 <nathan7> >> function add(a,b); var addTwo=adder.bind(null,2); addTwo(10);
20:52 <purr> nathan7: SyntaxError: Unexpected token ;
20:52 <nathan7> err
20:52 <jmoyers> it… isn't useless at all
20:52 <EhevuTov> jmoyers, bind apply and call being seperate functions?
20:52 <nathan7> >> function add(a,b){ return a+b; }; var addTwo=adder.bind(null,2); addTwo(10);
20:52 <purr> nathan7: ReferenceError: adder is not defined
20:53 <jmoyers> yes, they are function prototype methods
20:53 <nathan7> ..well, you get what I mean
20:53 <EhevuTov> nathan7, is that for me?
20:53 lwicks joined
20:53 harbhub joined
20:53 <EhevuTov> jmoyers, thank you so much. I don't fully understand why we had to do that, but I'll study this. thanks
20:54 athenot joined
20:54 <jmoyers> yeah… the first time you try and use a loop and have an async function call who's return value depends on the value of i… you'll get it, or die trying ;P
20:54 <nathan7> EhevuTov: not specifically
20:56 stevegill joined
20:56 chovy joined
20:56 <chovy> is there a guide i should follow somewhere for publishing an npmjs package?
20:57 taky joined
20:57 <* jmoyers> watches the Blue Angels
20:57 jp232 joined
20:58 arnedebree joined
20:58 tjmehta joined
20:59 addisonj joined
21:00 No9 joined
21:00 <chovy> nice
21:01 timeturn joined
21:01 kazupon joined
21:01 dgathright joined
21:01 isao joined
21:02 joshontheweb joined
21:03 crewmoss joined
21:04 audreyr joined
21:06 Goodie2 joined
21:07 lwicks joined
21:07 jzacsh joined
21:07 jzacsh joined
21:08 Taar779_w left
21:08 lwicks1 joined
21:09 bezalel joined
21:10 ilyam joined
21:10 <panahi> anyone know about Riak in node?
21:10 Killswitch joined
21:11 <jmoyers> i know some.
21:11 isao left
21:11 graeme_f joined
21:12 Frippe joined
21:12 Frippe joined
21:13 basemath joined
21:14 mon left
21:15 tgriesser joined
21:15 joaojeronimo joined
21:15 timeturn joined
21:15 basemath left
21:16 hellopat_ joined
21:16 yoklov joined
21:17 <holzp> in express, is there a means to change the default hostname for responses? like res.redirect('/whatever') from using localhost if its on localhost? setting it universally so its overridden to a different prefix?
21:17 kaspertidemann joined
21:17 <therealkoopa> How would you recommend finding millions of items in a database (mongo in thise case) and looping over each one, doing some magic. Of course a loop is blocking by default. Would you use an async loop?
21:17 timeturn joined
21:18 jbueza joined
21:19 EhevuTov joined
21:19 broofa joined
21:20 <context> is there anything like rails rumble for node
21:20 timeturn_ joined
21:20 <context> ahh node knockout
21:20 rborg joined
21:21 <rborg> how are y'all detecting undefined locals in an express view?
21:21 crabdude joined
21:21 Frippe joined
21:22 <etcetera> hmm, thinking about sticking thumb shifters on this road bike drop bar.
21:22 <therealkoopa> rborg: You could do a typeof
21:24 Circlepuller__ joined
21:24 barneybook_work joined
21:24 Circlepuller__ joined
21:25 shalotelli joined
21:25 Nami-Doc joined
21:26 <janmower> so if anyone's interested
21:26 <janmower> and anyone has a better solution
21:26 <janmower> to spawning a node server process as a different user, disconnecting, and keeping it's pid
21:27 <nathan7> janmower: you mean setuid?
21:27 <nathan7> janmower: http://nodejs.org/api/process.html#process_process_setuid_id
21:28 <janmower> i want to spawn /usr/local/bin/node as nobody
21:28 <janmower> not fire /usr/local/bin/node as root and then reset priv
21:29 <s5fs> janmower: i'm using authbind, not sure if that would work for you
21:29 <janmower> i'm running a few services i can't change source for
21:30 <nathan7> ah, LD_PRELOAD hackery
21:30 MarkMenard joined
21:30 graeme_f joined
21:30 <janmower> not even. some deep unix shell hackery
21:30 No9 joined
21:30 <janmower> runuser -s /bin/bash $USER -c ulimit -S -c 0 >/dev/null 2>&1 ; npm start &> /dev/null &
21:30 topaxi joined
21:31 <janmower> so yea someone should work on that
21:31 willwhite joined
21:31 <janmower> that was pretty weird to figure out
21:31 poorman joined
21:31 <janmower> and fairly common use case if you have a bunch of different priv services
21:32 <tnorris> anyone know of a good tool to check the security of a web facing node app? tools like skipfish seem lacking.
21:32 kaspertidemann joined
21:32 shama joined
21:33 <nathan7> janmower: authbind is LD_PRELOAD hackery
21:33 <janmower> oh really? i should look into that perhaps
21:33 kazupon joined
21:34 andrehjr joined
21:35 <janmower> yea except i want to partition services and even though starting some things on ports below 1024 is helpful, it's only half the story
21:35 samstefan joined
21:35 gbhatnag joined
21:36 <Nami-Doc> Hello - this may sound like a dumb question, but a friend is encoutering a problem with my code i'm not encountering
21:37 taky1 joined
21:37 <Nami-Doc> (with stylus) he gets "Error: Cannot find module 'debug'"
21:37 <gbhatnag> hi all -- looking for logging support in node/express where I can set various levels (i.e. debug, info, warning, etc.) - know of any modules I could use? Doesn't seem like express.logger() supports this and it's surprisingly hard to find via google...
21:37 <jmoyers> gbhatnag winston is one such
21:37 <jmoyers> there are plenty out there
21:38 coolnalu left
21:38 davemo joined
21:38 <gbhatnag> cool thanks, jmoyers - winston seems to be best of breed right now?
21:38 <jmoyers> gbhatnag loggers are small, so there are lots of alternatives...
21:38 <jmoyers> npm search log
21:38 larryapplegate joined
21:38 <gbhatnag> gotcha
21:39 <jmoyers> winston is perhaps the most well known, since the nodejitsu guys support it and evangelize.
21:40 defunctzombie joined
21:41 <gbhatnag> awesome, thanks
21:41 andrehjr joined
21:41 overra joined
21:41 overra joined
21:42 <Nami-Doc> he's got the exact same files as me, so I don't get why node can't find the module.
21:43 `3rdEden joined
21:43 <jmoyers> Nami-Doc stylus depends on debug
21:43 <jmoyers> he needs to run npm install
21:43 <Nami-Doc> he did so, didn't changed anything :(
21:44 <tjholowaychuk> rm -fr node_modules
21:44 <tjholowaychuk> npm cache clear
21:44 <tjholowaychuk> and try again
21:44 joshfinnie joined
21:45 <Nami-Doc> I'll try that
21:47 kennethkoontz joined
21:47 jasonkuhrt joined
21:48 <tnorris> I must be missing something obvious, but why when I `.listen(<port#>, '::')` does node respond on ipv4 and ipv6 (e.g.
21:50 Killswitch joined
21:50 <Nami-Doc> tjholowaychuk: thanks guy !
21:50 AlbireoX joined
21:52 duc1199 joined
21:54 larryapplegate joined
21:56 jpdery joined
21:56 \stro joined
21:58 gabrieluk joined