The issue with this data is that who says something is not a good metric. For example, this shows that I attended more than twice as many afternoon meetings as the morning meetings when I know I actually only missed a couple of morning ones. I just don't say anything unless there is something that I feel I need to comment on.
On Wed, Jan 13, 2016 at 12:02 AM, IWAMOTO Toshihiro <iwam...@valinux.co.jp> wrote: > At Tue, 12 Jan 2016 17:28:19 -0600, > Doug Wiegley wrote: > > > > I don’t think it ninja merged. It had plenty of reviews, and was open > during international hours. I don’t have any issue there. > > > > I don’t like the crazy early meeting, so I set out to prove it didn’t > matter: > > > > Average attendance before rotating: 20.7 people > > Average attendance on Monday afternoons (U.S. time): 20.9 > > Average attendance on Tuesday morning (U.S. time): 23.7 > > > > Stupid data, that’s not what I wanted to see. > > > > I haven’t yet correlated people to which meeting time yet, but > attendance was slightly up during the crazy early hated time, across the > 1.25 years it was running (started 9/9/14). This is just people saying > something; lurkers can just read the logs. > > > > Data is from eavesdrop meeting logs, if anyone else wants to crunch it. > > Overall attendance isn't a great metric. Actually, the population > does differ with meeting times. Those who mostly attend only in one > of the two timeslots are: > > $ python a.py > Sukhdev 6/23 17/22 > ajo 22/23 4/22 > obondarev 10/23 0/22 > vikram 7/23 0/22 > kevinbenton 9/23 22/22 > ihrachyshka 13/23 1/22 > Swami 0/23 8/22 > (Legend: <irc nick> <attendance at 14UTC> <attendance at 21UTC>) > > The script is at bottom just in case if anyone cares. ;) > > > Thanks, > > doug > > > > > > > On Jan 12, 2016, at 4:32 PM, Tony Breeds <t...@bakeyournoodle.com> > wrote: > > > > > > On Tue, Jan 12, 2016 at 01:27:30PM +0100, Ihar Hrachyshka wrote: > > >> Agreed with Gary on behalf of my European compatriots. (Note that I > > >> *personally* +1’d the patch because I don’t mind, doing late hours > anyway; > > >> but it’s sad it was ninja merged without giving any chance for those > from > > >> affected timezones to express their concerns). > > > > > > So Ninja merged has a negative connotation that I refute. > > > > > > I merged it. It was judgment error, and I apologise for that. > > > > > > * I found and read through the list thread. > > > * Saw only +1's yours included > > > - known you'd be affected I used your +1 as a barometer > > > > > > My mistake was not noticing your request to leave the review open for > longer. > > > > > > I also noted in my review that reverting it is pretty low cost to back > it out > > > if needed. > > > > > > I understand that the 'root cause' for this change was the yaml2ical > issue that > > > stemmed from having 2 odd week in a row. We've fixed that [1]. I'm > also > > > working a a more human concept of biweekly meeting in yaml2ical. > > > > > > Tony > > > [1] the next time it could have been a problem is 2020/2021 ;P > > #!/usr/bin/python > import os > import re > > from scipy.stats import binom_test > > # Run the following before executing this: > # $ wget http://eavesdrop.openstack.org/meetings/networking/2015/ > # $ for f in `sed -n '/[^g].txt"/ s/.*href=.\([^"]*\)*".*/\1/p' > index.html ` ; do wget > http://eavesdrop.openstack.org/meetings/networking/2015/$f; done > > fname_re = re.compile('-(\d\d)\.\d\d\.txt$') > person_re = re.compile('^\* (.*[^_])_* \(\d+\)$') > > count = {} > freq = {} > for f in os.listdir('.'): > m = fname_re.search(f) > if not m: > continue > hour = m.group(1) > if hour not in freq: > freq[hour] = {} > count[hour] = 0 > count[hour] += 1 > f1 = freq[hour] > with open(f) as ff: > while True: > l = ff.readline() > if l.startswith('People present'): > ll = ff.read().splitlines() > break > if not l: > raise Exception("Error reading %s" % f) > for l in ll: > m = person_re.match(l) > if m: > name = m.group(1) > f1[name] = f1.get(name, 0) + 1 > > assert set(freq.keys()) == set(['14', '21']) > people = set(freq['14'].keys()) | set(freq['21'].keys()) > total = count['14'] + count['21'] > c14 = count['14'] > c21 = count['21'] > > sig_lvl = .05 > for n in people: > f14 = freq['14'].get(n, 0) > f21 = freq['21'].get(n, 0) > p = float(f14 + f21) / total > if binom_test(f14, c14, p) < sig_lvl or binom_test(f21, c21, p) < > sig_lvl: > print("%s %d/%d %d/%d" % (n, f14, c14, f21, c21)) > > __________________________________________________________________________ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > -- Kevin Benton
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev