00:00:00  <Raynos>done. solved.
00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:00:40  <Raynos>gozala: the problem is this dedup things bites me in the ass every frigging week.
00:00:57  <gozala>Raynos: yes but it's still will remain issues
00:01:20  <gozala>hiding your head under the wing does not damn solves it
00:01:31  <gozala>you'll still have copies of the same thing
00:01:34  <gozala>send over the wire
00:01:50  <gozala>and maybe you don't care about it, but that is an issue
00:02:06  <gozala>and it needs to be solved one way or another
00:02:22  <gozala>only way to solve it i know of is using npm dedup
00:02:32  <Raynos>thats ok
00:02:35  <Raynos>thats not optimized
00:02:37  <Raynos>but it works
00:02:45  <Raynos>if method breaks
00:02:47  <Raynos>my app doesnt work
00:02:51  <Raynos>and I waste half the fucking day debugging it
00:02:55  <gozala>Raynos: it does not breaks
00:02:58  <Raynos>if I waste 10kb sending data over the wire
00:03:00  <Raynos>no-one gives a fuck
00:03:11  <gozala>it makes it obvious you have two different copies of thing in the same app
00:03:17  <Raynos>no it doesnt
00:03:37  <Raynos>anyway im going to fix method and port reducers / et al
00:03:46  <pkrumins>my 300 baud modem gives a fuck
00:04:13  <gozala>Raynos: your blaming a wrong guy for the issue here
00:04:34  <gozala>if you wanna help, try to fix npm so it's easy to express dedup
00:04:47  <Raynos>no ill fix method
00:05:00  <Raynos>method is the only module that breaks
00:05:24  <gozala>Raynos: It does not breaks it works as expected
00:05:34  <gozala>it just does not matches your expectation
00:05:40  <Raynos>your definition of as expected is fucked
00:05:55  <Raynos>it doesnt do polymorphic dispatch correctly
00:06:06  <gozala>Raynos: it fucking does
00:06:16  <gozala>you just throw copies of the same mobule
00:06:21  <gozala>but they are different typeqs
00:06:34  <Raynos>they are the same type
00:06:40  <gozala>the fact that you have Stream constructor million times
00:06:55  <gozala>does not makes them all the same
00:07:04  <Raynos>true
00:07:06  <gozala>as of JS concern they are totally diff things
00:07:09  <Raynos>fuck.
00:07:15  <gozala>so method does treats them as such
00:07:16  <Raynos>god this is an annoying problem
00:07:40  <gozala>At the moment problem is that we're fucking scared of sharing
00:07:49  <gozala>oh all these languages share and have issues
00:07:55  <gozala>so we don't share at all
00:08:26  <gozala>but it's more reasonable to think why sharing is the problem
00:08:33  <dominictarr>gozala: share what?
00:08:42  <gozala>and weather sharing at the project level poses same problems
00:08:50  <gozala>dominictarr: sharing dependencies
00:08:59  <gozala>Don't get me wrong
00:09:07  <gozala>I'm all up for not doing system level sharing
00:09:10  <dominictarr>oh right
00:09:10  <gozala>that one is doomed
00:09:21  <gozala>and I'm happy we don't do that
00:09:24  <ralphtheninja>system level sharing?
00:09:41  <dominictarr>gozala: no, I think this is the right way
00:09:56  <gozala>ralphtheninja: by system I mean os
00:10:05  <gozala>same as other mainstream langs
00:10:06  <gozala>do
00:10:12  <dominictarr>- like between applications
00:10:49  <dominictarr>gozala, npm dedupe only dedupes when a single version is acceptable
00:10:54  <gozala>dominictarr: I do want share with in my app
00:10:57  <dominictarr>what you are talking about is npm flatten
00:10:59  <gozala>not across the apps
00:11:05  <dominictarr>you could write that - easy
00:11:15  <dominictarr>it might break things though
00:11:21  <gozala>dominictarr: No I'm just talking about dedup by default
00:11:35  <gozala>if there is version conflict than don't share
00:12:06  <dominictarr>yes - what should it do then?
00:12:31  <dominictarr>gozala: right - so … that is what dedupe does now, isn't it?
00:12:41  <gozala>dominictarr: yes
00:12:53  <dominictarr>great! so whats the problem?
00:12:55  <gozala>the problem is that as a lib author I need to tell people dedup
00:13:09  <gozala>and Raynos keeps forgetting to do this
00:13:17  <Raynos>not foregetting
00:13:25  <Raynos>npm dedup doesnt dedup dev depencencies
00:13:32  <Raynos>so I need to go patch npm
00:13:48  <gozala>dominictarr: ok so apparently it's even worth
00:13:49  <dominictarr>oh right
00:13:56  <Raynos>and I also added npm dedup as postinstall ( https://github.com/Colingo/date-now/pull/1 ) which breaks other peoples shit
00:13:58  <gozala>Raynos: are you sure it doesn't I think it does
00:14:03  <gozala>but sometimes it fails
00:14:15  <gozala>so I just remove deps then install
00:14:18  <dominictarr>why does your stuff depend on dedupe?
00:14:37  <gozala>dominictarr: https://github.com/Gozala/method/wiki/Known-Issues
00:15:48  * ins0mniaquit (Ping timeout: 272 seconds)
00:15:57  <dominictarr>agree, this does not perserve the identity of modules
00:16:06  <gozala>dominictarr: but even if you ignore that problem when I do a web app I don't want to wind up with dups of module
00:16:19  <dominictarr>this is where a implicit interface would work well
00:16:22  <gozala>I minimize hell out of the js I send and definitely don't want copies there
00:17:17  <dominictarr>sure - I argue it's way better that you CAN have duplicates, even in web apps
00:17:54  <gozala>dominictarr: I'm not saying there should be no way to have unshard deps
00:18:18  <gozala>I'm arguing that now it's a wrong default
00:18:38  <gozala>I'd rather prefer saying that in this specific case I don't wanna share
00:18:52  <gozala>then having to say for all web apps that I want to share
00:19:01  <gozala>not to say that I could just bundle my copy with me
00:19:14  <gozala>and all of the users won't even have to care
00:19:27  <gozala>while now I have to explain everyone what is the issue
00:19:27  <dominictarr>hmm, you may be right
00:19:39  <gozala>and give a receipt to fix it
00:20:09  <gozala>or at least if I could express dedup me and all of my copies at the lib level
00:20:13  <gozala>that would be a great help
00:21:46  <dominictarr>npm WARN please dedupe
00:29:31  <Raynos>gozala: this could also be solved by having dom-reduce peer depend on reducers
00:29:40  <Raynos>and not have its only dependency on reducers which it mutates
00:29:55  <Raynos>I think this is the main issue that people are dependending on reducers / reducible instead of peer dependending
00:30:28  <gozala>Raynos: it doesn't depend on reducers it depends on reducible though
00:30:38  <Raynos>yeah it shouldnt
00:30:46  <Raynos>it shouldnt depend on either but peer depend on them
00:30:50  <gozala>Raynos: I'm ok with making them peer-dependencies if that helps
00:30:51  <Raynos>dom-reduce is a plugin for reducible
00:31:04  <Raynos>that way it will break more aggressively
00:31:14  <Raynos>I think this will solve most of the problems
00:31:22  <Raynos>that means my app always installs a copy of reducers & reducible
00:31:26  <Raynos>and everyone else peer depends on them
00:31:27  <gozala>Raynos: what happens if no one depends on reducible then ?
00:31:36  <Raynos>then it breaks
00:31:43  <Raynos>because reducers will need a peer dependency on reducible
00:31:56  <Raynos>its the app author's responsibility to install reducible and reducers
00:32:14  <gozala>hmm… app is responsible of installing reducers
00:32:20  <gozala>or something that uses reducers
00:32:40  <gozala>no one needs to depend on reducible directly
00:32:45  * AvianFluquit (Remote host closed the connection)
00:34:19  <Raynos>gozala: question about hub ( https://gist.github.com/53aed4d4de944e795bb2 ) why is it all x then all y and not x1 y1 x2 y2 ?
00:34:43  <Raynos>gozala: but reducers and things that depend on reducers dont use reducers as much as grab a copy of reducers and mutate it's state table of polymorphic dispatch
00:34:50  <Raynos>they shouldnt depend on them and mutate their own little copy
00:35:25  <gozala>Raynos: you're messing up naming here
00:35:33  <gozala>no one mutates reducers
00:35:49  <gozala>everyone defines reducbile/reduce implementation for their types
00:35:58  <Raynos>yeah they mutate reducible, not reducers
00:36:00  <gozala>which in a way mutates reducible
00:37:45  <Raynos>I see merge is depth first not breadth first
00:37:46  <Raynos>blargh
00:38:40  <Raynos>ok I will just put all the logic in a single expand call :D
00:39:20  <gozala>Raynos: I think you have some concurrency issues
00:39:31  <Raynos>synchronous concurrency :D
00:39:44  <gozala>I can't make sense of your posts
00:39:47  <Raynos>node is weird because all my race conditions are synchronous
00:39:59  <Raynos>I have a source
00:40:05  <gozala>I'm speaking of you not the node :)
00:40:13  <Raynos>I filter it by "add" messages and "remove" messages
00:40:24  <Raynos>then I map / transform / bla and then merge them
00:41:05  <gozala>Raynos: ...
00:41:08  <Raynos>if the source is synchronous I would expect the single source to dispatch the messages to the two filters in order
00:41:12  <gozala>were not you talking about reducible before ?
00:41:15  <Raynos>Oh
00:41:19  <gozala>I'm completely lost
00:41:19  <Raynos>I changed halfway through
00:41:22  <Raynos>Ok
00:41:29  * mikolalysenkojoined
00:41:30  <Raynos>so reducible is seperate issue
00:41:38  <Raynos>I think everyone that depends on reducible should peer depend on it instead
00:41:40  <Raynos>including reducers
00:41:50  <Raynos>the other issues is I dont understand lazy structures
00:42:34  <gozala>Raynos: I'm ok with peer depending on reducibles if it mitigates the issue
00:42:46  <Raynos>I think it will
00:42:46  * ryan_stevensquit (Quit: Leaving.)
00:42:52  <Raynos>because there will only ever be one reducible
00:42:55  <Raynos>the one I install for my app
00:43:02  <Raynos>which makes sense
00:43:20  <gozala>Raynos: so you're app will have to depend on reducible then ?
00:43:28  <Raynos>yes
00:43:38  <gozala>Raynos: ah that sucks ...
00:43:51  <Raynos>sucks less then having to run npm dedup
00:43:54  <gozala>how about everything peer depends on reducible except reducers
00:44:03  <Raynos>that works as well
00:44:13  <Raynos>except I dont know whether installing reducers and dom-reduce side by side work
00:44:18  <Raynos>because dom-reduce peer depends on reducible
00:44:23  <Raynos>and reducible will be a cousin of dom-reduce
00:44:54  <gozala>We can probably try this out
00:45:30  <gozala>Raynos: I'll be offline starting from tomorrow for some time though
00:45:44  <Raynos>ok
00:46:06  <Raynos>in the meanwhile ill manually install reducible in my npm
00:46:17  <Raynos>and npm dedup everything
00:48:54  * defunctzombiechanged nick to defunctzombie_zz
01:00:00  * ryan_stevensjoined
01:03:53  * AvianFlujoined
01:04:23  * yorickquit (Remote host closed the connection)
01:09:15  * huntertrquit (Ping timeout: 252 seconds)
01:17:14  * cianomaidinquit (Quit: cianomaidin)
01:25:03  <mbalho>substack: im goin to campjs, do you know where you're staying the 13th, 18th and 19th?
01:26:21  <Raynos>chrisdickinson: yo
01:27:13  <rvagg>mbalho: very cool to have you coming along; looking forward to it!
01:27:21  <mbalho>rvagg: im excited!
01:27:39  <rvagg>the speaker list is now fully #stackvm
01:27:53  <ralphtheninja>I'll come next time :)
01:29:12  <mbalho>hehe
01:29:38  <rvagg>I think there might still be tickets ralphtheninja, no excuses
01:32:51  * mikolalysenkoquit (Ping timeout: 256 seconds)
01:37:42  <dominictarr>mbalho: AWESOME
01:38:06  <mbalho>dominictarr: what you doin after?
01:38:10  <mbalho>dominictarr: i wanna see your home land
01:38:37  <dominictarr>mbalho: I'm flying straight back - if you want to make a side trip it's not far!
01:39:51  <dominictarr>last I checked, round trip BNE - WLG is about $500
01:40:37  <dominictarr>rvagg: Raynos ralphtheninja juliangruber https://github.com/rvagg/node-levelup/wiki/Plugin-Pattern-Discussion
01:40:38  * ryan_stevensquit (Read error: Connection reset by peer)
01:40:51  <mbalho>dominictarr: sweet i will go to wlg with you for a bit if you would be willing to show me around
01:41:04  <dominictarr>ABSOLUTELY
01:41:49  <mbalho>wewt
01:42:34  <mbalho>dominictarr: so youre going back to wlg on the 18th?
01:43:17  <fotoverite>Oh god lucky all of you.
01:43:20  <dominictarr>yeah, the plan is to attend this http://www.multicoreworld.com/
01:43:27  <dominictarr>fotoverite: come too!
01:43:40  <fotoverite>thailand
01:43:47  <fotoverite>I go there on the 17h
01:43:58  <dominictarr>I'll be in NZ for 2 weeks after campjs
01:43:59  <fotoverite>plus my god the amount of flying to do both
01:44:06  <mbalho>dominictarr: hmm multicoreworld doesnt really look up my alley
01:44:20  <dominictarr>that is the appeal
01:44:23  <mbalho>lol
01:44:25  <dominictarr>it's NOT a js conference
01:45:03  <dominictarr>so, i'll be able to learn new stuff to take to the js conferences.
01:45:19  * niixjoined
01:45:37  <mbalho>sweet
01:45:48  <dominictarr>mbalho: anyway, I'm be in wellington for about two weeks, but your welcome to stay as long as you like :)
01:45:59  <dominictarr>this is the best time of the year to see nz
01:46:37  <mbalho>dominictarr: where are you staying in wellington?
01:47:04  <dominictarr>hmm, friends room while they are travelling
01:47:31  <dominictarr>there is always something like that available - I can arrange something for you
01:47:35  * fotoveritequit (Read error: Connection reset by peer)
01:47:50  * fotoveritejoined
01:48:00  <ralphtheninja>rvagg: would've been cool, but going to Ireland next week
01:48:30  <mbalho>dominictarr: that would be awesome, i would probably stay a week
01:48:55  <ralphtheninja>and some financial issues, otherwise I'd be there in a swoosh
01:49:18  <dominictarr>okay - I'll see what I can rig up, you'll need a bicycle too
01:49:20  <Raynos>dominictarr: thanks for the docs? :D
01:49:31  <dominictarr>'?'?
01:50:50  * fotoverite_joined
01:51:18  <fotoverite_>dominictarr: you coming to nodeconf?
01:51:37  <dominictarr>fotoverite_: yes, have ticket
01:51:45  <fotoverite_>Cool, still deciding
01:52:06  * fotoveritequit (Ping timeout: 245 seconds)
01:52:07  * fotoverite_changed nick to fotoverite
01:52:09  <fotoverite>If I hadn't had to buy this new computer I would be there.
01:55:24  * ralphtheninjaquit (Ping timeout: 264 seconds)
01:55:40  <fotoverite>Impressive SYD BKK JFK is only 2,300
01:55:53  <fotoverite>but it's a 28 plane ride to australia woooo
01:57:12  <Raynos>dominictarr: '!' wrong key
01:57:16  <fotoverite>dominictarr: Next year when I do even more conferences!
01:57:26  <fotoverite>DO ALL THE CONFS!
01:57:27  <LOUDBOT>YOU CAN'T GET AWAY WITH THIS.. I KNOW PEOPLE!!
01:57:35  <Raynos>fotoverite: me too
01:57:39  <Raynos>we will both do ALL THE CONFS
01:57:42  <Raynos>ALL OF THEM
01:57:42  <LOUDBOT>@SHIYIYA WHY DON'T YOU LOVE ME ANYMORE? I MISS YOU.
01:58:04  <fotoverite>@SHIYIYA why don't you love loudbot!?
01:58:27  <fotoverite>FYI I really like the makeover to hip monk so clean
02:09:51  * defunctzombie_zzchanged nick to defunctzombie
02:12:02  * mikolalysenkojoined
02:13:34  * alunnyquit (Ping timeout: 244 seconds)
02:28:17  * niixquit (Remote host closed the connection)
02:46:57  * huntertrjoined
03:24:11  <Raynos>oh hi
03:26:26  * jibayquit (Read error: Connection reset by peer)
03:27:31  <defunctzombie>\o/
03:29:32  * mikealquit (Quit: Leaving.)
03:29:55  <Raynos>defunctzombie: I tried to use tryme and failed
03:30:00  <defunctzombie>haha
03:30:02  <defunctzombie>:(
03:30:08  <defunctzombie>I am making it better :)
03:30:15  <defunctzombie>it will show readmes and js examples
03:30:21  <defunctzombie>Raynos: what failed?
03:30:22  <Raynos>well its about local use
03:30:37  <defunctzombie>did it not find something?
03:30:39  <Raynos>right now I use `browservefy ./examples/simple.js --browserify='browserify-server' -- --debug --bundle`
03:30:50  <Raynos>that's chrisdickinson/browservefy
03:31:02  <defunctzombie>k
03:31:06  <Raynos>I need the ability for you to render arbitrary js files and I need the ability to say "fuck your browserify command use mine"
03:31:26  <Raynos>I use `browserify-server --bundle --debug FILE` to browserify my files
03:31:29  <defunctzombie>arbitrary js should be available soon
03:31:43  <defunctzombie>the custom browserify command I am not usre
03:31:50  <defunctzombie>I don;t actually use browerify internally
03:31:55  <Raynos>xd
03:31:59  <defunctzombie>cause I needed to be able to hook into something differently
03:32:07  <defunctzombie>and couldn't figure out how to make browserify do it
03:32:30  <defunctzombie>during this refactoring I might be able to get it to work again tho with browserify
03:32:48  <defunctzombie>but I still don't think it will allow for custom browserify command
03:32:54  <defunctzombie>cause that isn't the goal of the tool
03:33:18  <Raynos>well ill hack on it when I have time :)
03:33:21  <defunctzombie>:)
03:33:24  <defunctzombie>more than welcome to :)
03:33:26  <Raynos>but for now browservefy
03:33:30  <defunctzombie>also, debug is on by default
03:33:36  <Raynos>allows me to run a server that renders my browserify example
03:33:38  <Raynos>with one command
03:33:45  <Raynos>which is really what I want
03:33:48  <defunctzombie>yea, makes sense
03:33:50  <Raynos>next I need to integrate live reload
03:34:05  <Raynos>I used to do a scaffolding dance with browserify-server but that's crazy
03:34:09  <defunctzombie>live reload is more doable than the other stuff
03:34:21  <Raynos>live-reload is already solved :p
03:34:22  <defunctzombie>since that is just a matter of knowing when to reload
03:34:28  <Raynos>https://github.com/Raynos/live-reload
03:34:42  <Raynos>drop in a script, start a child process, done.
03:34:42  <defunctzombie>well, not really solved
03:34:56  <Raynos>the harder part is partial CSS reloading
03:35:03  <Raynos>or even partial JS reloading
03:35:08  <defunctzombie>not worth it really, just reload full js
03:35:08  <Raynos>anyway
03:35:11  <defunctzombie>and css
03:35:12  <Raynos>all of that shit is diffuclt
03:35:19  <defunctzombie>you can't do partial js in a reasonable way
03:35:21  <Raynos>well you want to reload CSS by swapping out a stylesheet
03:35:21  <defunctzombie>yes
03:35:24  <Raynos>not reloading the browser
03:35:24  <defunctzombie>yea
03:35:38  <Raynos>the full js reload is just a browser refresh
03:36:08  <defunctzombie>yep
03:36:27  <defunctzombie>anyhow, the first focus of tryme is to make it easier for people to view interactive readmes and examples
03:36:32  <defunctzombie>that are available on github
03:36:38  <defunctzombie>with the hope that more people write such examples :)
03:36:41  <defunctzombie>if they are easy to view
03:38:16  <Raynos>defunctzombie: https://github.com/Raynos/browserify-server/blob/master/index.js#L30
03:38:19  <Raynos>that's my problem :(
03:38:30  <defunctzombie>?
03:38:35  <defunctzombie>what problem is that
03:38:43  <Raynos>browserify won't work on my example files
03:38:48  <Raynos>because I have special hooks for files
03:38:55  <defunctzombie>why do you have that
03:39:09  <Raynos>because I like requiring templates and getting text back
03:39:16  <defunctzombie>(this is what I was saying about html files being served)
03:39:29  <defunctzombie>well, that is not really a js thing
03:39:59  <Raynos>Correct
03:40:02  <Raynos>but its convenient ( https://github.com/Colingo/dom-widget/blob/master/examples/simple.js#L8 )
03:40:12  <Raynos>I like having this notion of widget(template, implementation)
03:40:26  <defunctzombie>well, there you just have the html inline
03:40:35  <defunctzombie>but yea, obviously with more html it can look worse
03:40:49  <defunctzombie>I was talking about this before with some various ideas
03:41:04  <defunctzombie>personally I think require _could_ load any file
03:41:09  <defunctzombie>and just export the string
03:41:20  <dominictarr>Raynos: so my vision for all this levelup plugin stuff...
03:41:20  <Raynos>well I think what I need to do
03:41:30  <Raynos>is build a templating language like dominictarr/hyperscript
03:41:36  <Raynos>so that my templates are valid JS
03:41:36  <defunctzombie>the problem is .. what does it mean to require('foo.png');
03:42:37  <dominictarr>is I want to be able to declaritively define databases interms of transformations on top of other databases
03:42:42  <defunctzombie>but yes.. I think for widgets certainly the notion of require html is interesting
03:42:53  <defunctzombie>but you can also make a step which turns the html into js
03:42:56  <defunctzombie>and require that
03:43:10  <defunctzombie>ideally with the hope that you don't edit the html often.. but that is a bit sad
03:44:09  <dominictarr>defunctzombie: a simplification here, is that only js files can do require
03:44:30  <defunctzombie>well, I personally think that the notion of require html templates is reasonable
03:44:36  <defunctzombie>but require css is not
03:44:49  <defunctzombie>css should be loaded upfront into the head if possible
03:44:54  <defunctzombie>and namespaced if even more possible
03:45:07  <dominictarr>and we already have require .json
03:45:21  <Raynos>defunctzombie: the annoying thing is that there are two files then in my module
03:45:29  <dominictarr>but if you are gonna do html, you should just make it work with everything
03:45:33  <defunctzombie>I guess I would not be against require('./any/file/');
03:45:35  <Raynos>defunctzombie: I dont think I want to require css
03:45:39  <dominictarr>require('whatever.txt')
03:45:42  <defunctzombie>right
03:45:51  <defunctzombie>I mean, .js just have special meaning
03:45:57  <defunctzombie>but then what if I require .png?
03:46:02  <defunctzombie>do I base 64 that?
03:46:06  <defunctzombie>what does it mean to require data
03:46:08  <Raynos>dominictarr: what do you mean transformations?
03:46:18  <defunctzombie>base 64 does seem reasonable actually.. but who knows
03:46:24  <defunctzombie>could go down a dangerous path.. :/
03:46:48  <dominictarr>Raynos: well a map reduce is just a referentially transparent transformation on the contents of the database
03:46:49  <defunctzombie>but a path that I think could be very useful for some cases
03:47:08  <defunctzombie>but abused in others hahaha
03:47:25  <dominictarr>defunctzombie: you get the buffer?
03:47:41  <defunctzombie>dominictarr: what buffer?
03:47:50  <defunctzombie>now you have to have a buffer object or something
03:47:57  <dominictarr>just binary
03:48:06  <defunctzombie>and that is less interesting than a data url I think
03:48:57  <dominictarr>maybe the best way, it to have a browserify2 plugin
03:49:15  <dominictarr>where you go require.text('whatever.html')
03:49:27  <defunctzombie>na
03:49:34  <defunctzombie>that seems ghetto :/
03:49:41  <dominictarr>require.binary('somthing.png')
03:49:43  <defunctzombie>well, in browserify you can already .register
03:49:52  <defunctzombie>how you want something handled
03:50:01  <defunctzombie>but the issue is if you make this in a web widget
03:50:04  <dominictarr>it does fs.readSync on the vserver
03:50:08  <defunctzombie>others need to use the exact same thing
03:50:11  <defunctzombie>to use your widget
03:50:41  <dominictarr>well… there isn't really an elegant way to decide whether you should load string or binary otherwise
03:51:18  <dominictarr>it's better to give someone the power to do what they need even if it's a bit ugly
03:51:30  <defunctzombie>Raynos: do you really have that much html that you want to load?
03:51:32  <dominictarr>don't try and hide uglyness
03:51:46  <dominictarr>if you can't polyfill it cleanly
03:51:59  <defunctzombie>dominictarr: I would not want to make something that is tied to a particular tool personally, I would want to create a generic require approach for this that people are happy with and is reasonable
03:52:16  <dominictarr>exactly
03:52:22  <dominictarr>that is just too broard
03:52:58  <dominictarr>like someone will want to load 3d texture files, or 3d models, or wav or csv or something else weird like that.
03:54:01  <defunctzombie>sigh
03:54:19  <defunctzombie>giving the focus is widgets, maybe allow .html loading
03:54:25  <defunctzombie>but then why .html extension
03:54:39  <defunctzombie>how about .txt
03:54:47  <defunctzombie>and write your html in the .txt file haha
03:54:51  <defunctzombie>damn extensions
03:55:21  <dominictarr>exactly… or you have to tell node how to load what extensions - because this should still work on the server
03:55:36  <defunctzombie>I dunno that these _should_
03:55:59  <defunctzombie>these are web widgets
03:56:05  <defunctzombie>they won't just work on the server
03:56:15  <defunctzombie>in a dom environemtn ment
03:56:16  <defunctzombie>*maybe
03:56:23  <dominictarr>browserify is broader than just web bundles
03:56:29  <dominictarr>it's just a js bundling tool
03:56:38  <dominictarr>it could be used for other js envs too
03:56:48  <defunctzombie>anything with require
03:56:58  <defunctzombie>but really it is focused on node
03:57:02  <defunctzombie>not other environments
03:57:05  <dominictarr>at the moment
03:57:14  * defunctzombiedoesn't use browserify :)
03:57:51  <defunctzombie>I don't have a good answer for 'require'
03:57:54  <defunctzombie>:/
03:58:14  <defunctzombie>I am tempted to say require is only for js and json
03:58:21  <dominictarr>defunctzombie: what are you using?
03:58:23  <defunctzombie>json was really just a side effect decision
03:58:31  <defunctzombie>dominictarr: script
03:58:48  <defunctzombie>dominictarr: I learn many lessons from browserify :)
03:58:58  <defunctzombie>but I don't want the client side boilerplate :/
03:59:49  * mikealjoined
03:59:55  <defunctzombie>I like the idea that require is only for js or json
04:00:07  <defunctzombie>simple and you don't have to think about how to load other stuff when making a bundler
04:00:52  <defunctzombie>yea, html template stuff suffers as a result tho.. but I don't see a reasonable way around that
04:00:59  <defunctzombie>outside of a small tool to convert .html to a .js
04:01:14  <defunctzombie>which I think is kinda ghetto
04:02:57  <defunctzombie>really I think we are mostly talking about including html templates
04:03:03  <defunctzombie>more than any other data type I think
04:05:42  <Raynos>defunctzombie: enough to want a file
04:05:43  <defunctzombie>and I think since people can't do that now many just write the html in the js anyway
04:05:55  <Raynos>also little enough that multi line string literals are good enough
04:06:17  <defunctzombie>you can use \ I suppose :/
04:06:21  <defunctzombie>I agree it is shitty
04:06:32  <defunctzombie>our life is filled with sadness
04:11:18  <Raynos>the solution is dominictarr/hyperscript
04:13:07  <dominictarr>defunctzombie: http://olado.github.com/doT/index.html
04:13:18  <dominictarr>html templates that compile to js function
04:13:36  <dominictarr>really fast, it claims.
04:13:53  <defunctzombie>dominictarr: seen it
04:14:07  <defunctzombie>I personally use handlebars (via the hbs package) for my sites
04:14:13  <defunctzombie>I started to work on braces
04:14:22  <defunctzombie>whcih was handlebars and ctemplate inspired
04:14:23  <defunctzombie>but yea
04:14:30  <defunctzombie>there are a few things like dot
04:14:35  <dominictarr>right - so the difference isn't too great
04:14:39  <defunctzombie>nope
04:15:01  <defunctzombie>and really, that is if you want templates.. sometimes people just want raw html as a string
04:15:01  <dominictarr>it's probably just a few regexps you need to change
04:15:18  <dominictarr>this does that too...
04:15:24  <defunctzombie>yea
04:16:45  <defunctzombie>to me the html aspect is/was less interesting than the css :/
04:16:53  <defunctzombie>mostly cause for css more work had to be done to isolate it
04:17:14  <defunctzombie>html is usage with a widget is more open ended
04:17:18  <Raynos>but css is easy
04:17:24  <defunctzombie>yes
04:17:26  <Raynos>you can fall back to the way
04:17:32  <Raynos>html and templates are a pain in the ass
04:17:43  <defunctzombie>yes
04:17:48  <Raynos>because my widgets are ( https://github.com/Colingo/dom-widget ) functions that returns DOM things
04:17:52  <Raynos>so those templates
04:17:54  <Raynos>need to be in npm
04:18:00  <Raynos>and not in your html
04:18:09  <Raynos>and not widget($(".trolls"))
04:18:14  <defunctzombie>right
04:18:15  <Raynos>its var trolls = widget()
04:18:40  <defunctzombie>right
04:21:04  <Raynos>now im not even sure whether that is the right approach anymore to be honest
04:21:08  <Raynos>but thats a seperate conversation
04:21:13  <Raynos>for now it seems simple
04:21:15  <defunctzombie>haha
04:21:22  <defunctzombie>personally I have no "approach"
04:21:29  <defunctzombie>I just want to ship js files
04:21:32  <defunctzombie>and css files :)
04:22:03  <Raynos>im trying to make some UI decisions to get shit done faster
04:22:15  <defunctzombie>makes sense
04:22:17  <Raynos>like https://github.com/Colingo/widget-list
04:22:36  <defunctzombie>man.. really need tryme for these examples :p
04:22:45  <defunctzombie>I need to deploy this new version
04:23:01  <defunctzombie>dominictarr: inspired me :)
04:23:22  <Raynos>make a PR to COlingo/widget-list to show me how tryme works
04:23:32  <Raynos>also with like a local makefile target or something for local tryme usage
04:23:37  <defunctzombie>I will once I get the readme thing deployed
04:23:54  <defunctzombie>it will be very similar to the current tryme example js files
04:24:01  <defunctzombie>for the most part it will just work (tm)
04:24:05  <Raynos>btw help, -h, --help do nothing
04:24:10  <defunctzombie>yea :)
04:24:32  <defunctzombie>there is no help
04:24:39  <defunctzombie>you are on your own haha
04:25:11  <Raynos>thats why I use the browservefy ghetto :D
04:25:18  <defunctzombie>hahaha
04:32:08  <substack>mbalho: I'm staying at tim oxley's place
04:32:50  <chrisdickinson>Raynos: optimist doesn't muck with the rest of the args?
04:38:01  <Raynos>chrisdickinson: it shouldnt
04:38:19  <chrisdickinson>and fix_filed is gone because, well, we don't need to fix filed in this case, right?
04:38:44  <Raynos>it doesnt
04:38:49  <Raynos>correct
04:38:57  <chrisdickinson>cool, lgtm.
04:40:09  <chrisdickinson>published.
04:40:15  <chrisdickinson>thanks for the fixes!
04:48:00  * dguttmanquit (Quit: dguttman)
05:01:24  <mbalho>substack: sweet
05:13:57  * dominictarrquit (Quit: dominictarr)
05:18:24  * huntertrquit (Quit: huntertr)
05:24:38  * dominictarrjoined
05:25:15  * huntertrjoined
05:26:56  * mikealquit (Quit: Leaving.)
05:29:11  * dominictarrquit (Ping timeout: 255 seconds)
05:34:35  * dominictarrjoined
05:39:37  <Raynos>Yes. Mobile orchestra :3
05:40:17  <Raynos>Mobile irc
05:56:34  * huntertrquit (Quit: huntertr)
05:59:42  * mikealjoined
06:10:28  * mikealquit (Ping timeout: 248 seconds)
06:10:48  * ralphtheninjajoined
06:12:22  * mikealjoined
06:54:52  <mikolalysenko>I decapitaged node-webgl: https://github.com/mikolalysenko/headless-gl
06:55:02  <mikolalysenko>*decapitated
06:55:05  <mikolalysenko>bah it is late
06:55:10  <mbalho>haha
06:55:22  <mikolalysenko>but now you can use it do gpgpu stuff on a server!
06:55:28  <mikolalysenko>and render images without creating a window
06:55:41  <mbalho>thats awesome
06:56:00  <mikolalysenko>still need to test it on linux though
06:56:10  <mikolalysenko>and I have no idea if/how to make it work on windows...
06:56:15  <mikolalysenko>but that is a problem for a later date
06:58:41  <chrisdickinson>mikolalysenko: have you seen https://www.khronos.org/registry/webgl/conformance-suites/1.0.1/webgl-conformance-tests.html ?
06:59:05  <mikolalysenko>no
06:59:09  <mikolalysenko>but that is a good link
06:59:15  <mikolalysenko>I will run give them a go
06:59:21  <chrisdickinson>might be a nice, free test suite for headless-gl
06:59:31  <mikolalysenko>yeah, looks awesome
06:59:35  <chrisdickinson>also, it'd be cool if you registered it as "gl" :)
06:59:42  <mikolalysenko>hmm
06:59:45  <mikolalysenko>that is a nice thought
06:59:48  <mikolalysenko>ok, I'll do it
07:01:36  <chrisdickinson>ah, here's the latest link for gl conformance: https://www.khronos.org/registry/webgl/sdk/tests/webgl-conformance-tests.html
07:04:21  * shamaquit (Quit: shama)
07:04:48  <mikolalysenko>ok, I opened the issues on the project page
07:05:01  <mikolalysenko>I'll probably work on them tomorrow though since it is too late right now
07:05:41  <isaacs>dominictarr: pushign a new config-chain to depend on ini a bit more loosely
07:05:50  <dominictarr>cool
07:05:52  <isaacs>dominictarr: landed some ini bugfixes, bumped the version to 1.1.0 because it adds functionality
07:05:58  <isaacs>cc is now 1.1.4
07:06:43  <dominictarr>cool
07:14:16  * AvianFluquit (Remote host closed the connection)
07:17:44  * mikolalysenkoquit (Ping timeout: 255 seconds)
07:35:38  * defunctzombiechanged nick to defunctzombie_zz
07:45:25  * defunctzombie_zzchanged nick to defunctzombie
07:46:30  * wiwilliaquit (Ping timeout: 252 seconds)
07:48:59  * tphummelquit (Quit: tphummel)
08:00:14  <dominictarr>gozala: I think i've figured out what you mean by dedupe being strange
08:01:14  <gozala>dominictarr: I'm glad I'm not the crazy one :)
08:01:20  <dominictarr>it doesn't produce the same results as npm install - because you may have a old dependencies, and it doesn't reinstall
08:02:00  <dominictarr>sometimes you have x -> y -> z and you need to update x
08:02:08  <dominictarr>and then you get the new z
08:04:04  <gozala>I guess you meant y
08:04:16  <gozala>dominictarr: I don't think that's issue I'm having though
08:04:50  <dominictarr>gozala: what do you think it is?
08:05:02  <gozala>my main issues is types becoming useless
08:05:23  <gozala>let's say there is foo module
08:05:43  <gozala>and bar module that defines extensions for foo
08:05:49  <gozala>foo.prototype.bar = ...
08:06:51  <gozala>the problem is you likely will end up with different copy of foo
08:06:52  <dominictarr>right - that is a side effect of not sharing
08:06:58  <gozala>not the one that has being extended
08:07:02  <dominictarr>it breaks singletons, like types
08:08:30  <gozala>dominictarr: other types and more subtle issues are
08:08:47  <gozala>I don't want my web apps to have copies of the same module
08:09:12  <dominictarr>I disagree, that is only an optimization
08:09:28  <gozala>but that's less irritating as I can just set postinstall npm dedup
08:09:29  <dominictarr>if the alternative is breaking the app, give me duplicates
08:09:48  <dominictarr>otherwise you end up with bundler
08:10:07  <gozala>do you have an example of app breakage by sharing deps at app level ?
08:10:33  <gozala>My suspicion is that we went from one side of the spectrum to another
08:10:37  <defunctzombie>dominictarr: Raynos: http://tryme.jitsu.com/shtylman/hyperscript/
08:10:49  <defunctzombie>some other things that work
08:10:52  <gozala>from share at system level to no share at all
08:10:54  <defunctzombie>going to any .js file
08:11:01  <defunctzombie>as well as any .md file actually
08:11:33  <gozala>while middle of that spectrum share at the app level was best of both
08:11:51  <gozala>if one still decides to not share that's easy
08:12:05  <gozala>but I'm afraid opposite is nearly impossible now
08:12:34  <gozala>and only way to do is to make app author put post install npm dedup
08:13:21  <dominictarr>gozala: yeah, any place you made a breaking change to a module, but didn't update old code
08:13:56  * mikolalysenkojoined
08:13:56  <dominictarr>if you have a flat tree, then there is TREMENDUS disincentive to NOT make a breaking change
08:14:01  <gozala>well in my case updates are not actually an issue
08:14:14  <dominictarr>cause you'll have to go and fix stuff that is already working
08:14:26  <dominictarr>except your case
08:14:46  <dominictarr>but, you are trying to be clever with that protocol thing
08:14:50  <gozala>if you do depend on type being a type it will break you
08:14:59  <dominictarr>yes
08:15:09  <dominictarr>that is why you don't
08:15:09  <gozala>dominictarr: well yeah I'm solving conflict issues at the object level
08:15:16  <gozala>rather then package level
08:15:18  <dominictarr>you have to work with js, not against it.
08:15:38  <gozala>dominictarr: Yeah that's what douglass keeps saying
08:15:46  <gozala>use good parts
08:15:53  <dominictarr>exactly
08:16:05  <dominictarr>protocols work well in clojure
08:16:23  <gozala>they work very well in js too
08:16:34  <gozala>a lot better than pseudo classes we have
08:16:47  <dominictarr>defunctzombie: NICE
08:16:55  <dominictarr>though, only the first example works
08:16:57  <gozala>it's just people don't wanna explore that area
08:16:57  * defunctzombiechanged nick to defunctzombie_zz
08:17:36  <gozala>but anyway I'm used to be outcast so it's ok
08:17:55  <gozala>and postinstall npm dedup works reasonably well
08:18:21  <dominictarr>well, you need to put forward ideas that people want to work with, there isn't much point in peddling an idea people can't use
08:18:26  <gozala>it just every now and then I hope to improve things
08:18:34  <dominictarr>because an idea with belivers is much more useful
08:18:48  * mikolalysenkoquit (Ping timeout: 252 seconds)
08:18:53  <gozala>dominictarr: I believe I'm making some progress
08:19:01  <gozala>I just talk to people who would listen :)
08:19:15  <dominictarr>yes, your ideals are definitely interesting
08:19:19  <gozala>Some people at mozilla started to build projects
08:19:27  <gozala>with some of that work
08:19:36  <gozala>functionaljs meetup was also success IMO
08:19:54  <dominictarr>defunctzombie_zz: and it loads fast!
08:20:58  <gozala>and to be quite honest some of this simplified just my workflow enough that I do think it was worth it
08:21:50  <gozala>my hope is to build cool stuff and gain peoples interest with that
08:22:22  <gozala>dominictarr: anyway I think problem is dedup is that
08:22:29  <gozala>it makes too hard to share
08:22:49  <gozala>inverting default would make not share relatively easy
08:23:00  <gozala>while still allowing sharing at project level
08:23:22  <gozala>looks like ti's component is also headed that direction
08:23:37  <gozala>damn autocorrect
08:23:42  <gozala>I meant TJ's
08:23:51  <dominictarr>why does reducibles need to depend on types?
08:24:03  <gozala>dominictarr: reducers are implemented with method
08:24:05  <dominictarr>that seems orthagonal to me
08:24:25  <gozala>method allows you to define methods like
08:24:32  <gozala>reduce = method()
08:24:39  <gozala>and then implement it for diff types
08:24:40  <dominictarr>yeah I know about method
08:24:50  <gozala>reduce.define(Stream, function() { … })
08:25:07  <dominictarr>it's for general dispatch
08:25:14  <gozala>so that's exactly a problem
08:25:28  <gozala>core does not defines reduce for non built-ins
08:25:45  <gozala>so all the other things like stream, or whatever else are defined as libs
08:25:55  <gozala>but they wind up with their copies of reduce
08:26:01  <gozala>that is just different function
08:26:14  <gozala>so extensions between them are not shared
08:26:32  <dominictarr>well, what if you detected the features? like a stream has .pipe, and .on
08:27:05  <dominictarr>you can check fresh objects, and then memoize from their constructor
08:27:17  <gozala>dominictarr: sure you could do some tricks
08:27:27  <gozala>but there are bunch of challenges
08:27:34  <gozala>and I think npm dedup works better
08:27:57  <gozala>dominictarr: also doing this tricks defeats purpose of method itself
08:28:15  <dominictarr>I just think that a flat tree will land you in dependency hell
08:28:28  <dominictarr>like read this article about bundler http://patshaughnessy.net/2011/9/24/how-does-bundler-bundle
08:28:29  <gozala>dominictarr: I have being using npm dedup in all my packages
08:28:36  <gozala>had not run into any issues yet
08:28:58  <gozala>dominictarr: also I don't really insist on flat trees
08:29:14  <dominictarr>and then tell me that this is "expected" behaviour
08:29:25  <gozala>I just wanna say do not duplicate reducers
08:29:33  <gozala>in the projects using it
08:29:45  <dominictarr>gozala: you aren't most people, you have a very clear idea about your api, and maintain it carefully
08:30:33  <gozala>dominictarr: ok maybe it should not be a default but there should be a way
08:30:47  <gozala>without telling my users do the dedup
08:30:49  <gozala>:)
08:30:54  <dominictarr>maybe you should use a global var to detect if there has been a duplication?
08:31:01  <gozala>ruby does system level sharing
08:31:09  <gozala>that's broken I don't argue about that
08:31:16  <dominictarr>that is rubygems
08:31:24  <dominictarr>this is bundler, which does project level
08:31:35  <dominictarr>it's still unspeakably horrible
08:31:45  <gozala>ok I'll read it through
08:32:01  <dominictarr>I once met a guy who was working on a CI server in ruby
08:32:20  <dominictarr>he almost started crying when he was describing working with bundler
08:32:53  <dominictarr>gozala: is it enough to have just one instance of reducables?
08:33:36  <gozala>dominictarr: that's actually is a desire
08:33:59  <dominictarr>right - so use a global variable
08:34:16  <dominictarr>and export the current verion, so you can throw if you have a conflict
08:34:18  <gozala>do you use Object ?
08:34:21  <gozala>:D
08:34:25  <gozala>you use global then
08:34:38  <dominictarr>globals.Reducable
08:35:04  <gozala>dominictarr: but what if I don't wanna share ?
08:35:14  <dominictarr>globals._-GOZALA_NO_COLLIDE_PLEASE_PLEASE__ = reducables
08:35:25  <ralphtheninja>hehe
08:35:33  <dominictarr>this is just for reducables
08:35:38  <dominictarr>which is a special case
08:36:35  <substack>duplication seems like something a commonj-esque aware optimization pass can take care of
08:36:41  <gozala>dominictarr: I think the fact that npm dedup exists
08:36:43  <dominictarr>I'm okay with the idea that some modules need a single instance to work right, but not that that is forced on everthing
08:36:53  <gozala>there was a reason
08:37:13  <dominictarr>okay, well if you are content with dedupe...
08:37:24  <gozala>I think with a grows of packages that have postinstall npm dedup
08:37:36  <gozala>in them it will be more apparent that problem exists
08:38:12  <ralphtheninja>sounds like dedup should be part of the install, e.g. 'npm install --dedup'
08:38:15  <gozala>dominictarr: I'm of opinion that forcing is bad idea too
08:38:17  <dominictarr>I'm just trying to make practical solutions
08:38:27  <dominictarr>sorry
08:38:29  <dominictarr>suggestions
08:38:54  <gozala>dominictarr: Raynos has some ideas with peer dependencies
08:39:07  <gozala>we'll probably explore those and see if that will fix it
08:39:23  <dominictarr>it doesn't sound good when you say "I have this great idea that makes it easy to write bug free applications", "oh, but you have to run npm dedupe or it won't work"
08:39:39  <gozala>:D
08:39:44  <Raynos>gozala: reducers is going to be a disaster with method >_<
08:40:04  <gozala>dominictarr: I think part of the problem is that method solves name collision problem at the micro level
08:40:10  <Raynos>when you release v4 im going to have to upgrade everything
08:40:23  <gozala>which conflicts with npm trying to solve same problem at macro level
08:40:41  <dominictarr>right
08:40:44  <gozala>method says I'll make sure that you never step on others toes
08:40:48  <gozala>npm says fuck that
08:40:55  <gozala>I'll just make copy of everything
08:41:05  <gozala>so you won't even know others exist
08:41:43  <dominictarr>the good thing about npm's approach is that it's not opt-in
08:42:00  <dominictarr>modules SHOULDN'T know about each other
08:42:21  <dominictarr>they should think they are the only module in the entire universe
08:42:52  <gozala>dominictarr: I think you'll discover limitations once you'll guys will start writing plugins for levelup
08:42:57  <dominictarr>all they know, is somebody (god?) calls their methods with certain arguments
08:43:08  <gozala>once diffferent modules will extend prototype and then collide
08:43:15  <dominictarr>and they must dutifully return their values, or throw an exception
08:43:16  <gozala>or endup extending wrong prototypes
08:43:52  <dominictarr>yeah, well, you don't extent someone else's prototype
08:44:18  <gozala>well, not if you risk to conflict
08:44:19  <dominictarr>oh, that was wrong, of course a module knows about it's deps
08:44:22  <gozala>but it's ok otherwise
08:44:33  <dominictarr>but as far as it knows, it's the most important module
08:44:54  <Raynos>gozala: scenerio
08:45:05  <Raynos>I write a nice big juicy modular app with [email protected]
08:45:14  <Raynos>big multi page thing
08:45:19  <Raynos>each page is its own repo / package
08:45:22  <Raynos>lots of modules
08:45:22  <dominictarr>substack: this could be a good plot for a childrens book
08:45:23  <Raynos>lots of npm
08:45:25  <Raynos>everything is good
08:45:36  <Raynos>one year later I write new stuff with [email protected]
08:45:38  <dominictarr>a kid travels inside a computer program
08:45:45  <Raynos>and pass these around between the old app and the new.
08:45:52  <dominictarr>and meets, say, a date formatting module
08:46:00  <Raynos>I can't do that :/ I have to go and update everything to 3.0
08:46:09  <dominictarr>and he's like, oh, I have a very important job
08:46:14  <dominictarr>I format dates
08:46:19  <gozala>or I'm lost now
08:46:19  <dominictarr>all days
08:46:21  <dominictarr>every day
08:46:26  <gozala>Raynos: what are you trying to say ?
08:46:29  <dominictarr>convert numbers into strings
08:46:41  <Raynos>gozala: im trying to say I dont want to upgrade everything to newer reducible in lockstep
08:46:43  <dominictarr>(they mean something to humans… what ever they are)
08:46:44  <Raynos>thats why I use npm
08:46:47  <Raynos>to have a large tree
08:46:53  <Raynos>and multiple versions of the same module
08:46:55  <Raynos>in the tree
08:46:57  <dominictarr>are there any other modules?
08:47:00  <Raynos>so that I can keep using older code
08:47:13  <gozala>Raynos: that is fine
08:47:19  <dominictarr>why would you need other modules? I can convert all the date formats!
08:47:27  <dominictarr>ALL THE FORMATS
08:47:27  <LOUDBOT>ROMBOSES == GEOMETRY BOSS
08:47:37  <Raynos>gozala: levelup plugins are different because the thing they extend is passed to them
08:47:45  <dominictarr>I AM THE KING OF MODULES
08:47:45  <LOUDBOT>SO THATS WHERE ALL THE DEAD HOOKERS WENT.
08:47:49  <Raynos>gozala: if stream-reduce and dom-reduce were passed `reducible` as argument it would work
08:48:08  <Raynos>that may not be a bad (optional) trade-off tbh
08:48:15  <gozala>who does the passing ?
08:48:16  <dominictarr>and then the kid goes and meets other modules, and has many crazy adventures
08:48:20  <Raynos>my app does
08:48:31  <Raynos>var stream = require('stream-reduce')(require('reducible'))
08:48:35  <ralphtheninja>gozala, so method is basically an observer pattern?
08:49:07  <gozala>ralphtheninja: method is polymorphism a la carte
08:49:28  <Raynos>but that only mitigates the "there should only be one instance of reducible" problem
08:49:30  <dominictarr>ralphtheninja: observer pattern is known as EventEmitter in node land
08:49:34  <gozala>it's basically oop method dispatch without
08:49:45  <gozala>any name collisions problems
08:49:48  <dominictarr>gozala: just use a global
08:50:00  <ralphtheninja>dominictarr: ✔
08:50:07  <ralphtheninja>gozala: ✔
08:50:19  <dominictarr>then you don't have to tell people to npm dedupe until they get to that situation
08:50:39  <dominictarr>so your ideas sound more digestable
08:50:43  <Raynos>well the problem is trivially solved
08:50:49  <Raynos>if reducible is globally memoized
08:50:55  <gozala>Raynos: let's try peer dependencies first
08:51:00  <Raynos>i.e. does a reducible already exist in this global context? fuck this use that one
08:51:11  <gozala>if that does not works we can try passing reduce
08:51:14  <Raynos>gozala: im happy with that but reducers also needs to peer depend on reducible
08:51:23  <dominictarr>Raynos: but first check that it's got the same version
08:51:28  <dominictarr>you don't want to randomly use one
08:51:32  <Raynos>dominictarr: ignoring patch version
08:51:33  <dominictarr>that will be confusing
08:51:35  <gozala>Raynos: you may wanna have multiple reduces v2 and v3 at the same time
08:51:40  <gozala>global reduce breaks htat
08:52:24  <dominictarr>gozala: but I thought reduce would break in that case, anyway?
08:52:33  <gozala>Raynos: how about then everything peer depending on reducers
08:52:46  <gozala>and only reducers depending on reducible ?
08:53:02  <gozala>dominictarr: reduce does not breaks it works
08:53:19  <gozala>the problem is that you define'd different function
08:53:22  <Raynos>gozala: won't work. I want reducible as a direct dependency of my app
08:53:28  <gozala>but than used one you have not defined
08:53:29  <dominictarr>what is the thing that breaks, that is causing us to have this discussion?
08:53:57  <gozala>dominictarr: ok so reducible exports module.exports = method()
08:54:00  <Raynos>I define reduce for DOMElement
08:54:11  <Raynos>and then call reduce2(DOMElement) and it does nothing
08:54:15  <gozala>than stream-reduce defines
08:54:26  <Raynos>the problem is I dont define reduce DOMElement for both copies of redue
08:54:27  <Raynos>reduce*
08:54:31  <gozala>require("reducible/reduce").define(Stream, …)
08:54:35  <gozala>but when you use reduce
08:54:44  <gozala>by requiring("reducible/reduce")
08:54:49  <Raynos>everything would work fine if the reduce implementation was defined for all copies of reduce
08:55:04  <gozala>you get different one not the one used by stream-reduce
08:55:16  <Raynos>gozala: you could do that btw. Have this check in reduce.define that's like "lets look in the global backdoor. find all copies of reduce and call define for all of them"
08:55:49  <gozala>Raynos: sure I could but that works around the guarantees that method provides :)
08:56:22  <gozala>basically whatever it promises to solve is no longer true
08:56:53  <gozala>Raynos: I think we already have plan A right ?
08:57:01  <Raynos>Yes.
08:57:07  <gozala>lets try it out if that does not work then do plan B
08:57:11  <Raynos>Nothing has a dependency on reducible
08:57:19  <Raynos>and everything has a peer dependency of reducible
08:57:41  <gozala>Raynos: that sounds challenging :D
08:57:50  <Raynos>its easy
08:57:56  <gozala>oh sorry I missread
08:58:03  <Raynos>npm install tells you "lol you dont have copy of reducible, go install one"
08:58:08  <Raynos>thats how peer deps should work
08:58:10  <dominictarr>gozala: sounds like you need a global instance of method
08:58:18  <dominictarr>no, just reduce
08:58:20  <Raynos>npm doesnt tell you "lol go dedup because method breaks with multiple copies"
08:58:40  <gozala>dominictarr: it's not problem with method
08:58:43  * mirkokjoined
08:58:46  <gozala>when you call method()
08:58:53  <gozala>it creates fresh method
08:59:02  <gozala>so if you have copy of module
08:59:04  <Raynos>i agree its not a problem with method
08:59:09  <Raynos>its a problem with multiple instances of reduce
08:59:11  <gozala>the exports created method
08:59:17  <gozala>you have two different methods
08:59:19  <Raynos>because the very core is the idea that you can reduce evertything
08:59:24  <gozala>same as with regular functions
08:59:25  <Raynos>that only works if there is one reduce
08:59:36  <gozala>they may work the same but they're different
08:59:58  <dominictarr>it sounds like peer-dep will work
09:00:00  <gozala>Raynos: you can have multiple reduces
09:00:18  <gozala>you should just define implementations on ones that you're going to use after
09:00:20  <gozala>that's all
09:00:23  <dominictarr>except for old modules that already depend on reduce
09:00:29  <gozala>it's just in obvious to do
09:00:51  <gozala>Raynos: so I think it should be as follows
09:00:59  <gozala>reducers depend on reducible
09:01:10  <gozala>everything else peer-depends on reducers
09:01:44  <Raynos>that could work
09:01:50  <gozala>although they won't actually use reducers they will use reducible that reducers depend upon
09:02:02  <Raynos>although reducers will have to re export its copy of reducible
09:02:06  <gozala>that way you won't need to define dependency on reducible
09:02:15  <Raynos>so you can do var reduce = require("reducers/reduce")
09:02:26  <Raynos>im ok with dependency on reducible
09:02:36  <Raynos>I use reducible function a lot for definining custom sources
09:02:44  <gozala>Raynos: I guess that's not really necessary not a big deal
09:03:05  <gozala>Raynos: I mean require("reducible/reduce") will work either way
09:03:38  <Raynos>gozala: requiring reducible feels dirty if you dont depend or peer depend on it
09:03:58  <Raynos>Actually that will break
09:04:00  <Raynos>I think
09:04:08  <Raynos>reducers -> reducible, dom-reduce
09:04:23  <Raynos>dom-reduce can't require reducible because its not next to it nor above it
09:04:28  <Raynos>its sideways then down
09:04:28  <gozala>Raynos: ok I don't mind exporting
09:04:39  <gozala>or even combining these packages back for that matter
09:04:39  <Raynos>yeah re-exporting reducible from reducers works
09:04:57  <Raynos>might aswell tbh
09:05:30  <gozala>Raynos: do peer dependencies propagate
09:05:40  <gozala>for example if I depend on reflex and dom-reduce
09:06:10  <gozala>wil npm figure that reflex depends on reducers and don-reduce depends on it
09:06:18  <gozala>so I can share it ?
09:06:45  <gozala>or is it not smart enough ?
09:06:46  <Raynos>dont know
09:07:11  <gozala>yeah cause if that worked I'd probably switched to peer dependenies
09:07:13  <Raynos>but i feel really uncomfortable
09:07:25  <Raynos>if reducible isn't in my apps package.json
09:07:28  <gozala>which would be basically dependencies + dedup :)
09:07:48  <gozala>Raynos: include it then :)
09:07:54  <Raynos>:D
09:07:56  <gozala>and feel the comfort of it
09:10:24  <gozala>All I really want a peer dependencies that are installed if no one else defined dependency otherwise
09:14:17  * mikolalysenkojoined
09:19:24  * mikolalysenkoquit (Ping timeout: 264 seconds)
10:01:32  <dominictarr>substack: will httpDuplex with with ClientRequest/Response?
10:01:40  * ins0mniajoined
10:11:21  * ins0mniaquit (Ping timeout: 276 seconds)
10:18:19  * defunctzombie_zzchanged nick to defunctzombie
10:20:55  * defunctzombiechanged nick to defunctzombie_zz
10:31:36  * blobaumjoined
10:52:37  * rvagggoes looking for a Sublime Text 3 support issue for Sublime Package Control only to find that Raynos is responsible for the ticket: https://github.com/wbond/sublime_package_control/issues/289
10:54:02  * dominictarrquit (Read error: Connection reset by peer)
10:54:54  * dominictarrjoined
10:56:30  * jibayjoined
10:59:07  * tilgovijoined
11:01:50  <dominictarr>idea: log structured merge, with just regular line separated json.
11:02:21  * dominictarrquit (Quit: dominictarr)
11:04:36  * dominictarrjoined
11:06:17  * dominictarrquit (Read error: Connection reset by peer)
11:06:59  * dominictarrjoined
11:12:25  * yorickjoined
11:12:26  * yorickquit (Changing host)
11:12:26  * yorickjoined
11:14:58  * mikolalysenkojoined
11:19:44  * mikolalysenkoquit (Ping timeout: 255 seconds)
11:21:00  * mirkokquit (Quit: mirkok)
11:25:05  * mirkokjoined
11:28:01  * mirkokquit (Client Quit)
11:30:23  * tilgoviquit (Remote host closed the connection)
11:50:15  * ins0mniajoined
11:53:06  * blobaumquit (Ping timeout: 272 seconds)
12:15:21  * mikolalysenkojoined
12:20:02  * mikolalysenkoquit (Ping timeout: 255 seconds)
12:30:53  * blobaumjoined
13:01:26  * mirkokjoined
13:15:43  * mikolalysenkojoined
13:20:04  * mikolalysenkoquit (Ping timeout: 244 seconds)
13:22:05  <jesusabdullah>hat is sublime pkg ctrl
13:23:08  <jesusabdullah>what*
13:23:13  <jesusabdullah>NEVER MIND ALRITE
13:23:13  <LOUDBOT>HELP ME OUT HERE BOT OF CONVERSATION-SMASHING
13:24:11  <jesusabdullah>I've never used sublime
13:31:49  <jesusabdullah>AND THE RADIO MAN IS SPEAKING
13:31:50  <LOUDBOT>I CANT THAT WOULD BE IMPOSSIBLE
13:32:10  <jesusabdullah>AND THE RADIO MAN SAYS WOMEN WERE A CURSE
13:32:10  <LOUDBOT>WHAT DIDN'T YOU LIKE ABOUT LFD
13:34:10  <jesusabdullah>EVERYTHING
13:51:31  * ins0mniaquit (Ping timeout: 248 seconds)
13:52:23  * exit2joined
14:01:17  * rook2pawnquit (Ping timeout: 255 seconds)
14:02:17  * rook2pawnjoined
14:16:14  * mikolalysenkojoined
14:21:18  * mikolalysenkoquit (Ping timeout: 276 seconds)
14:29:26  * dominictarrquit (Read error: Connection reset by peer)
14:32:33  * dominictarrjoined
14:37:36  * exit2changed nick to niix
14:41:14  * ins0mniajoined
15:12:55  * dominictarrquit (Read error: Connection reset by peer)
15:16:50  * mikealquit (Quit: Leaving.)
15:34:46  * dominictarrjoined
15:34:47  * dominictarrquit (Read error: Connection reset by peer)
15:52:45  * tilgovijoined
15:53:48  * mikolalysenkojoined
16:05:52  * huntertrjoined
16:30:42  * mirkokquit (Quit: mirkok)
16:40:45  * AvianFlujoined
16:55:56  * saijanai_quit (Ping timeout: 252 seconds)
17:00:02  * saijanai_joined
17:01:54  * shamajoined
17:11:44  * defunctzombie_zzchanged nick to defunctzombie
17:20:41  * ins0mniaquit (Ping timeout: 252 seconds)
17:26:26  * dguttmanjoined
17:26:32  * dominictarrjoined
17:27:04  * dominictarrquit (Read error: Connection reset by peer)
17:29:06  * dominictarrjoined
17:29:33  * dominictarrquit (Read error: Connection reset by peer)
17:31:30  * dominictarrjoined
17:35:26  * AvianFlu_joined
17:38:14  * AvianFluquit (Disconnected by services)
17:38:17  * AvianFlu_changed nick to AvianFlu
17:43:48  * defunctzombiechanged nick to defunctzombie_zz
17:44:33  * defunctzombie_zzchanged nick to defunctzombie
17:45:12  * defunctzombiechanged nick to defunctzombie_zz
17:56:03  * owen1quit (Quit: WeeChat 0.3.2)
17:56:08  * py1honquit (Ping timeout: 252 seconds)
17:58:45  * ryan_stevensjoined
18:01:00  * dominictarrquit (Quit: dominictarr)
18:03:19  * py1honjoined
18:03:50  * dominictarrjoined
18:04:30  * dominictarrquit (Client Quit)
18:05:25  * dominictarrjoined
18:16:18  * ryan_stevensquit (Quit: Leaving.)
18:19:39  * alunnyjoined
18:21:59  * dominictarrquit (Quit: dominictarr)
18:32:14  * wiwilliajoined
18:32:44  * ins0mniajoined
18:38:56  * defunctzombie_zzchanged nick to defunctzombie
18:45:06  * AvianFluquit (Remote host closed the connection)
18:46:03  * evboguejoined
18:46:14  <CoverSlide>LOUDBOT: whosaid
18:46:14  <LOUDBOT>HEI2 in #mefi on slashnet
18:46:35  * ralphtheninjaquit (Ping timeout: 255 seconds)
18:46:36  * ryan_stevensjoined
19:05:23  * ralphtheninjajoined
19:10:52  * tphummeljoined
19:14:00  <Raynos>rvagg: o/
19:20:06  <mbalho>substack: what was the module you had that did the khan-academy CS editor style infinite loop protection and code sandboxing?
19:24:04  * tilgoviquit (Ping timeout: 248 seconds)
19:32:59  * ryan_stevensquit (Quit: Leaving.)
19:41:10  * ryan_stevensjoined
19:47:24  <mikolalysenko>browserify question: What is the best way to make some code only execute on the server?
19:47:32  <mikolalysenko>I got a module, and I want to conditionally compile part of it
19:48:29  <mbalho>mikolalysenko: if you do (require)('foo') then browserify wont process it when packaging
19:48:37  <mikolalysenko>ok, got it
19:48:44  <mbalho>mikolalysenko: and you can do if (process.browser) to make browser only code paths
19:50:43  * dominictarrjoined
19:55:31  <mikolalysenko>ok
19:58:52  * AvianFlujoined
20:01:37  <Raynos>miko: `if (typeof window !== "undefined") {` and `if (process.name === "node") {`
20:01:44  * ralphtheninjaquit (Ping timeout: 255 seconds)
20:03:16  <dominictarr>Raynos: process.title I think
20:03:25  <Raynos>Oh yeah process.title
20:03:39  <dominictarr>also, process.title can be unreliable
20:03:48  <dominictarr>like if you do sudo `which node`
20:04:11  <dominictarr>you'll get process.title = '/usr/local/bin/node/node'
20:04:22  <Raynos>O_O
20:04:24  <Raynos>:(
20:04:26  <dominictarr>it's better to do process.title != browser
20:04:39  <dominictarr>because that just gets set by browserify
20:04:52  <Raynos>well you need a better way to detect node itself :p
20:04:59  <Raynos>but who cares !
20:05:02  <Raynos>browser or node
20:05:06  <dominictarr>there should be a whereami module
20:05:15  <mbalho>+1
20:08:36  * blobaumquit (Ping timeout: 264 seconds)
20:19:26  * evboguequit (Ping timeout: 252 seconds)
20:20:56  * alunnyquit (Ping timeout: 246 seconds)
20:21:25  <mikolalysenko>alright! new version: https://github.com/mikolalysenko/headless-gl
20:21:35  <mikolalysenko>it should now let you create multiple contexts
20:22:29  * ralphtheninjajoined
20:25:33  <CoverSlide>awesome. does it work with THREE?
20:25:38  <mikolalysenko>maybe
20:25:49  <mikolalysenko>you might be able to get it to work, but THREE uses a lot of DOM calls
20:25:54  <mikolalysenko>headless gl is JUST opengl
20:26:01  <CoverSlide>hmm
20:26:01  <mikolalysenko>err webgl
20:26:09  <mikolalysenko>you can read images out using readpixels and stuff
20:26:33  <mikolalysenko>it is enough to do gpgpu stuff though
20:29:03  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
20:29:03  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
20:31:38  * ryan_stevensquit (Quit: Leaving.)
20:44:44  * alunnyjoined
20:44:49  * nk109quit (Remote host closed the connection)
20:46:30  * nk109joined
20:50:57  * evboguejoined
20:52:02  <dominictarr>juliangruber: did you publish your multilevel thing?
20:52:15  <dominictarr>http -> levelup, that was you rigth?
20:55:45  <defunctzombie>isaacs: npm issue... if a devDependency is greater than a dependency, then the greater one is installed
20:55:54  <defunctzombie>I had a module with a devDep of '*' for a package
20:56:06  <defunctzombie>and the same thing pinned
20:56:08  <isaacs>defunctzombie: you shouldn't probably have a dep and a devDep on th same thing
20:56:13  <isaacs>defunctzombie: that's undefined.
20:56:19  <isaacs>defunctzombie: i think devDep always wins, actually
20:56:24  <defunctzombie>hm
20:56:27  <isaacs>defunctzombie: beause i just blindly fold it in
20:56:28  <defunctzombie>that is not very clear or nice
20:56:38  <isaacs>well... either it's a devDep or it's not.
20:56:40  <defunctzombie>and will fuck people up
20:56:45  <isaacs>it fucked you up, i see :)
20:56:53  <isaacs>i'd accept a patch to print a warning inthat case.
20:56:56  <defunctzombie>well, it wasn't even my module :)
20:57:39  <defunctzombie>I must say it was unexpected behavior to say the least
20:57:44  <defunctzombie>given that the devDep was '*'
20:57:47  <defunctzombie>which means anything
20:57:52  <defunctzombie>and the dep was harder pinned
20:58:09  <defunctzombie>sure you can say the package.json is invalid then.. so that is what you should do
20:58:15  <defunctzombie>not just go on like nothing is wrong :)
21:00:33  * evboguequit (Ping timeout: 252 seconds)
21:02:03  * ryan_stevensjoined
21:03:50  * dominictarrquit (Quit: dominictarr)
21:10:14  * mikolalysenkoquit (Ping timeout: 255 seconds)
21:10:51  * ryan_stevensquit (Ping timeout: 245 seconds)
21:14:10  <isaacs>defunctzombie: what it does is it just folds devDeps into the same dep object
21:14:19  <isaacs>defunctzombie: so whatever's in devDependencies will just clobber
21:14:38  <defunctzombie>isaacs: I get that, but I am saying that is bad behavior :) I realize it was a simple merge(a, b) call :p
21:18:14  <Raynos>defunctzombie: how easy / hard would it be to get npm-css to play nice with compile to CSS languages?
21:18:22  <jjjjohnnny>can an https server serve http also?
21:18:49  <Raynos>not really
21:19:13  <Raynos>They are generally on two different ports (80, 443)
21:19:23  <jjjjohnnny>yeah i want to server both on one port
21:19:31  <CoverSlide>and the protocol is different
21:19:35  * alunnyquit (Ping timeout: 255 seconds)
21:19:54  <defunctzombie>Raynos: depends on what the language looks like
21:20:02  <defunctzombie>are you talking about sass? and less? stuff?
21:20:04  <defunctzombie>or something else
21:20:36  <CoverSlide>I did something like that once
21:21:29  <isaacs>jjjjohnnny: cannot be done.
21:21:38  <isaacs>jjjjohnnny: you listen on 80 for http, and 443 for https
21:21:44  <isaacs>jjjjohnnny: they can use the same connection listener, though
21:22:16  <isaacs>jjjjohnnny: https.createServer(options, listener).listen(443); http.createServer(listener).listen(80); function listener(req,res) { .. }
21:22:29  <CoverSlide>it was a like a proxy, but forwarded raw sockets. it detected if it was http and if not, then it proxied somewhere else, assuming https. but of course there needed to be a separate http and https listening somewhere else
21:23:22  <CoverSlide>but you had to do ugly hacks to get to it like https://example.com:80
21:23:47  <CoverSlide>it was a stupid silly goal but it was an interesting experience
21:31:22  <jjjjohnnny>isaacs: thanks
21:32:34  <jjjjohnnny>is there something different about the req.connection object of a http and https connection?
21:32:59  * ryan_stevensjoined
21:33:33  <jjjjohnnny>CoverSlide: yeah im woking on a proxy. All i really want to do is proxy TO an https endpoint. is there a way to do that without the proxy itself being https?
21:33:46  <isaacs>jjjjohnnny: yes. one is a net.Socket, the other is a tls.CleartextStream
21:33:50  <isaacs>jjjjohnnny: but they're very similar
21:35:04  <jjjjohnnny>isaacs: when i set a proprty on the socket on a connection event, it is no longer there (on req.socket.proprty) on the request event
21:35:31  <isaacs>yeah, https servers get a secureConnection event
21:35:37  <isaacs>the connection event is different there
21:35:42  <jjjjohnnny>aha
21:36:06  <mbalho>is there some code somewhere that uses browserify in node to make a server that takes args from querystring/PUT/POST and reponds with a bundle?
21:37:00  <jjjjohnnny>isaacs: the connection event did fire tho w / https server
21:37:25  <isaacs>right
21:37:28  <isaacs>but it's a different thing i think
21:37:38  <jjjjohnnny>pre upgrade or something?
21:37:46  <isaacs>gotta run
21:37:52  <isaacs>you should read the code :)
21:37:56  <isaacs>it's just javascript modules :)
21:38:07  * AvianFluquit (Remote host closed the connection)
21:40:45  <mbalho>ahh nevermind this shows usage https://github.com/mikolalysenko/Serverify/blob/master/bin/serverify.js#L52
21:46:23  <defunctzombie>mbalho: yes, there are many haha
21:47:09  <mbalho>anyone know if there is a way to pipe data to browserify using the js api
21:50:02  <Raynos>defunctzombie: NAME get. `var document = require("global/document")`
21:50:17  <Raynos>https://github.com/Colingo/global#global
21:50:27  <Raynos>defunctzombie: less, sass and stylus
21:50:57  <defunctzombie>Raynos: nice
21:51:10  <defunctzombie>Raynos: well, for less I sent you the hoisting code more or less
21:51:12  <defunctzombie>sass I dunno
21:51:20  <defunctzombie>stylus has no way to hook into @import
21:51:22  <defunctzombie>I asked tj
21:51:26  <Raynos>I see
21:51:29  <defunctzombie>so it would require a patch first
21:51:32  <defunctzombie>and then could do it
21:51:50  <gozala>Raynos: I just realised that peer deps won't solve issues :(
21:51:54  <defunctzombie>you jsut have to be able to hook into @import
21:52:03  <Raynos>gozala: they do
21:52:07  <gozala>it will only work for one level of dependencies
21:52:09  <Raynos>everything peer depends on reducible
21:52:18  <mbalho>substack: is bundle.addEntry the only way to programmatically bundle? it uses fs.readFileSync :(
21:52:33  <gozala>if deps are deeper in the tree you'll have same issues
21:52:57  <Raynos>gozala: not really. because no-one depends on reducible so there are either 0 or 1 copies of reducible
21:53:14  <Raynos>if reducers depends on reducible then its fucked
21:53:14  <gozala>sure but reflex may depend on dom-reduce
21:53:26  <Raynos>reflex can depend on dom-reduce that's fine.
21:53:35  <Raynos>it just means you have to install reflex & reducible
21:53:40  <gozala>then it's either will have to depend on reducbiles and introduce another copy of reducibles
21:53:54  <defunctzombie>mbalho: with browserify yes
21:53:55  <Raynos>nothing in npm should depend on reducible ever :P
21:53:57  <gozala>or npm won't install because don-reduce won't meet peer dependency
21:54:07  <mbalho>defunctzombie: whats the other way
21:54:10  <Raynos>npm doesn't install non-met peer deps anyway
21:54:14  <Raynos>it just warns you
21:54:16  * AvianFlujoined
21:54:23  <defunctzombie>mbalho: script module (I wrote that) but your mileage may vary :P
21:54:28  <Raynos>user has to manually install reducible in his app or reducible has to be a global
21:54:30  <defunctzombie>it doesn't read sync
21:54:34  <gozala>Raynos: point is don-reduce will expect reducible as a peer
21:54:43  <defunctzombie>but honestly the sync read isn't too terrible if you do some basic caching :/
21:54:44  <Raynos>as a peer or as a parent
21:54:46  <Raynos>either works
21:54:55  <gozala>but if it's in the deps of reflex or something like that
21:55:00  <mbalho>defunctzombie: thats not the issue, it assumes my data is in a file
21:55:03  <gozala>that breaks
21:55:04  <Raynos>if npm bitches about "its not a peer its a parent" then fix npm
21:55:10  <gozala>sorry I have no time to argue
21:55:11  <mbalho>defunctzombie: whereas i want to post a file and get a response bundle
21:55:14  <gozala>have to catch a palin
21:55:17  <gozala>plain
21:55:21  <Raynos>good luck :)
21:55:22  <defunctzombie>mbalho: write to a tmp file
21:55:22  <Raynos>plane*
21:55:27  <mbalho>in mother alaska palin catches you
21:55:32  <gozala>I'm sure if you'll thing about it you'll figure what I mean
21:55:32  <mbalho>defunctzombie: such a hack
21:55:40  <defunctzombie>mbalho: if you are posting a file, what is there to bundle?
21:55:52  <mbalho>defunctzombie: the require() statements
21:55:54  <gozala>Raynos: yeah auto correct is screwing with me all the time :(
21:56:00  <defunctzombie>mbalho: where will they come from?
21:56:10  <defunctzombie>files you have locally?
21:56:18  <mbalho>defunctzombie: textarea in a web page
21:56:25  <mbalho>defunctzombie: code editor
21:56:33  <defunctzombie>so you have several files you will post?
21:56:36  <mbalho>defunctzombie: no just one
21:56:43  <defunctzombie>then what are the requires?
21:56:44  <mbalho>defunctzombie: its the same idea s browserify foo.js
21:56:45  <defunctzombie>is my question
21:56:57  <defunctzombie>what will you be requireing?
21:56:58  <Raynos>gozala: i know what you mean. I solved it already :D
21:57:01  <mbalho>defunctzombie: modules!
21:57:09  <mbalho>defunctzombie: "var foo = require('foo.js')"
21:57:13  <defunctzombie>um
21:57:15  <mbalho>defunctzombie: the client types that
21:57:17  <defunctzombie>maybe I am not so clear
21:57:23  <mbalho>defunctzombie: sends it to the server, the server has foo.js in its node_modules
21:57:23  <defunctzombie>yes.. but where is foo.js?
21:57:32  <defunctzombie>ok.. so the server will have foo.js
21:57:40  <mbalho>defunctzombie: the server may have N modules
21:57:43  <defunctzombie>that was my question.. do you have set of available modules
21:57:50  <defunctzombie>mbalho: have you seen the stuff I have been doing with tryme?
21:57:54  <mbalho>defunctzombie: no
21:58:23  <defunctzombie>mbalho: http://tryme.jitsu.com/shtylman/typeahead/example/
21:58:25  <mbalho>defunctzombie: im making a thing for voxel.js. there are like 30 voxel.js modules now and i want people to be able to include moduels and make games in a browser editor without having to install npm or node
21:58:39  <defunctzombie>mbalho: yes
21:58:42  <defunctzombie>I was gonna suggest that :p
21:58:52  <defunctzombie>after I worked on tryme haha
21:59:00  <mbalho>defunctzombie: i dont understand what the text inputs are for
21:59:04  <defunctzombie>mbalho: so tryme clones a git repo
21:59:12  <defunctzombie>mbalho: they are demo of the widget
21:59:18  <defunctzombie>don't focus on the text inputs
21:59:18  <mbalho>ohhh
21:59:24  <defunctzombie>the point is that it is interactive
21:59:26  <defunctzombie>editing
21:59:35  <defunctzombie>with require for the module you are demoing
21:59:42  <defunctzombie>and it is just a clone of a github repo
22:00:05  <defunctzombie>https://github.com/shtylman/typeahead/blob/master/example/index.js
22:00:58  <mbalho>defunctzombie: wheres the code for tryme
22:01:04  <defunctzombie>github
22:01:06  <defunctzombie>shtylman/trme
22:01:09  <defunctzombie>*tryme
22:01:10  * niixquit (Remote host closed the connection)
22:01:12  <mbalho>ahha
22:01:28  <mbalho>wow https://github.com/Gozala/interactivate
22:01:31  <defunctzombie>it is probably more complex than you might need
22:01:32  <defunctzombie>yep
22:01:38  <defunctzombie>that was what started it
22:01:47  <defunctzombie>tryme does js files and markdown readmes now :)
22:02:10  <mbalho>cool
22:02:17  <defunctzombie>tryme does have some useful code if you want to pull down a git project, npm install it and bundle against it
22:02:19  <mbalho>defunctzombie: i will try to use these
22:02:30  <defunctzombie>it sets up the harness for that whole process
22:02:36  <mbalho>defunctzombie: but i first need to get a server that can serve bundles
22:02:43  <defunctzombie>that is the easy part :p
22:02:55  <mbalho>defunctzombie: all the parts are easy when you break them up
22:06:10  * alunnyjoined
22:10:40  <defunctzombie>mbalho: if you run into random stuff with it let me know.. since I just made tryme, all this editor and bundle stuff is fresh :)
22:18:36  <defunctzombie>Raynos: let me know if you make any headway with the css stuff, my current approach is just to serve /css/widgets.css through npm-css
22:18:42  <defunctzombie>and everything else through whatever I want
22:19:28  <defunctzombie>https://gist.github.com/4662333#file-app-js-L16
22:19:38  <Raynos>defunctzombie: yeah that works
22:20:28  * ryan_stevensquit (Quit: Leaving.)
22:21:51  <Raynos>chrisdickinson: ping
22:21:55  * alunnyquit (Ping timeout: 248 seconds)
22:22:00  <Raynos>I want to include an extra <script> tag in browservefy
22:22:06  <Raynos>any suggestions on a good way to do that?
22:23:06  * alunnyjoined
22:24:32  <Raynos>isaacs: https://gist.github.com/1814a7d9d229c5c81f19
22:24:47  <Raynos>I think npm ls doesn't handle the `[email protected]` conflict clenaly
22:24:50  <Raynos>cleanly*
22:28:06  <chrisdickinson>Raynos: it'll serve up whatever html you want
22:28:17  <Raynos>how?
22:28:25  <chrisdickinson>just put an html file in the directory
22:28:30  <chrisdickinson>that you're running browservefy from
22:28:48  <Raynos>oh I see
22:28:48  <chrisdickinson>the "fake index" is just a shim for initially testing things out, if you make an "index.html" it'll use that instead
22:29:13  <Raynos>can you map / to /index.html ?
22:29:18  <chrisdickinson>it already does
22:29:23  <Raynos>oh wait you already do that
22:29:24  <Raynos>sweet
22:29:27  * mikolalysenkojoined
22:29:34  <chrisdickinson>the only one that doesn't do that is if you've got a url like /path (instead of /path/)
22:29:47  <chrisdickinson>(i.e., it expects trailing slashes)
22:29:55  <Raynos>i see
22:30:02  <Raynos>I also want to use one index.html
22:30:05  <Raynos>for multiple examples
22:30:16  <Raynos>so it would be nice if it could inject the file i'm serving up
22:30:40  <chrisdickinson>ah, basically having an alias?
22:30:55  <chrisdickinson>like browservefy entry.js:bundle.js -- -d
22:31:02  <chrisdickinson>?
22:37:24  <isaacs>Raynos: yeah, ls is not savvy about the resolved being a git url, etc.
22:38:27  * mikolalysenkoquit (Ping timeout: 252 seconds)
22:38:49  <Raynos>isaacs: cool
22:39:08  <isaacs>Raynos: tha'ts a bug. patch welcome
22:39:09  <isaacs>probably not hard
22:39:20  <isaacs>i stash the _from and _resolved on package.json
22:39:36  <Raynos>chrisdickinson: not an alias. all I want is to add <script src="localhost:9090"></script> to index html, the rest is perfect
22:39:42  <isaacs>you could have it check if foo/bar has a _resolved of git://github.com/foo/bar#something and allow it
22:39:49  <Raynos>isaacs: I still need to get comfortable contributing to npm :D
22:39:56  <Raynos>the code is kind of hard to read
22:46:53  <isaacs>Raynos: liberation is difficult at furst.
22:47:00  <isaacs>(also, it's just not designed very well, and has a lot of ugly glue code)
22:47:12  <isaacs>but the style is intentionally weird, though very internally consistent.
22:47:17  <Raynos>i need to get comfortable with hackin on it at some point
22:47:21  <isaacs>yeah
22:47:23  <isaacs>it's good for your brain
22:47:34  <Raynos>i got good at hackin on airportyh/testem :D
22:50:57  * ryan_stevensjoined
22:51:34  <Raynos>defunctzombie: >:(
22:51:55  <defunctzombie>problem?
22:52:21  <Raynos>defunctzombie: https://github.com/shtylman/node-process/pull/1
22:52:25  <Raynos>ship it ship it ship it
22:52:46  <defunctzombie>browserify should just support the browser field :p
22:53:20  <defunctzombie>send substack the pull req for it, we will take it, I think it is trivial
22:54:19  <Raynos>thats not how it works >:(
22:54:22  <defunctzombie>Raynos: https://github.com/substack/node-browserify/blob/master/lib/wrap.js#L488
22:54:35  <defunctzombie>Raynos: substack and I have talked about the browser field
22:54:45  <defunctzombie>he will know what you are talking about
22:54:57  <defunctzombie>also, modules like "ws" have the browser field :)
22:55:16  <substack>yes I'm down with a "browser" field so long as the tests all still pass
22:55:30  <defunctzombie>\o/
22:56:17  * st_lukejoined
22:57:55  * evboguejoined
22:59:30  <Raynos>https://github.com/substack/node-browserify/pull/279
22:59:59  <defunctzombie>should the browser field win?
23:00:04  <defunctzombie>if both exist?
23:00:08  <Raynos>back compat
23:00:13  <Raynos>but i dont care
23:01:35  <Raynos>defunctzombie: anyway I need node-process to support browserify now :)
23:02:14  <defunctzombie>what is node-process?
23:02:21  <defunctzombie>oh.. haha
23:02:23  <defunctzombie>jesus
23:02:31  <defunctzombie>Raynos: patch your browserify version :p
23:02:52  <Raynos>>:(
23:02:55  <Raynos>no u
23:04:06  <defunctzombie>Raynos: why don't you just use a custom node-process until browserify is updated?
23:04:17  <Raynos>I am :D
23:04:20  <defunctzombie>Raynos/node-process :)
23:04:23  <Raynos>I am doing all of the above
23:04:28  <defunctzombie>hahaha
23:04:30  <Raynos>but I hate git dependencies :(
23:04:40  <Raynos>you should just fix your shit
23:05:28  <defunctzombie>my shit isn't broken :P
23:05:55  <defunctzombie>learn to love git dependencies
23:06:02  <defunctzombie>when people don't accept certain changes upstream
23:06:33  <defunctzombie>for example I run my own engine.io-client cause upstream doesn't bundle cleanly the way I like :)
23:09:56  * nk109quit (Quit: laters...)
23:09:57  <rvagg>hij1nx: when do we get to know what on earth Oqulr is? the name is driving me mad, I need to know what it's about
23:14:54  * nk109joined
23:35:49  * evboguequit (Read error: No route to host)
23:50:22  <defunctzombie>Raynos: with browser field stuff I have a version of engine.io which builds without their random hacks
23:56:58  <defunctzombie>Raynos: that assert tap lib you wrote.. the only thing I wish it did was provide a 'done' instead of an 'assert' parameter to the functions heh and then it would be a great little tap producing test runner that can be a drop in for anyone using mocha qunit with builtin assert
23:57:34  <substack>is it easy to shim that?
23:58:17  <substack>Raynos: looking at your browser field pull req I thought the browser field was an object mapping require paths to browser-specific files
23:58:23  <substack>doesn't seem as though your patch does that