[08:52] Happy Star Wars Day! *8OD [09:39] morning all! === daker__ is now known as daker [12:39] good morning! [12:40] morning [12:40] very quiet in here this week [12:42] czajkowski: yes, time after time i type something then erase to check whether the ssh session is stale [12:42] heh [12:42] even though i have byobu with clock [12:47] ralsina: O_O [12:47] ralsina: i thought it is being unsubscribed [12:47] rye: nope [12:47] rye: try it though, I may be wrong about it. [12:48] rye: but it will have metadata for all the files, and the files will not be there, so it will delete them, IIRC [12:48] ralsina: 2012-05-04 15:48:04,455 - ubuntuone.SyncDaemon.AncestorsINotProc - INFO - Got MOVED_FROM on path '/home/rtg/Test', unsubscribing udf [12:48] rye: OTOH, II did not RC I just looked very foolish ;-) [12:48] rye: that is moving, not deleting. So I am only half wrong so far ;-) [12:49] ralsina: well.... [12:49] rye: stop syncdaemon, move it, start syncdaemon [12:49] ralsina: deleting a folder is impossible w/o deleting all the contents, and these all will propagate to sd through inotify [12:49] rye: yes, but try moving it while syncdaemon is not running, which is what I described in the mail [12:50] rye: typically caused by mounting a removable media as a UDF and then failing to mount [12:51] ralsina: i understand you [12:51] ralsina: this will happen only if the root folder continues to exist [12:51] ohhhh right [12:52] rye: you are right, I was wrong [12:52] rye: I will send a clarification [12:52] ralsina: and in this case we need to do some clever checking of the mountpoint, to tell whether it vanished vs everything was deleted [12:54] rye: I think if everything inside a volume disappeared withouth SD seeing it, we can assume it's dangerous enough that [12:54] something smarter should be done [12:54] rye: and thanks for catching that! [12:54] ralsina: hm, that would also work [12:55] ralsina: that would also work pretty well [12:55] rye: so, the triggering condition would be "a volume with nothing in it", which is easy to detect [12:56] ralsina: a volume that has nothing in it and it used to have something [12:56] rye: right [12:57] ralsina: otherwise all empty volumes will be unsubscribed and I have a test udf which is almost always empty [12:57] rye: right [12:57] oh, windows7 can mount NFS shares [12:58] rye: yep [12:58] rye: but it used to be very very flaky [12:59] rye: at least when it was called unix services or windows it was [13:05] oi [13:07] hi dobey [13:08] hi [13:11] rye: maybe you have an answer for this guy http://askubuntu.com/questions/130691/problem-with-file-synchronization-for-huge-amount-of-files-using-ubuntu-one-in-1 [13:16] ralsina: bug #978903 definitely [13:16] Launchpad bug 978903 in ubuntuone-client (Ubuntu Precise) "[precise] Client is stuck due to Upload executing before MakeFile" [High,Triaged] https://launchpad.net/bugs/978903 [13:16] ralsina: as per file sync is deactivated - what does that? [13:16] rye: nothing, AFAIK [13:16] rye: it may be a crashed SD [13:16] rye: because of OOMkiller or something [13:17] ralsina: when there's no SD control panel shows file sync is stopped [13:17] * rye greps [13:17] ralsina: also, verterok's tritcask going OOM... [13:17] bug #987376 [13:17] Launchpad bug 987376 in Ubuntu One Client "Tritcask fails to load data file bigger than address space." [High,Confirmed] https://launchpad.net/bugs/987376 [13:18] rye: could be === m_conley_away is now known as m_conley [13:41] ralsina, buenas! === JanC_ is now known as JanC [13:45] hola mandel [13:46] ralsina, today we have the 1-1 so feel free to let me know when it is ok for you [13:46] mandel: in a bit! [13:47] ralsina, whenever you want :) [13:51] mandel: as soon as this Guns'n'Roses playlist ends [13:51] * ralsina has priorities ;-) [13:52] mandel: just kidding, starting mumble [13:53] ralsina, on, starting it :) [13:53] * alecu pictures ralsina dressed up as axl rose. [13:53] mandel, ^ [13:54] alecu: ja! [13:54] heh [13:55] as axl rose in 2012? COmpletely doable. [13:57] I don't have the hair though: http://cache.blippitt.com/wp-content/uploads/2009/10/axl-rose.jpg [14:01] lol [14:01] ginger with cornrows [14:01] ralsina: if you were going to oakland, we could totally get you hooked up with that hair [14:01] maybe we can get sil drunk and get him some braids [14:02] oh lord! [14:02] dont know which is funnier *maybe* get him drunk or *braids* [14:14] heh [14:48] * ralsina misses Arch package management. It was crap, but it was *fast* crap. [15:01] me [15:01] me [15:03] me === mmcc_gone is now known as mmcc [15:03] * alecu is not working today [15:03] meh [15:04] thisfred, ralsina: que pasa? [15:04] me [15:04] hola [15:04] me [15:05] briancurtin: i think that's all. alecu/gatox are off today [15:05] DONE: some reviews on review day, installer work, sent binaries and installer off for signing [15:05] TODO: catch up on some bugs (syncdaemon as root, get_rootdir error) [15:05] BLOCKED: None [15:05] NEXT: mandel [15:05] DONE: research regarding fevents. FF project. ralsina 1-1 [15:05] TODO: more FF. Some reviews. [15:05] BLOCKED: no [15:05] mmcc, please [15:05] done: finished refactoring, windows VM finally works, started looking [15:05] at SSO client macos bugs [15:05] todo: keep looking at sso client bugs. They're packaging related and [15:05] one is network-sensing [15:05] blocked: none [15:05] next: go dobey go [15:05] λ DONE: more backports work [15:05] λ TODO: reviews, more backports work, SRUs, u1db packaging/buildsys [15:05] λ BLCK: none. [15:05] thisfred: go [15:05] DONE: bug 987412 TODO: adding tags functionality to u1todo BLOCKED: no NEXT: ralsina [15:05] Launchpad bug 987412 in U1DB "support indexes on non-string types" [Wishlist,Fix committed] https://launchpad.net/bugs/987412 [15:06] DONE: fun with SSL debugging, managementastic stuff, weekly call, varied 1-1s, doctor's appointment. TODO: some coding, hopefully, watch the avengers with gatox tonight, ubuntuone-installer debugging. BLOCKED: nop [15:09] no comments? EOM it is. [15:13] * mmcc doesn't get to watch TV anymore, but bug 994254 is making up for it [15:13] Launchpad bug 994254 in Ubuntu One Client "unable to update / upgrade ." [Undecided,Invalid] https://launchpad.net/bugs/994254 [15:15] mmcc: we get all the funny ones, yes [15:21] haha. Python occasionally gets some good reports like that, and a few from spambots that sell viagra. they usually get closed with "works for me" as a resolution [15:22] works for me :D [15:26] briancurtin: now, looking at that bug... "Google (false authentication , go daddy or Thawte instead & there turned off)" [15:26] rye: do you have a lucid box? Could you check that the SSL certificate in one.ubuntu.com appears as valid? :-) [15:26] * ralsina feels like he's reading rabbit entrails though [15:29] * briancurtin brb in a few minutes [15:30] mmcc: why did you vote "resubmit" on your branch? https://code.launchpad.net/~mikemc/ubuntuone-client/refactor-platform-event-logging/+merge/104301 [15:31] dobey, I misunderstood what that vote meant, and then didn't see a way to edit it [15:31] mmcc: vote again and change it to "abstain" [15:31] dobey: ok [15:32] dobey, done. [15:32] mandel: are you going to review that branch? [15:34] dobey, which one? https://code.launchpad.net/~mikemc/ubuntuone-client/refactor-platform-event-logging/+merge/104301 [15:34] dobey, I can if no one else is doing it [15:35] dobey, oh, I was added, sure I'll do it [15:35] mandel: well there is a "Pending" for you on it :) [15:35] thanks [15:35] mmcc, you have conflicts in https://code.launchpad.net/~mikemc/ubuntuone-client/refactor-platform-event-logging/+merge/104301 [15:35] mmcc, can you fix those? [15:36] need to run a few errands and get some lunch. bbiab [15:36] mandel, argh, yes. will fix after 1-1 with ralsina now [15:37] mmcc, sure === salgado is now known as salgado-lunch === salgado-lunch is now known as salgado [17:03] hmm === mmcc is now known as mmcc_lunch [17:27] mandel: can you check mmcc's branch again? looks like he fixed the conflict [17:31] ugh, and why is this sso branch 1200 lines [17:33] ugh i think this quantal vm is not usable. will have to re-do an upgrade from precise later [18:00] la la la [18:00] well blah === mmcc_lunch is now known as mmcc [18:14] ralsina: what is the best way to iterate over the items in a QListWIdgets? There is items() but that expects a QMimeData argument, which I don't know what to pass in for, because huh what? [18:15] thisfred: uh... give me 1' [18:16] thisfred: .item() [18:17] thx [18:17] for i in range(listwidgetthingie.count()): whatever.item() [18:17] for i in range(listwidgetthingie.count()): whatever.item(i) // I mean [18:18] that is mildly unpythonic ;) [18:18] but it works [18:18] thisfred: there is an iterator thingie but it's C++ to the core :-) [18:20] thisfred: you could even do a all_items = listWidget.findItems('', QtCore.Qt.MatchRegExp) [18:21] thisfred: or create the obvious generator that yields the items. All caveats about the universe imploding if you add/remove items apply [18:23] ralsina: yeah, and of course that's what I need to do :) [18:25] Question about lp:ubuntone-storage-protocol .. it has no release-3_0_0 tag .. was it branched before 3.0.0 was released? [18:30] mandel, dobey's right. check it at your convenience… [18:30] mandel, that is: https://code.launchpad.net/~mikemc/ubuntuone-client/refactor-platform-event-logging/+merge/104301 [18:30] SpamapS: huh? [18:30] SpamapS: oh, yes, the tags are on the stable-3-0 branch [18:31] SpamapS: we are branching the stable series at the beginning of the cycle, and make all releases from the stable series [18:31] mmcc: i think he's gone to the pub or something :-/ [18:32] dobey, yeah I guess it's just past beer thirty over there [18:33] yeah, it's 20:33 in Espana [18:33] i wish 1:30 was beer thirty [18:33] rather, 13:30 [18:36] briancurtin: heh. the rangers-capitals game tomorrow is 12:30, that's gotta be close enough… [18:36] dobey: yeah, I see that. It made it fairly hard to determine that a certain merge into 3.0.0 was released or not [18:36] I would expect trunk to have all the tags :-P [18:37] SpamapS: why? LP has the stable-3-0 branch linked for the precise release, doesn't it? [18:38] SpamapS: is this for the SRUs I did? [18:38] Yeah I found that later [18:38] dobey: yeah, they're releasing now :) [18:39] cool [18:39] well, the oneiric ones anyway [18:39] right [18:39] i haven't done any others yet :) [18:40] dobey: what I mean by the confusion though, is that it seems odd that trunk wouldn't have all of the tags from the stable 3.0.0 branch, plus more. [18:41] SpamapS: yeah i understood what you meant [18:42] i don't think there's any solution to that though [18:42] yay! 2.0.1 is in oneiric! [18:42] joshuahoover: ^ [18:42] hurray! [18:46] wrt. ralsina's email from earlier today, can someone catch me up on what UDF means? from context it sounds like a secondary synced folder? is it "user-defined folder"? [18:46] mmcc: exactly [18:46] mmcc: we always sync ~/Ubuntu One, but the user can choose other folders to sync, those are UDFs [18:46] ralsina: aha thanks. [18:46] mmcc unless they are folders he gets from another user, those are "shares" [18:49] ralsina: so that I understand this removal issue, the problem is it's hard to know whether a directory is empty because it's a vanished mount point or it's just been cleaned out while we weren't watching? [18:49] mmcc: exactly [18:50] ralsina, ok. I think on macos we could do the right thing for removable storage… at least for 99% of users. [18:51] mmcc: cool, we need to think about those things [18:51] mmcc: anyway, currently it's not possible to sync outside the user's home, so it's not as bad (unless you can mount things arbitrarily in mac?) [18:52] ralsina - you can definitely do whatever mounts you want in macos, but *I expect* 99.9% of people don't. [18:53] and the system handles removable storage and always puts it in /Volumes/ [18:53] mmcc: so if we are in there, we can assume it's a removable device [18:53] mmcc: on linux that usually would be /media, too, so same idea [18:53] yes, to be exact - if it's in there (and it's not a symlink to /) then we know it's not the boot drive… [18:55] oh man [18:55] the internet is full of lulz [18:56] ralsina: well, we can use the proper API to dtermine if something is local or not [18:56] ralsina: remote filesystems don't go in /media, for example [18:58] or mounted zip files [19:04] An error has occurred during the check: Success [19:04] ^ my windows kvm images are corrupted [19:05] -ESUCCESS is my favorite error [19:06] Error: faild to fail! [19:07] they are bootable but cannot be cloned or converted [19:07] i guess i have hit the bug with qemu-img [19:07] and qcow2 [19:09] dobey: yes, we can examine the path looking for mountpoints [19:09] dobey: and flag the volume as "on a removable device, treat carefully" [19:10] ralsina: or we could just use the simple glib or gio API which does everything already :) [19:10] ok, this is definitely bad, deleted snapshot - disk became truncated [19:10] dobey: sure :-) [19:11] ralsina, dobey, from apple's docs, there is plenty of API to check if a given path is on a volume that is removable / ejectable / local, etc [19:12] right [19:12] much smarter than my first thought to just make assumptions about /Volumes :) [19:12] I wonder how syncdaemon reacts to unmounting while it's running [19:13] "hey a lot of files disappeared but I got no delete events!" [19:13] ralsina me too - that's actually easier to solve (again on macos), since we can register callbacks for eject / unmount events [19:14] mmcc: on linux too, but they are async, so there is a good chance of weirdness [19:20] this actually leads into something I wanted to discuss - it looks like the most straightforward way to get good mac integration is to write some C (or ObjC) extension modules. Is there any reason I should be trying to avoid that? [19:21] building them right can be a little tricky but it's not a huge deal… just wondering if there were any reasons I wasn't thinking of… [19:23] what do you mean by "good mac integration" there? [19:23] to get the notifications of mount points? [19:24] dobey, right now, I mean to access the equivalent of NetworkManager [19:24] but the device add/eject callbacks are in C, and the volume info API is ObjC (although there is a 'bsd layer' C API too) [19:25] hmm. what are we doing exactly for network on windows right now? just acting like there is always network and failing when things fail? [19:27] that's what the darwin code does now. it looks like on Windows, it accesses windll.wininet.InternetGetConnectedState [19:28] which looks like the right thing [19:28] ah [19:28] so it's basically using some magical ctypes stuff [19:29] thatis, ctypes.windll. [19:29] yes [19:29] so I guess at least for now I might be able to do the same thing and avoid building my own extension modules… [19:29] we'll probably need to do that on osx too, but i guess there isn't API in Python that already wraps it [19:30] sorry, already wraps what? [19:31] already wraps the NSWhatever API [19:34] ah, ok. so if we're OK adding a dependency on PyObjC, we can get all the Cocoa frameworks bridged for us, then we just do "from Foundation import NSWhatever" and we're off [19:34] I've written a couple apps like that, it's not bad. [19:36] we'll probably need to do that. ralsina? [19:41] well, it's something to think about. It depends on the number of times we need to call ObjC api. C api should be easy with ctypes [19:43] and although PyObjC is continuously developed and used for a few shipping products, no one maintains it full-time. [19:43] dobey: reading backlog [19:43] mmcc: yes ctypes is fine [19:44] mmcc: so it's about time for pyobjc to make it into the core library? :) [19:48] dobey: hmm. if that means Ronald would get some donations to spend time on it, then sure :) [19:48] heh [19:49] it means Python core library is where good modules go to die :P [19:54] in the same vein, i'd eventually like to put pywin32 in as well [19:55] briancurtin: is there any chance of we ever getting a pywin32 egg? [19:55] briancurtin: I never managed to build it because it needs the full VS (not the express one) [19:56] ralsina: i could look into building one if it would help [19:56] briancurtin: would make it possible to skip one manual step in the env setup, maybe [19:57] briancurtin: so, not important, now that we all have it setup ;-) [19:57] ralsina: one more fun question: can I prevent a qlistwidget from selecting the first row automatically? [19:58] true. it is unfortunately one of the harder installers to find for python projects [19:58] thisfred: of course [19:58] thisfred: in fact, it only does that if the list has kbd focus [19:58] thisfred: you want it to be selectable still? [19:58] maybe I did something stupid to cause it, but it always does it on startup [19:58] ralsina: yeah it should be selectable [19:59] thisfred: setCurrentItem(None) IIRC [19:59] ralsina: ah [19:59] ralsina: but when do I do that: the selection seems to happen after my __init__ is executed [20:00] is there an onLoaded signal? [20:00] thisfred: ok, do you have any other widgets visible? [20:00] yep [20:00] give t [20:01] hem focus? [20:01] thisfred: no, there isn't [20:01] right [20:01] change the tab order so another widget is focused [20:01] you can do that from designer [20:02] ralsina: awesome, works [20:03] thisfred: try it first. I have been known to lie. [20:03] I did :) [20:05] hehe [20:06] Nice to know my devs know me. [20:12] mmcc, dobey approved [20:14] hi mandel, thanks [20:18] ralsina: for all your help, I give you: ONE FREE REVIEW! Limited time offer. Void where prohibited. May cause drowsiness and prolonged vomiting. Patent pending. [20:18] https://code.launchpad.net/~thisfred/u1db/u1todo-4/+merge/104802 [20:18] thisfred: I have to skip in about 12 minutes to take my son to see The Avengers ;-) [20:18] ralsina: fair enough :) [20:18] thisfred: so it will be there for you on MONDAY [20:18] ralsina: no hurry [20:19] maybe dobey can tear me a new one in the meantime [20:21] thisfred: you are a miserable human being. [20:21] dobey: I try [20:22] thisfred: no i take that back, you're not human. you're dutch. [20:22] :) [20:22] dobey: In that case, please pay extra close attention to the XML! :P [20:23] dobey: I'd ask gatox, but he's argentinian, so he doesn't work on days that end in 'day' [20:24] or however they determine public holidays there ;) [20:25] haha [20:29] thisfred: he's on swap today. And also coming to see the avengers with me ;-) [20:29] 548 lines? crikey [20:29] dobey: chill, half of that is XML you can skip [20:30] ralsina: have fun! [20:30] and the other half is python i can skip? :) [20:30] dobey: sure, rubber stamp it. It won't come back to haunt you some day. Probably. [20:31] isn't this supposed to be a well documented demo app? [20:31] dobey: ehhh, I didn't want the diff to get overly long? :D [20:32] dobey: working on that for my next branch [20:32] also, it's python, so fairly self explanatory. [20:32] * thisfred hides [20:33] eh whever [20:33] pronounced with a Harvard wh [20:35] I'm still hearing your inner valley girl [20:36] it's too ghetto to be valley girl [20:57] * mmcc has a spike with ctypes-based macos network detection working [20:58] EOW for me. Have fun people! [21:00] bye ralsina, have a great weekend [21:01] that was no 12 minutes! === m_conley is now known as m_conley_away [21:38] later all. have a good weekend! [21:42] see ya dobey [21:50] dobey: since you asked: https://code.launchpad.net/~thisfred/u1db/u1todo-whats-up-doc/+merge/104811 [21:50] oh nm: have a great weekend! [21:50] * thisfred off too [22:05] bye everyone