13:42:16 <banas> #startmeeting GlitterGallery GSoC Coding KickOff
13:42:16 <zodbot> Meeting started Wed May 20 13:42:16 2015 UTC.  The chair is banas. Information about MeetBot at http://wiki.debian.org/MeetBot.
13:42:16 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
13:42:50 <banas> #topic Rollcall
13:43:00 <sonalkr132> here!
13:43:00 <banas> .hellomynameis sarupbanskota
13:43:01 <zodbot> banas: sarupbanskota 'Sarup Banskota' <sbanskota08@gmail.com>
13:43:41 <banas> sonakr
13:43:47 <banas> what's your FAS id?
13:43:53 <sonalkr132> sonalkr132
13:43:54 <banas> just do .hellomynameis ID
13:44:13 <sonalkr132> .hellomynameis sonalkr132
13:44:21 <sonalkr132> .hellomynameis sonalkr132
13:44:22 <zodbot> sonalkr132: sonalkr132 'Aditya Prakash' <aditya.prakash132@gmail.com>
13:44:29 <sonalkr132> yay! it works
13:44:50 <sonalkr132> anyway! in name of keeping it quick and short
13:45:03 <banas> great, moving on
13:45:12 <sonalkr132> I am working on exploration page but I am stuck.
13:45:16 <banas> #topic Fedora GSoC stuff
13:45:22 <banas> yep, before we get to that
13:45:51 <sonalkr132> yeah.. before that?
13:45:56 <banas> sonalkr132: is the planet thing set up?
13:46:04 <banas> you need me to add you to my .planet right?
13:46:34 <sonalkr132> yup! if you want to be added to summer coding then you would need to get your application approved first
13:46:47 <banas> #action banas Add sonalkr132's blog to planet
13:47:03 <banas> nah, that won't be needed, I'll add you to the main planet itself :)
13:47:22 <banas> just need you to be on some planet, so the community knows what you're up to
13:47:42 <sonalkr132> okay. thats cool. let me know when you have done it. I will set up things on my side after that.
13:47:46 <banas> #action sonalkr132 send banas an email with the rss feed link to the blog with the right category
13:48:26 <banas> and the next thing, please remember to be at the infra meeting tomorrow.
13:48:49 <sonalkr132> yeah I will. actually it is not on fedora-admin as you said
13:48:50 <banas> #info #fedora-admin meets Thursdays at 11.30pm IST
13:49:01 <banas> was it fedora meeting then?
13:49:05 <banas> #undo
13:49:05 <zodbot> Removing item from minutes: INFO by banas at 13:48:50 : #fedora-admin meets Thursdays at 11.30pm IST
13:49:30 <sonalkr132> check this https://fedoraproject.org/wiki/Infrastructure
13:49:30 <banas> #info fedora-admin meets Thursdays #fedora-meeting at 11.30pm IST
13:49:52 <sonalkr132> both wiki and log of meetings say that it was on fedora-meeting
13:50:10 <banas> yup, sorry I got it wrong, now you know
13:50:17 <sonalkr132> I will make sure I am there. I am already feeling bad enough that I missed last two. I didn't know it was necessity.
13:50:27 <banas> no worries.
13:50:42 <sonalkr132> thanks for letting me know.
13:50:43 <banas> so that's with the fedora stuff
13:50:56 <banas> is there any google specific stuff you need help with?
13:50:58 <sonalkr132> I guess so.
13:51:30 <sonalkr132> not really. we can more on to important stuff now
13:51:34 <sonalkr132> move*
13:51:37 <banas> cool.
13:51:44 <banas> #topic Status Update
13:51:57 <banas> so what are you working on currently?
13:52:28 <sonalkr132> Exploration page but as I mentioned I am stuck
13:53:18 <sonalkr132> I have pushed the part where user is able to add stars and projects also have field for average starts from all users.
13:53:51 <sonalkr132> I also have the ajax call of dropdown of sorting working locally.
13:54:09 <banas> right, these stars are like a rating as opposed to a bookmark?
13:54:21 <sonalkr132> Let me know if following sorting categories are enough (or if I need to drop any of them):
13:54:45 <sonalkr132> - no of followers
13:54:49 <sonalkr132> - no of forks
13:55:39 <sonalkr132> - average star given by users project (where no of users who gave rating > 10)
13:55:42 <banas> yep, what's more important - we need last updated, last created, so on
13:56:00 <sonalkr132> - activity ( most comments and issues closed in last 10 days)
13:56:05 <banas> sort by creation date and updated date.
13:56:18 <sonalkr132> okay I will add that add weel
13:57:27 <banas> great. so what were you stuck with? was it something implementation specific?
13:59:29 <sonalkr132> sorry I got disconnected
13:59:35 <sonalkr132> Did I miss anything?
13:59:46 <banas> not really, i asked what you were stuck with
13:59:51 <banas> and then i think your connection broke
14:00:11 <sonalkr132> Do you understand what of stars  have added?
14:00:15 <sonalkr132> kind of*
14:00:33 <sonalkr132> Do you understand what kind of stars I have added?
14:01:30 <banas> from what I understood - i can give no of stars to a project depending on how much i "like" it
14:01:40 <sonalkr132> yup
14:01:46 <banas> and then you do an average off all the stars a project has received
14:02:12 <sonalkr132> yeah. Actually I forked one of that PR on the gem I am using.
14:02:53 <sonalkr132> I patched a few things there and right now I using the gem directly from my repo. I hope that won't be a problem
14:03:08 <banas> nah, as long as it gets the work done :)
14:03:44 <sonalkr132> it is working fine. besides it is very small, if anything comes up, I am sure I can fix it
14:03:50 <sonalkr132> now being stuck part
14:03:51 <banas> great
14:04:12 <sonalkr132> No matter how I think of doing shorting it is going to take a lot of time
14:05:09 <banas> shouldn't that problem only arrive when we have a considerable no of projects?
14:05:30 <sonalkr132> for ex: no of followers..
14:05:54 <sonalkr132> we first find all the projects and then perform sorting on that array on followers count
14:06:23 <sonalkr132> it goes to each project and finds numbers of followers, each query taking on an avg of 0.3 ms
14:06:41 <sonalkr132> so for just 1000 projects it will take 3 seconds
14:07:34 <sonalkr132> same happens with no of fork.
14:08:00 <banas> quick question - are you not storing the no of followers somewhere?
14:08:21 <sonalkr132> no. but that is one of the possible solution
14:08:46 <sonalkr132> we add a cache cloumn of followers count in projects table
14:09:11 <banas> yep, that's the first thing to do, before attempting to improve querying time
14:09:12 <sonalkr132> I would say we can do that if problem was over with that. Coming to no of forks!
14:09:30 <sonalkr132> ancesty has this method node.descendants.count
14:10:15 <sonalkr132> but that works only on objects and not on class, so once again needs to find all the projects first and then sort them with and each do loop
14:10:57 <sonalkr132> I guess we can store no of forks in another column as well, so far we have added two such cache columns
14:11:49 <banas> yep
14:11:51 <sonalkr132> moving on to avg stars, which again can work only on objects and not class itself. so we add third cache column.
14:12:19 <sonalkr132> So i should just keep adding cache columns wherever I need them?
14:13:49 <banas> i think that's the first thing to do, unless we hit some complex slow query problem - but we aren't there yet so I would rather not optimize before the problem shows up :)
14:14:44 <sonalkr132> Wouldn't the project table be just too big
14:15:08 <banas> i think.. that's expected, it certainly isn't too big yet
14:15:54 <banas> so let's stick to adding more columns for now :)
14:16:06 <sonalkr132> okay. btw whenever association comes up in sorting we have two solutions (as far as I know)
14:16:52 <sonalkr132> we can either form a table join (no storing of count in db, however kinda slow)
14:17:13 <sonalkr132> or we just add that cache column again (storing in db but faster).
14:17:58 <sonalkr132> most of sorting category we define will be going through association
14:18:41 <sonalkr132> for ex:  avg stars through rating, no of issues through issues, no of followers through followers
14:19:14 <banas> essentially, you want to avoid storing something in a db if it's stored somewhere else already. or, if an operation can be done quickly enough to not requore storing. anything else and you can take the liberty of using another column
14:20:13 <sonalkr132> It can be avoided but it will be slow. which can be further dealt with cron jobs
14:21:08 <banas> yep
14:21:24 <banas> what else is left to discuss? it'd be great if you could start an email thread about this
14:21:26 <sonalkr132> I guess it finally comes to 'sorting with no cache columns and cron jobs' or 'sorting with cache columns'
14:21:44 <banas> with paul and emily, so everyone's opinions can be factored in
14:21:51 <sonalkr132> okay. I will ask other about this too.
14:22:09 <sonalkr132> I was going to take up authorization
14:22:21 <banas> i personally feel the extra columns won't be too expensive in this case, but let's also see what the others have to see
14:22:27 <banas> cool.
14:22:44 <banas> is the tagging PR ready to merge? the demo looked fine to me.
14:23:24 <sonalkr132> Yes, except that xss PR and exploration page, all are ready to merge
14:24:00 <banas> alright, cool
14:24:10 <banas> how about this one? https://github.com/glittergallery/GlitterGallery/pull/296
14:24:27 <sonalkr132> You should probably start with ajax comment one tho. If there is any merge conflict it will be easier for me to solve them from oldest to newest
14:24:35 <banas> alright cool
14:24:38 <banas> i'll do one thing
14:24:54 <banas> later tonight (or tomorrow night - i'llbe traveling during the day)
14:25:02 <banas> i'll ping you and lets get stuff merged
14:25:24 <sonalkr132> yeah sure.
14:25:31 <banas> and I'll also review your Pivotal and assign you with stuff
14:25:46 <banas> alright, great
14:25:52 <banas> let's call it a wrap for now?
14:26:30 <sonalkr132> yeah for now! We need to figure out a lot of things. I had to write down all the things I need to ask so that I don't forget
14:26:59 <banas> cool :) and remember to blog about your progress.
14:27:07 <banas> see you around then. bye!
14:27:11 <banas> #endmeeting