[02:43] <ralsina> mandel: looks like growl is a good idea -- http://collect3.com.au/hiss/
[08:43] <JamesTait> Is it really...? It is! Happy Friday, everyone! :-D
[12:11] <mandel> lunch time in spain
[12:11]  * mandel lunch
[13:12] <ralsina> good late morning
[13:33] <alecu> Good even later morning
[14:11] <mandel> ralsina, do we have the mumble team meeting today?
[14:11] <ralsina> mandel: yes
[14:11] <mandel> ralsina, or is it moved to next week?
[14:11] <ralsina> mandel: today
[14:11] <mandel> ralsina, ack
[14:11]  * mandel does not write notes \o/
[14:11] <ralsina> mandel: saw this? http://collect3.com.au/hiss/
[14:12] <mandel> ralsina, the growl stuff, yes :)
[14:12] <ralsina> mandel: makes things easier :-)
[14:12] <mandel> ralsina, I saw you message this morning, and it does, we just say we support growl and let the user decide
[14:12] <ralsina> mandel: right
[14:17] <dobey> grr, twsited options parsing
[14:17] <mandel> ralsina, I know you will like this one: http://imgur.com/yofyo
[14:18] <dobey> lol
[14:19] <dobey> ralsina: oh, that hiss thing was disappointing. I was expecting an app which just made your speakers hiss all the time
[14:19] <ralsina> dobey: I can get you that
[14:19] <ralsina> dobey: give me a sec
[14:20] <ralsina> dobey: http://www.youtube.com/watch?v=ZPoqNeR3_UA
[14:20] <ralsina> mandel: haha
[14:21] <dobey> heh
[14:22] <dobey> ralsina: it would be great if that growl-forwarding app did that too, though
[14:22] <dobey> ralsina: would be a great troll.
[14:22] <ralsina> dobey: there's also a HD version but it's a bit short, only 1.2 hours :-)
[14:22] <dobey> especially for all the amateur-pro-audio people on macs
[14:23] <dobey> "where is this bloody hiss coming from?!"
[14:24] <ralsina> dobey: then you can sell a $5000 app to remove it
[14:24] <ralsina> or maybe rubber feet for the speakers
[14:24] <dobey> indeed
[14:27] <dobey> back to option parsing
[14:52] <mmcc> so are we doing mumble today or hangout?
[14:53] <mmcc> (also, good "morning")
[14:53] <ralsina> mmcc: good question. Anyone up to setting up the mumble in 7 minutes?
[14:53] <ralsina> oops, the hangout
[14:54] <mandel> ralsina, hangout or mumble?
[14:54] <ralsina> mandel: hangout if someone volunteers to do all the invites
[14:55] <ralsina> and/or setting up a recurring event which invites us all
[14:55] <mandel> ralsina, is one of this suations where it would be nice to create a desktop+ circle and sahre it with everyone and create an event :P
[14:55] <briancurtin> i'm on it right now. dobey, i think you wanted to use a contact method other than canonical email, right?
[14:55]  * mandel does not know how to do it but knows is possible :)
[14:55] <ralsina> briancurtin: thanks!
[14:58] <mmcc> briancurtin: what email are you using for me?
[14:58] <mmcc> briancurtin: I think michael.mccracken at gmail is easier. not sure what i have to set up for the other one to work
[14:59] <ralsina> briancurtin: use my roberto alsina at gmail too please
[14:59] <briancurtin> ok, adding everyone now
[15:01] <dobey> oh, oops
[15:01] <dobey> was coding
[15:01] <briancurtin> dobey: i just added the account which came up with autocomplete for you. if you have something else i'll add
[15:01] <dobey> oh are we doing hangout?
[15:01] <briancurtin> yeah we have a few people in already
[15:01] <dobey> ok
[15:02] <alecu> briancurtin: did you use alecura@gmail.com to invite me?
[15:02] <briancurtin> alecu: i did now
[15:03] <ralsina> I don't seem to have gotten invites or anything
[15:03] <briancurtin> ralsina: invited again
[15:04] <briancurtin> roberto.alsina@gmail
[15:04] <dobey> i love how technology never works right
[15:04] <ralsina> got it
[15:05] <ralsina> dobey: if it did, we would be homeless and unemployed
[15:05] <ralsina> dobey: and subject to the whims o our robot overlords
[15:11] <mmcc> hrm, my audio is intermittent...
[15:11] <briancurtin> mmcc: let me know if you want me to re-add or something. your screen went black
[15:12] <mmcc> i turned my video off to try to get better audio
[15:12] <mmcc> right, no PPC
[15:14] <mmcc> and it writes to the console for each memory leak!
[15:17] <briancurtin> mmcc: what's up on packaging
[15:17] <ralsina> packaging
[15:28] <dobey> i nearly have a refactor of dev-tools done as well, to make it possible to add a different test runner that doesn't use twisted, and fix some of the test cases to not use twisted
[15:33] <mandel> f**k, I nearly broke the mobile phone!
[15:35] <ralsina> dobey: awesome!
[15:43] <ralsina> Is that meeting now scheduled or each week or we need to re-invite every time?
[15:43] <ralsina> also, we need to invite joshua
[15:43] <briancurtin> ralsina: i'll set it up to be scheduled
[15:43] <ralsina> briancurtin: on thursdays, please :-)
[15:45] <dobey> so hangouts from now on?
[15:45] <dobey> vs. mumbles?
[15:46] <ralsina> dobey: yes, they seem to work better
[15:46] <ralsina> dobey: we can switch back if needed
[15:46] <dobey> ok
[15:46] <dobey> well, i'm off to get lunch for now. bbiab :)
[15:46] <ralsina> bon appetit!
[16:21] <mandel> ok, weekend time for me :)
[16:21] <mandel> see you all on monday!
[16:22] <ralsina> bye mandel!
[16:23] <mmcc> bye mandel
[16:36] <mmcc> hrm, windows u1-client test suite had two failures on one run, then 0 failures on a repeat. failures were these: http://paste.ubuntu.com/1114071/
[16:37] <mmcc> they look unrelated to my change, so maybe system load related?
[16:37]  * mmcc is uneasy with intermittent test failures
[16:38] <mmcc> running a third time for consensus
[16:38] <briancurtin> weird...
[16:46] <mmcc> ok, two out of three executions agree: the tests pass.
[16:46]  * mmcc still uneasy
[17:14] <mmcc> dobey: care to take a look at https://code.launchpad.net/~mikemc/ubuntuone-client/fix-1029636/+merge/117099
[17:17] <dobey> +1
[17:19] <mmcc> thanks!
[17:20] <mmcc> anyone else have time for a quick review? ⤴
[17:21] <briancurtin> mmcc: what's up
[17:21] <mmcc> briancurtin: looking for reviewers for this namespace fix above, fixes the reactor import issue
[17:26] <mmcc> actually, wait on that. I'm going to add a test that will break if anything needed by control-panel installs a reactor
[17:26] <briancurtin> k
[17:28] <ralsina> mmcc: cool!
[17:32] <mmcc> brb
[17:37] <dobey> hrmm, not sure how to solve this (i think) last options parsing issue
[18:16] <dobey> anyone got a minute to help with a python conundrum?
[18:16] <briancurtin> dobey: what's up
[18:17] <ralsina> dobey: sure
[18:17] <dobey> trying to deal with the custom options parsing in twisted, in a generic way. so i wrote a bit simpler implementation of it in dev-tools for the refactoring
[18:17] <dobey> but i'm not sure how to make all the options immediately available, and work all the time
[18:23] <alecu> dobey: are you using some library to parse the options? I'm sure you know about configglue, right?
[18:24] <dobey> alecu: i can't use configglue; trial has a custom options parser, and we have to override a few of those options, so we have to have a compatible options parser
[18:24] <dobey> the hierarchy looks a bit like this: http://pastebin.ubuntu.com/1114267/
[18:25] <alecu> dobey: oh I supposed you *were* getting rid of trial in order to get rid of twisted in devtools
[18:26] <dobey> alecu: i am making it possible to use devtools without trial, but we still must have some things available for syncdaemon/etc stuff which does need trial/twisted
[18:26] <dobey> so i'm abstracting the runner/options stuff out
[18:26] <alecu> dobey: oh, right.
[18:26] <dobey> i suppose it would be possible to go back to the old way of doing things, and not exposing all the options of trial; but that kind of sucks
[18:27] <alecu> ok guys, I need to change offices. I'll be back in an hour or so.
[18:27]  * alecu brbs
[18:30] <dobey> and still doesn't really help with the hierarchy/abstraction problem, to have different options for different runners
[18:38] <mmcc> Laptop died, so it's lunchtime for me...
[18:40]  * briancurtin lunch
[19:03] <dobey> hack hack hackety hack
[19:11]  * briancurtin back
[19:14] <dobey> whee
[19:21] <briancurtin> awesome. months after telling my girlfriend to back up her hard drive, it seems like it just died.
[19:23] <ralsina> briancurtin: pfft. My son just lost all his achievements on plants vs zombies
[19:23] <ralsina> AND ALL THIS HAPPENS ON SYSADMIN DAY!
[19:23] <ralsina> Coincidence? Conspiracy? You be the judge!
[19:24] <dobey> hurrah hurrah
[19:25] <dobey> ralsina: sounds more like robots vs. humans
[19:26] <dobey> in other news, i just proposed my unfortunately large refactor branch of dev-tools
[19:29] <dobey> https://code.launchpad.net/~dobey/ubuntuone-dev-tools/runner-refactor/+merge/117122
[19:29] <dobey> please review
[19:32] <dobey> brb; gotta run for a few
[19:33] <ralsina> dobey: looking
[19:34] <ralsina> unfortunately large it sure is
[20:03] <briancurtin2> i'll be back in a bit, i need to run some important errands. i'll be around a while later
[20:07] <dobey> ralsina: yep
[20:35] <alecu> dobey: it's reasonably large for all it does
[20:37] <dobey> hola alecu :)
[20:40] <mmcc> Is there a TestCase class that has patch but isn't from twisted? I don't really need twisted for this test…
[20:41] <dobey> mmcc: testtools i think (and maybe the newer unittest bits)
[20:42] <dobey> mmcc: yeah, testtools.testcase has a TestCase with patch()
[20:43] <mmcc> dobey: yeah I saw that dirspec used it, but does any of ubuntuone-client use it? or would I be adding a dependency on testtools just to avoid using twisted?
[20:43] <dobey> mmcc: well, more will use it soon i guess :)
[20:44] <mmcc> dobey: oh, because of py3? hmm.
[20:44] <ralsina> dobey: we will get a python3 trial before we start the u1-client port to py3
[20:44] <ralsina> dobey: so that should not be a reason
[20:45] <dobey> ralsina: but not before sso
[20:45] <ralsina> dobey: yes
[20:45] <ralsina> dobey: but this is in u1-client
[20:45] <dobey> ralsina: "py3" isn't the reason here, either
[20:45] <dobey> mmcc: you should probably just use the BaseTestCase from ubuntuone-dev-tools
[20:46]  * ralsina prefers to be told the reason instead of the no-reason ;-)
[20:46]  * briancurtin2 back
[20:46] <dobey> ralsina: well, not using APIs we don't need to use, is a good reason to not use them :)
[20:46] <ralsina> dobey: but in this case we are using the same APIs just from two different places? Unless I am missing bits.
[20:47] <dobey> ralsina: and we need non-twisted test running stuff anyway because qtreactor not maintained
[20:47] <ralsina> dobey: that's a much better point
[20:47] <ralsina> and adding a dependency on testtools is not horrible wither
[20:47] <ralsina> either*
[20:48] <dobey> ralsina: which is why i now said to just use the test case from devtools. because then it doesn't matter either way, and when it's switched to not use twisted, so will everything that uses it (as they probably shouldn't need twisted either generally speaking)
[20:48] <ralsina> dobey: good!
[20:48] <dobey> well we already have a dependency on testtools as well, if only by proxy for u1-client at the moment
[20:48]  * ralsina rubberstamps it
[20:51] <mmcc> ok, so I'm using devtools.testcases.BaseTestCase, and my question now is: do I need to have setUp be an @inlineCallbacks generator and yield super(blah).setUp()? txcheck is complaining, but I didn't think I needed inline callbacks if I'm not using deferreds in the test case
[20:51] <dobey> mmcc: if you override setUp or tearDown, and the mro has the trial TestCase in it, you need that, yes
[20:52] <ralsina> mmcc: yes, setUp is always inlinecallbacks unless you are horribly sure you are never going to have to inherit it and use a deferred
[20:52] <dobey> mmcc: because twisted expects deferreds from the setUp/tearDown, otherwise they don't get run properly
[20:54] <mmcc> ok, cool. In this case, my test is supposed to fail if the code under test imports twisted, so I was pretty sure it wasn't going to be necessary, but I think it's not a problem to use it for the test class
[20:54] <ralsina> mmcc: worst, it *seems* to work and fails in bizarre ways later, sometimes
[20:54] <mmcc> fun!
[20:56] <dobey> mmcc: hrmm, i'm not sure how that will work, running inside code where a twisted reactor is already running
[21:01] <mmcc> dobey: I'm not 100% sure either but the plan is to override __import__, then import the stuff in platform and just die if it tries to import reactor.
[21:02] <dobey> ah ok
[21:14] <alecu> dobey: why is ".pc" excluded by pep8 in run-tests ?
[21:14] <ralsina> dobey: +1 your branch looks good to me
[21:16] <mmcc> anyone know why syncdaemon's action_queue uses a ubuntuone.platform.platform instead of sys.platform?
[21:16] <briancurtin2> ew
[21:16] <dobey> alecu: ah, because it's a directory in the source for the .deb packages, when there are patches, and if we have a patch that fixes a pep8 issue for example, it will still check the files in .pc (which has a copy of the original), and fail.
[21:17] <dobey> alecu: so i figure we should probably add it to all our projects, and i started here :)
[21:17] <mmcc> in platform.__init__ we're setting it to "win32" or "linux" … so, does it need to be "linux" instead of linux2 for some server-side reason? (It's used in authenticate()
[21:18]  * mmcc goes to annotate
[21:19] <dobey> is it a module or a string?
[21:19] <dobey> if it's a string, i guess maybe someone got abstract-o-happy
[21:20] <mmcc> it's a string. diego added it in the platform refactoring from around when I joined
[21:21] <alecu> dobey: great then
[21:23] <mmcc> hrm. at one point it was a platform.get_platform() call
[21:23] <dobey> alecu: added that to the commit message too. thanks for the reminder
[21:29] <alecu> dobey: may I ask you for tests for the new code?
[21:32] <dobey> alecu: perhaps in a separate branch, as this one is already so large?
[21:35] <alecu> dobey: if you can open a new bug for that, no problem.
[21:36] <mmcc> ralsina, et al - I wasn't sure who to ask about how important it is that the server is being sent "linux" instead of "linux2" so I filed a bug: https://bugs.launchpad.net/ubuntuone-client/+bug/1030145
[21:36] <dobey> alecu: sure
[21:37] <mmcc> I'd like to just nuke that platform.platform constant and send the server sys.platform but I don't know where it's being used on the other side
[21:37] <mmcc> and I want to finish the other thing I was doing too :)
[21:37] <ralsina> mmcc: I suspect we are using that on the server side for statistics and nothing else
[21:37] <ralsina> mmcc: in any case, not all that urgent, it can wait for diego's return if he's the one that put it there
[21:38] <mmcc> ralsina: ok.l I assigned you the bug, so bounce away :)
[21:38] <ralsina> boing!
[21:39] <ralsina> And EOW for me
[21:46] <dobey> whee, lightning, and rain
[21:46] <dobey> reminds me of that one threebrain song
[21:52] <alecu> mmcc: re "linux" vs "linux2", we should ask in #u1-internal, to see if it's being used already in some statistics
[21:53] <alecu> mmcc: the thing is that if we change that going forward, it means that older clients will still send the older string, so we would have to adjust current statistics (if they already exist) and/or take into account this for all future stats.
[21:54] <alecu> mmcc: so I'm -0 that change...
[21:54] <dobey> i think we should change it, but that we should send something more like a User-Agent string than just the platform or whatever
[21:59] <mmcc> right now it sends a version string and a platform.
[22:01] <mmcc> but ralsina assigned it to diego, so…
[22:01] <mmcc> I'm going to leave it be :)
[22:07] <dobey> alright all, have a good weekend!
[22:48] <mmcc> ok, I give up on that test. the module under test is imported before the test, so I can't add a hook to catch its import from within the test code. and since trial uses reactors I can't just fail the test if reactor is in sys.modules after I import it…
[22:49] <mmcc> so if anyone is still around and wants a fast review, see https://code.launchpad.net/~mikemc/ubuntuone-client/fix-1029636/+merge/117099
[22:49] <mmcc> and I'm out.