fluid-tech IRC Logs-2012-11-05

fluid-tech IRC Logs-2012-11-05

[12:45:21 CST(-0600)] <Bosmon2> yura and I are talking about his "base config"

[12:45:27 CST(-0600)] <Bosmon2> Which he continues to insist on doing in private chat : P

[12:45:54 CST(-0600)] <yura> wow , i never insisted

[12:46:06 CST(-0600)] <Bosmon2> Well, I already asked you to move to the channel once

[12:46:32 CST(-0600)] <yura> Bosmon2: so yes

[12:46:39 CST(-0600)] <yura> loading multiple base configs

[12:46:42 CST(-0600)] <Bosmon2> yura has moved our defaults and demands blocks into a fully declarative form

[12:46:44 CST(-0600)] <yura> for every little thing

[12:47:13 CST(-0600)] <Bosmon2> But it seems clear that, although we plan to not implement a "conditional includes system" as far as possible, we will still need an "includes system"

[12:47:30 CST(-0600)] <Bosmon2> Similar to the "modules system" which we have also not invented

[12:47:47 CST(-0600)] <Bosmon2> But given that there isn't any node equivalent for this at all, we will have to at least do SOMETHING

[12:47:48 CST(-0600)] <yura> ok

[12:48:04 CST(-0600)] <yura> so we already have a require configs for our test environment

[12:48:06 CST(-0600)] <Bosmon2> Some kind of JSON file listing the location of declarative dependencies in other JSON files

[12:48:07 CST(-0600)] <yura> something similar

[12:48:08 CST(-0600)] <yura> ?

[12:48:41 CST(-0600)] <Bosmon2> yura - something similar, yes

[12:50:01 CST(-0600)] <yura> well there's a tricky part

[12:50:38 CST(-0600)] <yura> Bosmon2: lets say i have a config that includes other ones, what if they are needed not in their entirety

[12:50:39 CST(-0600)] <yura> ?

[12:50:45 CST(-0600)] <yura> but only demands lets say

[12:56:09 CST(-0600)] <yura> Bosmon2: ^

[13:49:37 CST(-0600)] <Bosmon> Sorry, somehow I am not getting notifications on the other nick

[13:50:03 CST(-0600)] <Bosmon> yura - the idea of "not being needed in their entirety" is as we noted last week "anti-religious" : P

[13:51:10 CST(-0600)] <yura> btu you are talking about demands

[13:51:18 CST(-0600)] <yura> we have more than just demands in those files

[13:51:24 CST(-0600)] <Bosmon> yura - in which files

[13:53:50 CST(-0600)] <yura> in all files pretty much

[13:54:14 CST(-0600)] <Bosmon> Can you be more specific

[13:54:25 CST(-0600)] <Bosmon> Bosmon2: lets say i have a config that includes other ones, what if they are needed not in their entirety

[13:54:32 CST(-0600)] <Bosmon> I believe we are still dealing with this issue

[13:54:44 CST(-0600)] <Bosmon> What might be the risk of including "too much configuration"?

[13:54:55 CST(-0600)] <yura> sure

[13:56:20 CST(-0600)] <yura> for example https://github.com/yzen/universal/blob/GPII-43/gpii/node_modules/preferencesServer/configs/base.json

[13:57:08 CST(-0600)] <Bosmon> This one looks ok

[13:57:52 CST(-0600)] <yura> i guess it does

[13:58:35 CST(-0600)] <yura> Bosmon: ok i cant find an example i was thinking before

[13:58:57 CST(-0600)] <yura> but then what would you suggest should be the mechanism for finding and including those configs?

[13:59:04 CST(-0600)] <Bosmon> We just need a way to modularise our demands blocks into separate files that is at least as good as the one we had before when they were in in .js files : P

[13:59:09 CST(-0600)] <yura> a new "includes" structure in config ?

[13:59:10 CST(-0600)] <Bosmon> We don't need anything magically better than that

[13:59:18 CST(-0600)] <Bosmon> yura - yes, something like that

[13:59:33 CST(-0600)] <yura> ok ill take a look

[14:01:49 CST(-0600)] <yura> oh ok here's the question

[14:02:00 CST(-0600)] <yura> so my base.json that includes all demands

[14:02:10 CST(-0600)] <yura> would otherwise load them from includes block

[14:02:20 CST(-0600)] <yura> but it will also include options block

[14:02:42 CST(-0600)] <yura> which might have too many options if all of them will be merged

[14:03:27 CST(-0600)] <Bosmon> I thought the idea behind "base" was to only include those things which were valid in all configurations

[14:05:29 CST(-0600)] <yura> alright

[14:05:38 CST(-0600)] <yura> makes sense

[14:07:14 CST(-0600)] <Bosmon> Whilst our demands block system is still broken, we'll always need to do a bit of "include juggling" - but we should try to make it as little as possible

[15:00:15 CST(-0600)] <yura> so Bosmon does it mean that with include section i do not need base.json anymore ?

[15:00:40 CST(-0600)] <Bosmon> yura - it may, depending on how you have laid it out : P

[15:00:40 CST(-0600)] <yura> and by that i mean i can just include it instead of manually looking it up

[15:00:56 CST(-0600)] <Bosmon> You mean the convention of looking for a file named base.json?

[15:01:05 CST(-0600)] <yura> ya

[16:14:41 CST(-0600)] <yura> Bosmon: please let me know what you think of this https://github.com/yzen/universal/commit/8ade10defc4dc337ab6fc6a2cf358d7907217494

[16:16:17 CST(-0600)] <Bosmon> yura - looks reasonable

[16:16:22 CST(-0600)] <Bosmon> What's the state of the "giant base.json"?

[16:17:05 CST(-0600)] <yura> well i did not want to touch it until you see this part

[16:17:13 CST(-0600)] <yura> but it will be similar

[16:17:23 CST(-0600)] <Bosmon> This so far looks broadly rational

[16:17:38 CST(-0600)] <Bosmon> THe duplication in the demands JSON files is regrettable but I guess necessary

[16:17:51 CST(-0600)] <Bosmon> Well

[16:17:54 CST(-0600)] <Bosmon> Actually they are not demands

[16:18:17 CST(-0600)] <Bosmon> But I guess you can't get merging done - UNLESS you go with the grade-based idea I mentioned before

[16:18:39 CST(-0600)] <Bosmon> YOu could simply define the material that used to be in base.json as a grade named gpii.basePreferencesServer

[16:18:46 CST(-0600)] <Bosmon> or some similar name

[16:18:53 CST(-0600)] <yura> yes

[16:18:54 CST(-0600)] <yura> ok ill try to finish it and will let you know

[16:18:55 CST(-0600)] <Bosmon> And then you could refer to that as a base grade in the separate json files

[16:19:12 CST(-0600)] <yura> thanks ill take a look