[00:11] <mmcc> dinner time - see everyone later
[00:22] <karni> Night all o/
[01:53] <dobey> anyone around?
[01:58] <ralsina> dobey: I am now
[01:58] <ralsina> dobey: need reviews?
[01:59] <dobey> ralsina: https://code.launchpad.net/~dobey/ubuntuone-storage-protocol/fix-pep8/+merge/111986
[01:59] <dobey> trivial
[01:59] <ralsina> dobey: on it
[01:59] <dobey> thanks
[02:00] <ralsina> dobey: global +1
[02:00] <ralsina> dobey: pep8 complains of != None now?
[02:03] <dobey> yep
[02:03] <dobey> the version in Q does
[02:14] <ralsina> nice, it's an old pet peeve of mine. Almost the only proper usage of is in python.
[05:41] <karni> Good morning o/
[08:38] <kazade> morning aquarius - you got a couple of mins for some U1DB questions? :)
[08:38] <aquarius> kazade, heya! Go for it; I'll be in and out 'cos I'm sprinting, but I'll try and answer as quickly as I can
[08:39] <kazade> ok, well, I kinda fell at the first hurdle..
[08:39] <kazade> If I have to include U1DB in my app... which is a C module - that's gonna complicate things isn't it :)
[08:39] <kazade> I guess my packaging just got more complicated :p
[08:40] <kazade> anyway, this is what I'm writing: http://i.imgur.com/tYIhX.png
[08:40] <aquarius> ah, you don't need the C version
[08:40] <kazade> oh!
[08:40] <aquarius> you can use the reference implementation, which is Python :)
[08:40] <kazade> ah!
[08:40] <kazade> could you point me at it?
[08:41] <kazade> hmm, this: http://people.canonical.com/~aquarius/u1db-docs/reference-implementation.html points me at lp:u1db
[08:41] <aquarius> lp:u1db contains everything, including the reference Python version...
[08:41] <aquarius> it does :)
[08:41] <kazade> ok, I should've spent more time looking through the folders
[08:42] <kazade> OK that's awesome - now the fun part of moving from Sqlite -> U1DB :/
[08:43] <aquarius> that's a reasonably big change, indeed, because U1DB is not the same kind of database at all
[08:43] <kazade> yeah, luckily I've used non-rel before (on Google AppEngine)
[08:43] <kazade> well... I use it every day :p
[08:43] <aquarius> I'd put each task in one document, I think :)
[08:44] <kazade> yep :)
[08:44] <kazade> one more thing..
[08:45] <kazade> the docs mention running a server..
[08:45] <kazade> do I need to do that to use it?
[08:45] <kazade> I'm guessing this: db = u1db.open(":memory:", create=True) isn't persistent..
[08:47] <aquarius> you don't need to run a server at all, no
[08:47] <aquarius> indeed, opening :memory: is not persistent :)
[08:47] <aquarius> if you specify a real file name there then it'll persist
[08:47] <aquarius> the server is for syncing to
[08:47] <aquarius> (or from)
[08:47] <aquarius> you can run the reference server in order to test your syncing code, when you get to that point
[08:48] <kazade> ok, I'll start by just storing it in a file and then tackle the syncing part
[08:48] <aquarius> (it may be easier than testing against the live Ubuntu One server, firstly because you can moe easily see the results, and secondly because the refernce server doesn't need authentication :))
[08:48] <aquarius> (and it's all local, too, so you don't need the net to test syncing)
[08:48] <kazade> is there any sample code around for syncing with the user's Ubuntu one?
[08:48] <kazade> does Ubuntu Accomplishments use U1DB?
[08:48] <aquarius> there is, but it's not in the docs yet. It's in the presentation I gave at UDS, which I shall find you a link to
[08:49] <aquarius> Accomplishments uses Ubuntu One file sync, because it has different requirements -- it needs sharing (which U1DB doesn't do) and a created synced trophy does not change once it's created (which is not the case for a task, obviously :))
[08:50] <aquarius> http://ubuntuone.com/5KKNLvpKe76zgRBmdyFen5 for the presentation
[08:50] <aquarius> I'd grab it from there rather than just bookmarking the URL :)
[08:50] <kazade> already done ;)
[08:50] <kazade> thanks :D
[08:51] <kazade> aquarius: that sample code takes care of auth yeah? Would that automatically work if the user was connected to their U1?
[08:53] <aquarius> kazade, yep -- see the code mentioned in the presentation, which should be a fully functional example
[08:53] <kazade> conveniently the sample is a todo list :D
[08:53] <kazade> cool, I think I've got enough to go on - I'm gonna have a busy lunch hour :)
[08:53] <kazade> thanks again!
[08:55] <aquarius> ;)
[08:55] <aquarius> no worries! have a play
[08:56] <aquarius> thisfred is your man for detailed code questions, although I can probably help :)
[08:57] <kazade> ok cool :)
[09:18] <JamesTait> Good morning all! :)
[11:14] <gatox> good morning
[11:19] <thisfred> s
[11:22] <thisfred> kazade: hi :) the todo app is still a little rough around the edges, but it does sync (though synchronously, so it freezes the ui. I will make it do it async soon, so there'll be an example of that as well)
[11:24] <kazade> thisfred: awesome :) I'm gonna try and switch over to U1DB tonight - be prepared for questions :D
[11:25] <thisfred> kazade: that's awesome, bring 'em on! :) Here is fine, but there is also #u1db. If I'm unresponsive, feel free to email me as well: eric.casteleijn at canonical dot com
[11:26]  * thisfred walks dog
[12:44] <aquarius> ralsina, ping about http://askubuntu.com/questions/156135/is-this-ubuntu-one-dbus-signal-connection-code-correct -- is that something you can answer?
[12:44] <ralsina> aquarius: maybe
[12:44] <ralsina> aquarius: I'll give it a try later today
[12:45] <ralsina> aquarius: C++? Do you hate me that much? ;-)
[12:45] <aquarius> ralsina, I know not much about both C(++?) and D-Bus and U1's D-Bus API, but I figured either you would or your team would :)
[12:45] <ralsina> aquarius: probably me or gatox. I think I may delegate ;-)
[12:47] <alecu> hey all, good morning!
[12:47] <ralsina> hola alecu!
[12:47] <gatox> alecu, hi
[12:47] <gatox> ralsina, c++ \o/
[12:48] <gatox> kind of rusty..... but fun
[12:48] <alecu> c++ /o\
[12:48] <gatox> jejeje
[12:48] <ralsina> gatox: all yours :-)
[12:48] <ralsina> c++ o/~
[12:48]  * alecu loves this line:
[12:48] <alecu> signature = "a{ss} (Dict of {String, String})";
[12:48] <ralsina> which means "stinks like armpit"
[12:48] <alecu> how come dbus definitions are sooo funny?
[12:49] <ralsina> alecu: I suspect parts of dbus are a  joke we just don't get yet
[12:49] <ralsina> alecu: for example http://dbus.freedesktop.org/doc/dbus-python/api/dbus.Dictionary-class.html
[12:49] <alecu> I didn't get that either :P
[12:49] <ralsina> alecu: here's the good line from that page "the key and value signatures will be guessed from an arbitrary element of the Dictionary."
[12:50] <gatox> ralsina, jeje you are traumatize with that line
[12:50] <ralsina> gatox: yes I am
[12:51] <alecu> ralsina: it's arbitrary because a dict has no order. That's just why; otherwise it would use the first.
[12:51] <ralsina> alecu: it still makes no sense
[12:51] <ralsina> alecu: it should not guess signatures, it should fail
[12:51] <ralsina> alecu: or it shoud check the signatures of all items
[12:51] <ralsina> alecu: checking a random item is insane
[12:52] <alecu> ralsina: I think it puts the burden on the user to include items of the same type
[12:52] <alecu> ralsina: so it let's the user behave like a grown adult
[12:52] <ralsina> alecu: it's like doing 10 holes on the floor and covering 9 with glass.
[12:53] <alecu> ralsina: there's obviously an impedance mismatch between the dbus need for types and python's cuacking
[12:53] <ralsina> indeed
[12:53] <alecu> so, this solution works for most cases, and breaks horribly in a few :-)
[12:53] <alecu> anyway, I think I know the answer to aquarius riddle.
[12:54] <alecu> I'll reply now in askubuntu
[12:54] <ralsina> alecu: thanks!
[13:10] <gatox> alecu, did you have the time to review my branches?
[13:10] <dobey> hmm
[13:11] <alecu> gatox: I'm almost done with the first; I've got a few comments.
[13:11] <gatox> ok
[13:21] <dobey> wtf askubuntu
[13:46]  * mandel back
[13:50] <mandel> ralsina, shall we try and have the 1-1?
[13:50] <ralsina> mandel: am on mgmt call, so in ... 40 minutes?
[13:50] <mandel> ralsina, sure, ping me when done :)
[13:50] <ralsina> mandel: ack
[13:57] <alecu> mmcc: ping
[13:57] <alecu> mmcc: you might be interested in this: http://stackoverflow.com/questions/8314348/cocoa-fsevents-kfseventstreamcreateflagfileevents-flag-and-renamed-events
[13:57] <alecu> gatox: ^ too
[13:57] <gatox> alecu, looking
[13:58] <dobey> hrmm. do i go for triple redundancy for my big data raid; or span 2 disks and mirror to the other 2
[13:58] <ralsina> dobey: raid 1+0
[13:58] <ralsina> dobey: best performance while keeping good safety
[13:59] <ralsina> dobey: you can lose 2 disks if you are lucky ;-)
[14:01] <gatox> alecu, mmm do you think that i would be helpful if i adapt my testing script to do a lot of rename operations and check if they are successful?
[14:01] <alecu> dobey, ralsina: triple redundancy is like burning money. Offsite backups ftw
[14:02] <ralsina> alecu: if there was only an online service where we had gigabaytes for free as canonical employees!
[14:03] <alecu> exabytes!
[14:04] <dobey> if only there was a free infiniband connection to it :)
[14:04] <ralsina> dobey: there is, but it involves a jumbo jet full of HDDs crashing into london
[14:05] <alecu> ralsina: that does not sound exactly like "free". Perhaps it's the "free love" jumbo jet that Austin Powers rides.
[14:05] <ralsina> alecu: well, if it crashes you get a refund, don't you?
[14:05] <gatox> alecu, so.... let me know if we should use that to test it.... also, let me know when you finish reviewing my branches :P so i can check that and update everything as soon as possible... in the meantime i'm working on this Bug #1012706  for fsevents on darwin
[14:06] <dobey> and all your data lost
[14:06] <ralsina> dobey: details!
[14:06] <alecu> ralsina: they refund you an unlimited number of random bits; you'll have to put them back together.
[14:06] <ralsina> alecu: here's a 1-generator and a 0-generator, you mix them
[14:08] <alecu> gatox: re: script to "do a lot of renames", it sounds very useful.
[14:08] <gatox> alecu, ack
[14:08] <alecu> gatox: anyway, the link I pasted is regarding to a new feature in the FSEvents API that mmcc found
[14:10] <alecu> gatox: it's a way for FSEvents to report "changed files" too. It's part of darwin 10.7, but it's poorly documented.
[14:10] <mandel> alecu, I updated https://code.launchpad.net/~mandel/ubuntuone-client/better-encoding/+merge/111580
[14:10] <alecu> gatox: and according to that stackoverflow question, it's also not reliable in some cases.
[14:10] <gatox> alecu, yes..... we are not having that problem using the macfsevents lib
[14:11] <gatox> alecu, or it seems we don't..... i'll check with the script
[14:12] <alecu> gatox: but we should consider contributing that feature to macfsevents at some point, because in theory it sounds like it might reduce a lot our code.
[14:12] <alecu> and it sounds like it might make it faster, too.
[14:12] <alecu> and make it more compatible with the sandbox.
[14:13] <alecu> (but only if we can make the API work reasonably)
[14:13] <gatox> alecu, yes of course.....
[14:13] <gatox> alecu, but yes, if the api works properly
[14:15] <mandel> ralsina, looks like bug #1017922 happens also in windows but we never did a thing about it, so I solved both (is a stupid defer.succeed(self) to keep things clean + a test ran by all platforms
[14:15] <ralsina> mandel: ack
[14:36] <ralsina> mandel: 1-1?
[14:37] <mandel> ralsina, sure, let me launch the thing
[14:43]  * dobey wonders why quantal instance died
[14:50] <gatox> alecu, ping
[14:51] <alecu> gatox: pong
[14:52] <gatox> alecu, the thing with this lib, it seems that when you stress it a lot, creating a lot of events at once, it tends to lose something, the first script create 1000 files, and rename those 1000 files instantly.... and it only detects around 650..... now i added a little sleep between renames.... and it's detecting everything
[14:53] <alecu> gatox: is it the lib or is it the FSEvents API?
[14:53] <gatox> alecu, right..... i should check with the c code now... i was testing at python level
[14:54] <gatox> i'll test that
[14:54] <alecu> gatox: another thing: try running the fslogger.c code at the same time when you are running your tests
[14:55] <alecu> gatox: and see if fslogger.c finds out that the lost events match any special event
[14:55] <alecu> gatox: I'm guessing this is caused by the event from /dev/fsevents that signals that the event queue was full.
[14:56] <gatox> alecu, ack
[14:57] <alecu> gatox: aha
[14:57] <gatox> alecu, what?
[14:57] <alecu> gatox: are you doing all the 1000 renames in the same folder?
[14:58] <gatox> alecu, yes
[14:58] <alecu> gatox: there you go.
[14:58] <gatox> what what?
[14:58] <alecu> gatox: try this:
[14:58] <alecu> gatox: base_folder/folder999/file999
[14:58] <mmcc> hi folks. just back from a kernel panic. alecu, saw your link in the backtrace, interesting. I suspect there are relevant flags he's missing
[14:59] <gatox> the files are: 1.txt, 2.txt..... and i'm renaming everything adding "aa"...... like 1aa.txt, 2aa.txt
[14:59] <alecu> gatox: and do the rename of file999 instead
[14:59] <alecu> gatox: right, so now my guess is that events are lost because they all happen in the same folder
[15:00] <briancurtin> me
[15:00] <gatox> me
[15:00] <alecu> gatox: and the FSEvents API that your lib uses "merges" changes in a given folder.
[15:00] <dobey> me
[15:00] <mmcc> me
[15:01] <thisfred> me
[15:01] <alecu> me
[15:01] <mmcc> alecu, gatox - does macfsevents pass through the FSEventStreamEventFlags to look at?
[15:02] <gatox> mmcc, what?
[15:02] <alecu> ralsina, mandel: standup!
[15:03] <ralsina> sorry otp
[15:03] <ralsina> me
[15:03] <mandel> me
[15:03] <mmcc> gatox: FSEvents includes flags with each event with some additional info - one flag it could set is 'kFSEventStreamEventFlagMustScanSubDirs', which means it coalesced multiple file events (or even multiple dir events) into one event, and you have to manually scan everything under the event's path recursively
[15:03] <alecu> briancurtin: go
[15:03] <briancurtin> DONE: windows xp issue debugging
[15:03] <briancurtin> TODO: windows xp issue, installing a new VMWare right now so i can make snapshots with/without 2008 CRT, build installer on XP itself
[15:03] <briancurtin> BLOCKED: no
[15:03] <briancurtin> NEXT: gatox
[15:03] <gatox> DONE:
[15:03] <gatox> Start working on Bug #1012706 , debugging renames on darwin.
[15:03] <gatox> TODO:
[15:03] <gatox> check the fsevents api, keep working (and finish) with the previous bug and Bug #1012709
[15:03] <gatox> BLOCKED:
[15:03] <gatox> No
[15:03] <gatox> dobey, go
[15:03] <dobey> DONE: release day
[15:03] <dobey> TODO: finish releases/uploads
[15:03] <dobey> BLCK: Quantal Tarmac instance down.
[15:03] <dobey> mmcc: go
[15:03] <mmcc>  DONE: fixed default reactor issue on darwin,
[15:03] <mmcc>  TODO: REVIEWS, polish up a merge for CP, hack more at CP
[15:03] <mmcc> BLOCK: none
[15:03] <mmcc>  NEXT: thisfred
[15:03] <thisfred> DONE: Bug #999562 TODO: wrap up Bug #999562 | https://bugs.launchpad.net/u1db (As in plenty to do, just haven't picked yet ;) BLOCKED: no NEXT: alecu
[15:04] <alecu> DONE: reviews, more debugging for the failing branch, more fsevents discussion
[15:04] <alecu> TODO: more mac reviews, catch up with py3k in sso with brian
[15:04] <alecu> BLOCKED: still can't find why the branch won't merge
[15:04] <alecu> NEXT: ralsina
[15:04] <ralsina> DONE: mgmt call, tech leads call, setup XP VM, setup Q VM, reviews. TODO try to debug in both VMs + look at testability BLOCKED: I can't run both VMs at the same time :-/ NEXT mandel
[15:05] <alecu> ralsina: you should get more ram!
[15:05] <mandel> DONE: Bug #1017922 bug #1017886, reviews
[15:05] <mandel> TODO: Look at inhibitor with more detial, more reviews
[15:05] <mandel> BLOCKED: no
[15:05] <ralsina> alecu: I need a faster disk, actually
[15:05] <ralsina> comments?
[15:06] <ralsina> mmcc: how's the status on packaging?
[15:07] <mmcc> ralsina: packaging works up to the point that I need to fix bugs in controlpanel to make packaging progress
[15:07] <ralsina> mmcc: awesome
[15:07] <ralsina> mmcc: so, after the default reactor thing, does u1cp start?
[15:07] <mmcc> ralsina: oh, yes
[15:08] <ralsina> cool!
[15:08] <mmcc> yep, forward motion :)
[15:08] <gatox> mandel, ping.... i've updated the darwin3 branch, and darwin4 is ready for review
[15:08] <mandel> mmcc, do you get to the point where the control panel has the animation?
[15:08] <mandel> mmcc, is there a branch I can test with
[15:08] <mandel> gatox, ok, may I have the mp urls
[15:08]  * mandel is lazy..
[15:08] <mmcc> mandel: yes, it will show the setup page and buttons work, etc
[15:08] <gatox> mandel, yes
[15:09] <ralsina> mandel, mmcc, gatox: let's try to get something packaged this friday
[15:09] <mandel> mmcc, awesome!
[15:09] <ralsina> I don't even expect it to *work*
[15:09] <gatox> mandel, https://code.launchpad.net/~diegosarmentero/ubuntuone-client/darwin3-fsevents/+merge/111666  -  https://code.launchpad.net/~diegosarmentero/ubuntuone-client/darwin4-fsevents
[15:09] <ralsina> but I would like to have something that I can install and try and report failure with
[15:09] <mmcc> ralsina: well if you don't expect it to work, then I can send you something today :)
[15:09] <mandel> mmcc, can you pass me the lp branch I'll like to test it with the sd I have syncing to maybe sync a share or something of the kind :)
[15:09] <gatox> ralsina, well, the non root fsevents implementation should be working.... we need to land this branches :P
[15:10] <mmcc> mandel, sure -- just a sec
[15:10] <gatox> ralsina, there are yet 2 open issues that i'm working on about fsevents..... for 2 particular things
[15:10] <ralsina> gatox: I have lots of confidence in you
[15:10] <ralsina> gatox: also, we have the other events implementation ;-)
[15:11] <gatox> ralsina, :P
[15:11] <mmcc> mandel, you need to use the sso branch from this MP: https://code.launchpad.net/~mikemc/ubuntu-sso-client/fix-1017672-delayed-reaction-in-tcpactivation/+merge/111945
[15:11] <mmcc> (which you could also review if you like)
[15:11] <mandel> mmcc, I will
[15:11] <mmcc> and then use controlpanel from here: https://code.launchpad.net/~mikemc/ubuntuone-control-panel/fix-1015825-reorder-reactor
[15:12] <mmcc> which I'll propose as soon as I can test it, provided VBox doesn't panic my kernel again
[15:12] <dobey> quantal is back. but client build in archive isn't done yet
[15:12] <mandel> mmcc, ha, I think I'm the one to blame for that import reactor..
[15:12] <gatox> mandel, please review my branches...... so i can annoy alecu later :P
[15:13] <gatox> jeje
[15:13] <mmcc> mandel, I wasn't going to name names ;)
[15:13] <mandel> mmcc, got bzr blame for that hehe
[15:14] <mandel> gatox, sure, let me look at mmcc branch first that is not a gazillion lines long :)
[15:14] <gatox> mandel, :P ok
[15:16]  * gatox lunch
[15:16] <mandel> ralsina, I forgot to mention, the perissions error is expected but we should talk with ux to have a better interaction with the user
[15:16] <mandel> ralsina, like telling him, we did not update the file 'cause we don't have the rights, or something of the kind
[15:17] <dobey> wtf
[15:17] <dobey> mandel: what branch landed in fsevents that had a --fixes for bug #1013119?
[15:17] <mandel> dobey, less error prone was base on the rejected one.. I'll set that as invalid
[15:18] <mandel> dobey, sbjson is there in trunk
[15:18] <mandel> mmcc, small needs fixing: https://code.launchpad.net/~mikemc/ubuntu-sso-client/fix-1017672-delayed-reaction-in-tcpactivation/+merge/111945
[15:20] <dobey> ugh
[15:20] <dobey> i didn't realize you were importing it into the tree
[15:20] <mmcc> mandel: thanks, d'oh
[15:20] <mandel> dobey, yes.. that is why I wanted to remove it
[15:21] <mandel> mmcc, ping me when done and I'll +1
[15:21] <briancurtin> oh cool, VMWare workstation is free for 30 days as long as you don't actually *use* it. helpful...
[15:22] <dobey> doh
[15:25] <ralsina> mandel: we don't claim to keep metadata, including permissions
[15:25] <ralsina> mandel: so we could just change them
[15:25] <dobey> maybe i should backport the new pep8
[15:25] <mandel> ralsina, well, is something worth thinking at some point, now know :)
[15:25] <ralsina> mandel: consider it known ;-)
[15:28] <alecu> mandel: ping
[15:29] <mandel> alecu, pong
[15:29] <alecu> mandel: can you give me a bit more of detail re: "it looks like the env var that sets the xdg_config location is not working correctly"
[15:29] <alecu> mandel: where is that being set?
[15:29] <alecu> mandel: I'm talking about this branch: https://code.launchpad.net/~alecu/ubuntu-sso-client/use-pycurl-1-4/+merge/110636
[15:30] <dobey> thisfred, mmcc: trivial branch when you get a chance https://code.launchpad.net/~dobey/dirspec/fix-pep8/+merge/112143
[15:30] <dobey> alecu: it should be getting set by u1trial
[15:30] <mandel> alecu, so AFAIK u1trial sets the xdg values for the tests under _trial_temp if you are getting diff values is either because the env value is not set correctly of the test is harcoded to use a path that depends on the env var
[15:31] <thisfred> dobey: +1ed
[15:31] <mandel> alecu, the fact that in our systems is ok and not in tarmac might mean we have to check what is happening there or fix the tests to be less fragile to changes in the env
[15:31] <alecu> mandel, dobey: do you guys know if any of that changed recently on u1trial?
[15:31] <dobey> no it didn't change
[15:31] <mandel> alecu, but it is a guess of where the problem could be
[15:31] <dobey> and the version on natty definitely hasn't changed
[15:32] <dobey> mandel: i highly doubt it's a "change to the environment" unless the tests themselves are changing the environment
[15:32] <dobey> in which case, the tests are probably broken anyway
[15:32] <alecu> dobey: do you know if tarmac uses the u1trial from nightlies? I tested on natty with nightlies and it did not exhibit this issue
[15:32] <mmcc> dobey, approved your dirspec branch
[15:33] <dobey> alecu: no; the natty version is using the version in natty
[15:33] <dobey> thanks mmcc
[15:33] <alecu> ok, I'll try like that
[15:34] <dobey> hmm
[15:34] <alecu> gatox_lunch: small needsfixing and I'll approve: https://code.launchpad.net/~diegosarmentero/ubuntuone-client/darwin2-fsevents/+merge/111427
[15:35] <dobey> alecu: ah i see
[15:35] <dobey> alecu: the version in natty doesn't set XDG_CONFIG_HOME. it's only setting XDG_CACHE_HOME
[15:36] <alecu> dobey: good catch
[15:36] <alecu> dobey: should we change the branch to account for that?
[15:38] <mmcc> hey, should u1lint take > 4 minutes on one file? seems like something must be wrong here
[15:38] <dobey> alecu: no. i'll upgrade ubuntuone-dev-tools there, to the version from oneiric, which i think has that fix in u1trial
[15:39] <alecu> dobey: great, thanks.
[15:39] <dobey> alecu: so don't worry about it. i'll poke at it after lunch. if i think you need to do anything else to your branch i'll ping you. :)
[15:39] <alecu> dobey: thanks!
[15:40] <gatox_lunch> alecu, great, thx!
[15:40] <dobey> and now. need to get lunch. bbiab :)
[15:42] <mandel> dobey, alecu, so I was more or less right? is the env var :P
[15:42]  * mandel wants some recognition hehehe
[15:43] <mmcc> oh, u1lint ignores its args and just lints everything in $CWD. oh.
[15:45] <dobey> mmcc: yeah u1lint only has an --ignore option
[15:46] <dobey> ok, really off to get lunch
[15:49] <mmcc> mandel, pushed the pylint fix you pointed out to that branch
[15:50] <ralsina> lunch it is
[16:06] <mandel> gatox_lunch, some evil review: https://code.launchpad.net/~diegosarmentero/ubuntuone-client/darwin3-fsevents/+merge/111666
[16:06] <mandel> gatox_lunch, sorry but I think we need to clean the code a little before it lands
[16:13] <mandel> gatox_lunch, I think we can dramatically reduce the number of lines of darwin3-fsevents if we merge the tests from windows and darwin
[16:15] <gatox> mandel, we already talk about that in the mumble
[16:15] <gatox> mandel, we said that we are going to do this branches this way, and then refactor the tests
[16:16] <mandel> gatox, ok, well there are a little more things than the tests :)
[16:17] <gatox> ack
[16:18] <mandel> gatox, I went through the code very carefully but I  might have missed something, please read the review and let me know if I make sense
[16:18] <mandel> gatox, specially because i'm close to my EOD :P
[16:21] <gatox> mandel, i agree with your comments, and thanks for the careful review.... i'll work fix that (except the merging tests :P that we already agree different things before)
[16:21] <mandel> gatox, super :)
[16:28] <mandel> mmcc, do you have a windows vm?
[16:30] <mmcc> mandel: yes why?
[16:30] <mmcc> I'm just about to run controlpanel tests there
[16:30] <mandel> mmcc, can you run the tests of your branch and sso trunk, I think we broke sso on windows :)
[16:31] <mmcc> mandel: I ran windows sso tests, what's breaking?
[16:31]  * mmcc checks email
[16:31] <mandel> mmcc, I might have an outdated version of dev-tools I needed someone else to be sure they are not broken :)
[16:32] <mmcc> mandel: paste?
[16:33] <mandel> mmcc, give me a sec, I just updated devtools, it can be just a deprecated dependency
[16:33] <mandel> mmcc, which it was, awesome +1 :)
[16:38] <mandel> ok, EOD here, see you all tom!
[16:38] <mandel> o/
[16:38] <gatox> mandel, bye
[16:41] <leo-unglaub> hey, aquarius i have a question according to your session about u1db the other day
[16:41] <leo-unglaub> do you have a minute?
[16:42] <thisfred> leo-unglaub: maybe I can help?
[16:42] <leo-unglaub> maybe :)
[16:43] <leo-unglaub> aquarius was talking about how we developers should not be worrieing about writing your own sync tools for our tools and use u1 for that...so i wanted to integrate u1 in all my tools for syncing and provide better ubuntu support
[16:43] <leo-unglaub> but i looked at the specs...
[16:43] <leo-unglaub> THERE IS NO CLIENT SIDE ENCRIPTION
[16:43] <leo-unglaub> i thought it was a joke, but there is really nothing is there?
[16:44] <thisfred> I'm not sure if you're talking about u1db or ubuntuone file sync?
[16:44] <leo-unglaub> both
[16:44] <thisfred> not that it matters much for the answer I think :)
[16:45] <thisfred> so: we don't encrypt, because we want users to be able to access and use their data in the cloud by default. Of course we transfer the data over a secure connection, so it's not readable on the wire.
[16:46] <thisfred> If an app developer or a user wants their data to be encrypted, there is nothing stopping them from encrypting it client side
[16:46] <ralsina> leo-unglaub: if we did the encryption and decrypted on download, any other app would still be able to read. If you want the data to be secure, just sync encrypted data.
[16:47] <leo-unglaub> hmm, but what kind of data should i store in the u1db if it is not encripted?
[16:47] <leo-unglaub> canonical can read all the user data in the current version
[16:48] <leo-unglaub> and that is simply not okay for every kind of user data
[16:48] <thisfred> leo-unglaub: well, maybe not your banking software passwords, but there is a world of data that is less sensitive than that
[16:48] <ralsina> leo-unglaub: for that kind of data, encrypt before uploading.
[16:49] <thisfred> leo-unglaub: yeah, as an app developer and user, you need to think about the risks (which is no different than with any other online storage). If you want encrypted everything by default, there are other options, u1 might not be the best fit
[16:49] <leo-unglaub> hmmm, i have 3 types of data i wanted to adapt to u1, thunderbird contacts, filezilla server settings and pidgin account informations
[16:50] <leo-unglaub> and there is no way that i put those data in u1db unencryptet
[16:50] <leo-unglaub> okay, sure i can do my own encription on top of that
[16:50] <leo-unglaub> but...
[16:50] <ralsina> leo-unglaub: are you storing them on disk unencrypted?
[16:51] <leo-unglaub> now every tool has do there oen encription, there own keys....the point of using u1 is for me, that i have 1 interface to do all that
[16:51] <leo-unglaub> ralsina: of course NOT
[16:51] <leo-unglaub> all discs are encripted...
[16:51] <thisfred> leo-unglaub: that is of course a completely valid choice, but most users are not as sensitive about most of their data
[16:51] <ralsina> leo-unglaub: but every process after boot can read it
[16:52] <leo-unglaub> ralsina: every process with read permissions to my home dir, yes...exception the pidgin accounts..there is a special password on that encfs partition
[16:52] <ralsina> leo-unglaub: I am all for encryping it. Don't use per-app keys, use the user's gpg keys from the keychain, if you want. Those should already be protected by a passphrase
[16:52] <thisfred> leo-unglaub: also I take it you don't use gmail or any mail provider, but run your own smtp? ;)
[16:53] <ralsina> leo-unglaub: like thisfred said, it's very possible that u1 is not what you want to use in this case. Keep in mind that for other services, all you have is their word that they can't decrypt your data ater upload.
[16:53] <leo-unglaub> thisfred: well, as i am working in this business...yes, i have my own smtp/imap servers running. but even without..all messages are crypted..
[16:54] <leo-unglaub> thunderbird/enigmail FTW ;)
[16:54] <leo-unglaub> ralsina: Keep in mind that for other services, all you have is their word that they can't decrypt your data ater upload.<- where is the difference to ubuntu one?
[16:54] <thisfred> leo-unglaub: well, again, perfectly reasonable, but not like most people's requirements
[16:54] <ralsina> leo-unglaub: if you do your own encryption, you don't have to take our word for it.
[16:55] <ralsina> leo-unglaub: you can use the same gpg settings you use in enigmail, even.
[16:55] <dobey> grr dpkg
[16:58] <leo-unglaub> i don't get the point of "all the others  also don't to it"
[16:58] <leo-unglaub> u1 is a native linux client..
[16:58] <leo-unglaub> and i think every wayy to make it better is soe thing to think about..
[16:58] <leo-unglaub> we are not apple where we do like your clients are stupid..
[16:58] <dobey> better is not an objective thing
[16:59] <leo-unglaub> linux users always care about security..
[16:59] <thisfred> leo-unglaub: yes but encrypted all the way is not objectively better. Obviously better for your use case, not great if you want to view your contacts on the web or stream your music
[16:59] <dobey> linux users don't care any more or less about about security than any other users
[16:59] <thisfred> it's a tradeoff between features and levels of security
[16:59] <beuno_> leo-unglaub, our target also isn't "linux users", we have a Windows client, android, iOS
[17:00] <beuno_> building more
[17:00] <thisfred> and for some data, for some users encrypting by default is not the best choice
[17:03] <leo-unglaub> well, i know you have clients for other os, but everyone knows that even on linux there are not so much users..
[17:03] <dobey> s/knows/assumes/
[17:04] <thisfred> s/everyone/?/
[17:04] <leo-unglaub> you hear things in some channels ;)
[17:04] <leo-unglaub> but thats not the point..
[17:05] <beuno> leo-unglaub, the point is Ubuntu One's main focus is not maximum security, it's convenience
[17:05] <beuno> so that's what drives everything we do
[17:05] <beuno> making things more convenient to users
[17:05] <dobey> the most secure data, is no data
[17:06] <ralsina> dobey: the most secure data is sorted data. bit-sorted.
[17:06] <thisfred> most secure sync is cp * /dev/null
[17:07] <leo-unglaub> ....
[17:07] <dobey> ralsina: i have the bestest encryption method ever. it's also the best compression. it just replaces everything with 0s
[17:07] <leo-unglaub> well, i thought it woul be in your interest to have a sync for thunderbird, filezilla, pidgin in u1, but sadly you donÄt care..
[17:07] <dobey> nobody can read it after, not even you!
[17:07] <leo-unglaub> okay, so i won't implement it
[17:07] <ralsina> leo-unglaub: we do care
[17:07] <ralsina> leo-unglaub: it's just that we are not going to implement ecryption across the whole stack to get it
[17:08] <dobey> leo-unglaub: login information is not something you should just blindly sync
[17:08] <dobey> leo-unglaub: and thunderbird has u1 support
[17:08] <ralsina> leo-unglaub: and break file publishing, folder sharing, and other stuff to get it
[17:08] <leo-unglaub> dobey: the thunderbird support is broken sience a few versions
[17:09] <dobey> leo-unglaub: i don't mean the desktopcouch thing
[17:10] <leo-unglaub> i don't know any other way of doing it..
[17:10] <leo-unglaub> but maybe i missed something there..
[17:11] <dobey> there's a new thing in thunderbird that has support for u1, but i forget what it's called
[17:11] <dobey> though i don't think it is for syncing contacts
[17:11] <leo-unglaub> you mean the eds contacts?
[17:12] <dobey> oh, "filelink"
[17:13] <dobey> eds is how thunderbird contacts sync currently works
[17:13] <leo-unglaub> with don't work as expected
[17:13] <leo-unglaub> but..again...thats not the point i am trying to make
[17:16] <leo-unglaub> so, to make this short..you are not planing to add encription to securen the user data and respect there privacy?
[17:17] <thisfred> leo-unglaub: we have no plans to add encryption by default at this point, no
[17:17] <leo-unglaub> no one is talking about default...simply an option to allow it would be also fine..give users the choice..
[17:18] <dobey> you have the option now
[17:18] <thisfred> they have the choice :)h
[17:18] <thisfred> app developers can choose to use encryption, as can individual users
[17:19] <ralsina> leo-unglaub: we respect their privacy, thank you very much.
[17:30] <leo-unglaub> sry, brb we can continue this later
[17:50] <joshuahoover> ralsina: any idea what would cause this error on ubuntu? ubuntuone.SyncDaemon.StorageClient - INFO - Connection lost, reason: [Failure instance: Traceback (failure with no frames): <class 'OpenSSL.SSL.Error'>: [('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')]
[17:50] <mandel__> gatox, ralsina, alecu, may I have reviews for https://code.launchpad.net/~mandel/ubuntuone-client/darwin-inhibitor/+merge/112179
[17:50] <ralsina> mandel: will review
[17:50] <ralsina> joshuahoover: looking
[17:50] <mandel__> is super easy, just fixes the inhibitor issues in windows and darwin
[17:51] <gatox> mandel_, yes
[17:51] <joshuahoover> thanks
[17:51] <ralsina> joshuahoover: looks like it maybe failed to connect to the server
[17:51] <mandel__> gatox, thx!
[17:51] <mandel__> mandel, dude, you are goood looking!
[17:51] <ralsina> alecu: any ideas for joshuahoover ^
[17:51] <mandel__> :P
[17:51] <joshuahoover> ralsina: right, i haven't seen that particular error before...and user has tried connecting with no luck so far
[17:51] <gatox> mandel__, i'm still fixing the branch with your comments..... when i finish (the first time), i realize i did it in a different branch
[17:51]  * gatox wants to kill himself
[17:52] <mandel__> gatox, hehe
[17:52]  * gatox thinks he should sleep more
[17:52] <ralsina> mandel: +1
[17:53] <mandel__> ralsina, thx!
[17:54] <gatox> when i see from ralsina : +1 code review...... i understand: you, the next one..... run the tests!
[17:54] <gatox> ralsina, yes sir! :P
[17:54] <mmcc> lunchtime...
[17:56] <alecu> ralsina: catching up with the backlog....
[17:57] <alecu> mandel__: do I owe you more re-reviews? can you send me the links?
[17:57] <mandel__> alecu, let me check
[17:58] <mandel__> alecu, this is the only one https://code.launchpad.net/~mandel/ubuntuone-client/better-encoding/+merge/111580
[18:02] <gatox> mandel__, +1
[18:03] <mandel__> gatox, thx
[18:09] <alecu> joshuahoover: can you get SD logs for that error?
[18:09] <joshuahoover> alecu: i have them...i'll paste a sample for you
[18:48] <gatox> fuuuuuuu never again a branch so big......
[18:56] <gatox> alecu, ping
[18:57] <alecu> gatox: tell me
[18:57] <alecu> gatox: (I've got 5 mins before leaving for kinder)
[18:58] <gatox> alecu, your comment in my second branch: 	if not isinstance(path, unicode):
[18:58]  * gatox types fast
[18:58] <gatox> alecu, i fix that in the next branch, where i actually add the things for mac.....
[18:58] <gatox> where i added a assert to see if we receive bytes
[18:58] <gatox> which is actually what the lib wants
[18:58] <gatox> alecu, so, if it's ok with you, in the second branch i should only fix the docstring
[18:59] <dobey> what a day
[18:59] <alecu> gatox: no problem!
[18:59] <gatox> alecu, cool
[19:00] <gatox> alecu, mandel did a really complete review of darwin3..... and i already fix that.... so you can maybe take a look at that one when you have a moment
[19:00] <alecu> gatox: sure
[19:00] <gatox> alecu, muchas thanks!
[19:00] <alecu> gatox: you're nada!
[19:00] <gatox> :P
[19:01] <alecu> gatox: i mean "de welcome".
[19:01] <gatox> that doesn't sound very wellll
[19:01] <gatox> jejeje
[19:01] <alecu> gatox: lols, yes.
[19:01] <gatox> jejeej
[19:25] <gatox> alecu, branc updated
[19:35] <dobey> ralsina, briancurtin, joshuahoover: what's the bug # for the "doesn't start in win xp" problem?
[19:35] <briancurtin> looking
[19:36] <briancurtin> dobey: #1017019
[19:36] <joshuahoover> beat me to it
[19:36] <dobey> bug #1017019
[19:45] <dobey> thanks
[20:00] <mmcc> ugh, more implicit reactor installation on windows than on darwin...
[20:02] <mmcc> do we *really* need to import controlpanel.backend just to get UBUNTUONE_LINK ?
[20:03] <mmcc> (in ubuntuone/controlpanel/gui/__init__.py:26)
[20:03] <gatox> ok...... eod for me..... and i need to go to the doctor in a while...... so, bye people!! see you tomorrow!
[20:04] <mmcc> bye gatox
[20:05] <mmcc> so we have a toplevel 'constants.py' (generated from .in in setup) where UBUNTUONE_LINK (and a lot of other stuff in gui/__init__.py ) should probably go, IMO
[20:06] <mmcc> anyone want to comment on moving more constants into toplevel constants.py.in?
[20:06] <mmcc> alecu, ralsina, dobey ^
[20:06] <dobey> not sure
[20:07] <ralsina> mmcc: I am ok with it, in principle, but I would ask nessita for her opinion, too
[20:11] <mmcc> ok
[20:12] <mmcc> hmm, nessita not around right now?
[20:12] <ralsina> mmcc: looks like she isn't
[20:14] <mmcc> well, the other solution is to install the qt4reactor first on windows, since that seems to work (not sure why), and move it after the UniqueApplication init just for darwin
[20:14] <mmcc> that'd require less moving things around
[20:16] <briancurtin> ah wtffffffff XP
[20:16] <dobey> mmcc: it's tuesday. she's at uni in the afternoon
[20:20] <ralsina> briancurtin: details, please
[20:20] <ralsina> briancurtin: not that I disagree, in general
[20:21] <mmcc> ah, ok thanks dobey
[20:23] <briancurtin> ralsina: just trying to get an XP-built installer to work on XP. i have the env setup but something is missing. its less of an XP problem that im currently complaining about. i cant tell if bitrock or py2exe is behaving differently here or what because pkg_resources isnt being found (from distribute) even though its in the env and i can import it.
[20:23] <briancurtin> anyway, yeah, just trying to build an installer on XP itself which i can then try out on my 100% clean XP image (which contains no vs2008 crt)
[20:24] <ralsina> briancurtin: ack :-(
[20:24] <briancurtin> $200 later i have a nice VM setup to test vanilla XP, though
[20:31] <ralsina> $200?
[20:32] <briancurtin> ralsina: that's what it costs to buy VMWare Workstation. the free ones don't let you snapshot or easily create duplicates. now i have a base install with nothing, cloned it and built a dev environment, and when i can make a functioning installer out of it, i'll run it on the vanilla XP image
[20:32] <ralsina> briancurtin: ouch
[20:32] <briancurtin> oh, and they have a free 30-day trial which is only useful if you just want to start it up and look at it. actually turning on a VM requires that you pay
[20:33] <ralsina> briancurtin: virtualbox has those things... It does have an unfortunate tendency at exploding every 4or 6 months for me, butnot for everyone!
[20:34] <briancurtin> i've been meaning to get VMWare Workstation for a while, never really knew about virtualbox. i probably should have researched...just wanted to get this going ASAP so i can get it over with
[20:34] <ralsina> have to EOD to pick my kid from football
[20:34] <briancurtin> see ya
[20:35] <ralsina> briancurtin: good luck with that, send me a status email please?
[20:35] <ralsina> will drop by and do stuff late at night. bye!
[20:35] <briancurtin> ralsina: hopefully i have more than "XP is awful", but yeah i'll write something up
[20:38] <ralsina> briancurtin: hehe, let's hope :-)
[20:41] <mmcc> urgh.
[20:41] <dobey> i suppose i should name my new workstation the same as my current workstation is named
[20:41] <mmcc> reactor imported in filesystem_notifications too, I just missed it because I don't have gatox's branch yet
[20:42] <dobey> as i have done for the past however many times I've upgraded it
[20:46] <dobey> thisfred, mmcc: sanity check please https://code.launchpad.net/~dobey/ubuntuone-dev-tools/update-4-0/+merge/112217
[20:49] <thisfred> yours or mine?
[20:53] <mmcc> approved, dobey
[20:53] <dobey> thanks
[21:02] <alecu> mmcc: ralsina: tuesday evening is the time nessita goes to teach, so better ask her tomorrow.
[21:03] <alecu> doh, dobey already said so.
[21:05] <dobey> heh
[21:08] <dobey> hrmm
[21:08] <dobey> today has been a bad brain day
[21:14] <briancurtin> oh wtf. am i really going to have to build this installer, see what fails, add a new file, build it, see what fails, over and over.........
[21:14] <briancurtin> jeuss
[21:14] <briancurtin> jesus, even
[21:18] <dobey> briancurtin: did you not read the fine print in the job description? pretty sure it said "mechanical turk" in there. :)
[21:19] <briancurtin> it seems like the build process on XP included all standard library modules which *aren't* needed, rather than trimming to just the ones it needs
[21:20] <dobey> lovely
[21:20] <briancurtin> oh py2exe, how fun you are
[21:24] <mmcc> argh, even importing setup_logging eventually creates a reactor
[21:24] <mmcc> via filesystem_notifications this time
[21:24] <mmcc> (on windows, and soon on darwin too)
[21:25] <dobey> heh
[21:25] <mmcc> I think I'm going to need to fix it now on windows, then wait for the various filesystem_notifications darwin branches to land, and fix it there too...
[21:26] <mmcc> where fix it means move the 'import reactor' into a few functions so we don't create a new one too early... that's already been done in a few other places, by nessita no less
[21:27] <alecu> mmcc: yes, some of those bits are awful
[21:31] <mmcc> yeah, I was trying to think just now what I'd prefer twisted to do. obviously not start the wrong reactor when I import it. I think I could handle needing to do something like 'from twisted.internet import get_reactor' and 'reactor = get_reactor()' or something
[21:34] <dobey> ok, i'm off
[21:34] <dobey> have a good evening all
[21:43] <briancurtin> ralsina: i got a trunk installer to work on XP after manually running vcredist before installing. i think we may need to condition the installer to run vcredist on XP - i am 99% sure 7/vista won't need it but im setting up clean VMs for them right now
[21:56] <mmcc> briancurtin: how much do you know about pyqt/qt4reactor on windows? I'm about to make a change so that on windows we install the reactor after we've inited the QApplication. On darwin this makes qt4reactor create a QCoreApplication, which messes up the GUI event handling. I swear windows should have the same problem, but it doesn't...
[21:56] <briancurtin> mmcc: nothing
[21:57] <mmcc> ok, cool. well, if it blows up I know how to make it work again
[21:57] <briancurtin> mmcc: i know how to install pyqt and that's the extent of my pyqt experience
[21:57] <mmcc> do you know much about straight Qt? the issue is really that we create a QCoreApplication when we want a QApplication
[21:58] <mmcc> I haven't read up on what exactly that changes, but it's clear that GUI apps need a QApplication
[21:58] <mmcc> anyway, thanks :)
[21:58] <briancurtin> mmcc: nope, ive never done anything relating to Qt of any form. i have somehow avoided it up until apparently now
[21:58] <briancurtin> or, until this testability debacle as well
[22:05] <alecu> mmcc: I'm not a fan of messing too much with the qtreactor + pyqt stuff on windows... I recall it took a while to make it work properly.
[22:07] <alecu> mmcc: I hate the qtreactor in fact, and as soon as we can get rid of it, I'll be 38% happier.
[22:07] <mmcc> alecu, understood. were the earlier problems this "reactor already installed" error, or somethign else?
[22:07] <alecu> mmcc: "reactor already installed" is the milder of the problems :-)
[22:08] <mmcc> because I think I have a handle on that, but if I'm about to smack another beehive I'd like to know
[22:08] <alecu> mmcc: I've got a few segfaults
[22:08] <mmcc> :(
[22:08] <mmcc> well, I could certainly leave the win32 specific code as-is, and just do different stuff on darwin...
[22:08] <alecu> mmcc: "already installed" has to be worked around by moving imports around and into functions, as you've already appreciated...
[22:09] <alecu> mmcc: but in my experience initialization order issues are much trickier
[22:09] <mmcc> I wonder if the segfaults are related to having the QCoreApp instead of the QApp...
[22:09] <alecu> mmcc: for the reactor initializations, having different stuff on both platforms is just fine with me.
[22:10] <mmcc> ok, cool.
[22:10] <mmcc> that said, as I mentioned above, I'm missing something because the code as it is *should* blow up on windows too
[22:16] <mmcc> so - despite my curiosity about what's going on with windows, I'll just leave it alone and fix it for darwin separately
[22:50] <mmcc> hrm, installing the reactor in main() breaks tests, which have already installed their own reactor.