[04:20] Hi guys, I'm not sure if this is a U1 issue but I noticed that on Friday, April 13th, a whole bunch of files were deleted. I haven't narrowed down now whether it might be a U1 issue or not... Have you guys heard about anything on this [08:14] StepNjump_: hello, do you see these files in the Trash folder? [08:34] Morning all! :) [08:36] morning all! [09:25] mandel: mornings [09:26] so, IPCError message is most likely related to files_sync_enabled=False in the config file [09:44] rye, you got me completely out of context, what do you mean? [09:46] mandel: edit .config/ubuntuone/syncdaemon.conf, add files_sync_enabled=False in __main__, shut down ubuntuone. Open control panel [09:46] kaboom [09:47] rye, and you get an IPC error for that... what might have happened is that the IPC is started when the fily sync is enabled, therefore, if it is not started you get an error because the socket is not being listen at [09:48] rye, sounds like a big bug in a way, is there a bug report for that? [09:53] mandel: in new controlpanel there is no switch to disable files sync, this is a heritage from the old control panel, which did not work that great when syncdaemon was disabled either [09:57] rye, hm.. then what do you recon we should do, there is something we can don in the control panel to deal with this, which is to check that file sync is enabled and not try to connect to if it is not [09:57] rye, sounds like a small change since.. but it depends on how you access the config of sd, if it is via the IPC we have a problem [09:58] mandel: for the latter we need to be able to enable the sync when it is disabled. And yes, we can re-enable the SD via IPC, which it is not listening to when it is disabled [09:58] i have no idea why that was implemented this weird way [09:59] mandel: i wonder whether our control panel can function w/o SD underneath. At the moment it does not look like this [09:59] rye, me neither.. I guess we inherited that from the old code.. nevertheless is a bug, it is pointing out something bad in our code/design [09:59] rye, it does not, I'm certain about that, is heavily couple (not in code, but in IPC) with the sd process [10:00] mandel: it's like a joke that "A JavaScript counter has provided us with the stats that 100% of users have JavaScript enabled" [10:01] rye, lol, it is exactly that [10:01] mandel: the thing is we can't query SD about whether it is enabled or not, because it won't respond, it's like one-way switch [10:02] rye, yeah.. a way to do that would be to use the module that reads the config from ubuntuone directly, but that ain't good as I think there was some effort put to not use the ubuntuone modules [10:02] Ideally - "The file synchronization service is disabled - do you want to enable it?" before control panel appears, because the users might have some valid reasons to disable it [10:03] but this will require SD modules interaction, yes [10:03] rye, the best way would be if we had named pipes instead of socked (is like domain sockets on linux) where we would ask, is anyone listening in username.ubuntuone? if it is not, we are not enabled or not running [10:03] rye, and move the start of the ipc outside the method that start the sync operations [10:03] rye, have you tested this on ubuntu, what happens? [10:05] mandel: i am actually talking about the Ubuntu and dbus :) [10:05] rye, oh fuck! I though it was windows.. then that is even worse.. [10:05] language... [10:06] mandel: bug #927572 [10:06] Launchpad bug 927572 in ubuntuone-client (Ubuntu) "Cannot enable file sync once disabled via control panel" [Undecided,Confirmed] https://launchpad.net/bugs/927572 [10:06] rye, then we have to move the dbus config interfaces outside the start of the sync, there is no question about it [10:07] rye, and we ALWAYS have to expose the config interfaces, no matter what [10:07] mandel, and keep the process running? [10:07] * rye wants per-user upstart jobs [10:07] rye, we can use dbus activation for that, right? [10:08] rye, just like sso, have the config interface for that so that every interaction is done via the control panel [10:08] mandel: or have another lightweight process running for config changes and signaling dbus... even though it is additional layer [10:08] ... and signalling SD about the changes over dbus [10:09] rye, is not an 'new' layer per se, but a new service, but it means work.. [10:09] rye, we have to bring this up to ralsina and alecu asap since they have to do the road map planning and this, although not a huge amount, does add some overhead [10:10] rye, and it will affect all platforms (including mac os x which we have started) [10:43] Am I right in thinking that Ubuntu One provides OpenID? [10:44] JamesMR: no, you are not [10:45] aah right, what form does the single sign on take? [10:45] JamesMR: we use the Ubuntu SSO service [10:46] so, it's proprietary? [10:47] JamesMR: what? no [10:48] JamesMR: what is it you're asking? [10:48] Sorry, It's early for me and I'm a little confused. [10:48] I have a web app which I would like to use the Ubuntu SSO service to sign users in [10:48] is that possible? [10:49] JamesMR: yes [10:50] JamesMR: the ubuntu sso service is an openid ... provider? is that the right term? [10:50] I think so [10:50] you can log in to your own stuff by pointing at the right urls on sso [10:50] you'll get the "untrusted" version, which means the user can choose not to send required fields, so you have to handle that [10:50] yup, I think the bit that's been confusing me, is that I can't find any reference for what the "me" url is [10:51] JamesMR: would your app happen to be django? [10:51] nope, sorry [10:52] ah. I might've been able to point you at sample code, if it was :) [10:52] nodejs, but I can understand python and would be willing to port code [10:56] give me a sec [10:56] it's just openid; i'll see where i have the code, i'm sure just reading it will give you the right urls and stuff [10:58] JamesMR, you can just use login.ubuntu.com as the me url [10:58] ... or, you could talk with aquarius and/or jamesh :) [10:58] JamesMR: http://bazaar.launchpad.net/~django-openid-auth/django-openid-auth/trunk/files/head:/example_consumer/ was the code i was looking for, but as aquarius, there's nothing magic. [10:58] haha, jderose just suggested to me that I bug you aquarius [10:59] say hi to jderose :) [11:00] hang on, maybe I'm lying [11:00] you lying lyor [11:01] how do I share folders with the general public? [11:02] aha, I was right [11:02] I just punched https://login.ubuntu.com into http://apps.md87.co.uk/openid/ as my openid and it worked fine [11:02] so, JamesMR, that's what you want [11:02] jml, you cannot, I'm afraid [11:02] sweet, thanks aquarius [11:02] jml, only files can be published to a URL [11:03] which means I can force users to use Ubuntu One.. [11:03] :( [11:03] JamesMR, so, just use a standard openid consumer but hardcode the user's openid to https://login.ubuntu.com (so you can provide just a "sign in with Ubuntu One" button without a textfield needed) [11:03] yup, brilliant [11:04] JamesMR, node must have an openid consumer already; if not, there's certainly a JS one in existence so making it work with node should be trivial :) [11:04] jml, soz. [11:04] jml, part of the issue there is: what would "share a folder" mean? Imagine that you could give me a link to a folder; what would I get if I followed that link? a file listing with individual links in it (like Apache does for directory browsing)? A zip file? [11:05] aquarius: in this case, it's sharing photos. [11:05] aah, I believe I've sort of met you - last UDS, I was the tall one with Jason/Novacut [11:05] aquarius: oddly enough, Ubuntu One already seems to have a thing that's a file listing with individual links in it [11:05] JamesMR, yes indeed :) [11:06] jml, as in... the on-the-web files view? [11:06] aquarius: yes. [11:07] jml, if you want to fake that, you could do; publish the individual files, get public URLs for each, write an HTML page containing filename for each file, save the HTML page into U1, publish the HTML page, send the HTML page's public URL to your friends [11:07] I had a script lying around somewhere that actually did that, a long time ago [11:07] aquarius: what a time saver this cloud thing is [11:07] maybe I should revitalise that script. [11:07] aquarius: seriously, it'd be easier for me to rsync to my public web server [11:08] jml, I agree with you; at the moment, it probably is easier, which is why I said that you can't publish a folder right now. [11:08] aquarius: :) [11:08] it's easier to use an oven to cook things than it is to use Ubuntu One to cook things too, because we don't support cooking either ;) [11:09] aquarius: that's a poor analogy [11:09] all my analogies are poor. It's part of my charm [11:12] I rather like that analogy [11:12] jml, JamesMR: "When the seagulls follow the trawler, it's because they think sardines will be thrown into the sea. Thank you very much." aquarius or cantona in 1995 [11:12] I don't know which one was the original author, I incline towars aquarius .. [11:12] ha! Eric had some wisdom at times [11:13] JamesMR: it would be a better analogy if U1 had something about cooking in its banner on the front page, as it does about sharing files. [11:14] I'm now envisioning a device which locks one's microwave until one signs in with U1 [11:33] Bug #88299281 I set U1 to defrost, but all my sardines came out black. [11:33] Error: Launchpad bug 88299281 could not be found [11:34] Hahaha [11:43] ubuntu one client is sneaky, upload/download bandwidth is 0, yet it managed to upload a file. I guess the same air conditioning restriction here [11:48] oh, a hw lockup [12:30] lunch for me [13:06] good late morning! [13:11] there has been an error - unable to copy file - autoupdate 2.something to 3.0 [13:12] rye, mandel: agreed config iface should be available at all times. [13:13] ralsina: ^ do you know about this - autoupdate-windows.exe tries to overwrite itself, which it can't since that's windows [13:13] rye: hmmm... interesting. good news is, the old autoupdate-windows.exe should work anyway for the following update [13:14] rye: OTOH, I wonder how that's supposed to work since it's almost what autoupdate does :-) [13:15] ralsina: it should copy itself to some temp location and relaunch there [13:16] ralsina: so, upgrades to 3.0 from 2.x don't work [13:18] rye: 2.0.3 to 3.0.0 works iff you reboot or if you close U1 and then stop the SSO and SD processes [13:18] good morning all! [13:18] briancurtin: umm, i tries to unpack autoupdate binary, which is in use, how that would be different when i reboot and re-run the autoupdate? [13:19] rye: i came into the conversation a bit late, so i'm not sure what "unpack autoupdate binary" means [13:20] what i did was run 2.0.3, see that there's an update available, choose yes to get it, the autoupdater runs, it downloads and installs, then 2.0.3 remains running. once you kill it and everything associated with it, 3.0.0 runs [13:20] briancurtin: STR: 1. launch old control panel, 2. it says there is an update. 3. Launch the update. At this moment autoupdate-windows.exe process is started. Then this process tries to unpack the new update and tries to overwrite autoupdate-windows.exe, which is what currently running, leading to kaboom [13:20] rye: i never experienced that [13:21] briancurtin: hmmm [13:21] i always got it to work, even though it's a bit crappy in how it operates [13:21] i guess i know how to reproduce [13:21] but it worked this time [13:26] rye: it always worked for me, too [13:27] although we *could* make a copy of autoupdate.exe and launch the copy, but I am guessing that will get very explodey [13:29] ralsina: briancurtin, ok, sorry, i guess this has to do with tokens being wrong, thus controlpanel was not completely initialized and then autoupdate might have been running in a wrong way [13:29] rye: that should not happen either, but hey :-) [13:30] ralsina: should it be running proxy tunneling service even though I am not using proxy? [13:30] maybe we should change the update.xml to not offer this as an upgrade, but have marketing do some push to get people to manually download 3.0.0 to prevent some of these update mishaps? [13:35] briancurtin: i'll take another 10 minutes to reproduce this, and if I find out how, we'll see whether this is such a big deal [13:41] rye: it should start and exit if you don't have a proxy [13:42] ralsina: ok, no reason to worry about that error i started poking you with, cannot reproduce [13:43] rye: ok then [13:43] rye: that's all 3rd party code, actually :-) [13:43] ralsina: however i found that the old processes of ubuntuone-* are still running, and new control pannel does not want to work with old syncdaemon. Can we kill the processes and restart after an upgrade? [13:44] rye: it's tricky because the upgrade runs as a different account [13:44] rye: we should ask for a reboot [13:44] ralsina: ahh [13:44] ralsina: bug [13:44] ralsina: but [13:45] rye: or kill everything. Maybe briancurtin knows how, but the process API on windows made me dizzy [13:45] ralsina: i was playing with indicator and had an idea - can you add another directory watch to the dist directory and in case binaries have changed, then re-exec the process? [13:45] indicator does this now [13:45] rye: we want to do that for linux too [13:45] rye: it's an old wishlist we have [13:46] rye: in any case, on windows, the u1cp doesn't exit, so getting a new u1cp with old sd is not somethig that will happen to users normally [13:46] ideally everything should be killed since as rye says, new CP doesn't work with old SD. we can use WMI or something to search the running processes for U1 ones, and if we have the rights to kill it, we kill it, otherwise request a reboot [13:46] rye: also, when you exit u1cp it kills syncdaemon [13:47] briancurtin: we should have the right, since update runs as admin [13:47] briancurtin: we don't have how to *restart* them from the updater though [13:47] ralsina: why can't the process restart itself instead of having an external force? We don't have this in Ubuntu, but processes can definitely re-exec themselves [13:47] rye: yes, that's the better solution so far [13:48] ralsina: we could possibly have some auxillary script that runs as a step of the uninstaller which handles that, although it seems that the uninstaller is built automatically from the installer (just as the reverse) [13:48] ralsina: 1 inotify handle, 1 function, one execl call... [13:48] rye: no inotify on windows [13:48] rye: but we have alternatives [13:48] * rye has not yet figured out whether the process should kill itself when it is uninstalled [13:48] ralsina: yes, somethingDirectoryChanges [13:49] * mandel back [13:49] ralsina, alecu, rye we should then add a bug to make the config iface available all times to avoid the use case that rye mentioned [13:49] rye: we can't do that on linux anyway. on windows perhaps, though i'd probably try to find some better way to do it than a simple file/directory watch [13:51] dobey, I removed the return bytes(iri2uri) code in https://code.launchpad.net/~mandel/ubuntuone-dev-tools/mocked-webserver care to take a look [13:51] dobey, I also used format in all the new lines [13:51] dobey: why can't we do that on linux? dependency on other packages that might not yet been installed? [13:51] rye: postinstall stuff doesn't happen until all packages in update have been unpacked [13:52] dobey: we could send a SIGHUP to all syncdaemon processes [13:52] rye: so you can end up in a weird state [13:52] dobey: as part of postinstall. That's easy to implement. [13:52] dobey: it's even what SIGHUP is for, semantically (more or less) [13:52] ralsina: SIGHUP to all the processes! [13:52] oh [13:52] :) [13:53] rye: hehe [13:53] eh [13:53] ralsina: we can do something similar on Windows, i think, although i've never seen it exposed to python [13:53] briancurtin: on windows we can just watch the u1cp binary from u1cp and restart [13:53] and then you will only end up with a half-new system [13:53] briancurtin: should just work [13:53] even easier [13:53] briancurtin: since u1cp can stop/start sd [13:54] then there is sso [13:54] you should wait until the updater process exits, before restarting [13:54] true [13:54] dobey: so, get the file change, check process list, exit? [13:55] ralsina: umm, no, this is too rough, i understood dobey. As a stopgap - the updating process should signal that it has finished first [13:55] something like that. assuming user X can see the admin process list [13:55] so, tricky [13:56] sorry, stopgap is a file put at the end of installaton process [13:56] and "reboot to finish upgrade" looks better and betterer [13:56] file changed - YAY, can install [13:56] * mandel managed to brake his mac! [13:56] it's windows [13:56] just make the installer reboot at the end [13:56] on linux, i need to check what's in postinstall to start speculating [13:57] "when in doubt, reboot" [13:57] don't worry about linux [13:57] dobey: well, that's how the history taught us to behave, not that we are happy to do that during the testing. [13:57] * rye hates reboots [13:58] just s/reboots/computers/ there :) [13:58] dobey, +1 I hate computers.. [13:59] and people.. I hate people more, but computers too. [13:59] and people with computers.. those I hate the most [13:59] mandel: you can fix computers though [13:59] rye, and kill both :P [13:59] * dobey doesn't have enough money to fix computers [13:59] dobey, I'd say time :) [14:00] dobey: ah, fix as in generally broken state, not an instance of a brokeness [14:00] money is what buys time [14:01] okay, on linux we ask postinstall to broadcast a signal on the system bus that says the package is configured... ... meh, still fails for more than 1 package [14:01] rye: indeed. spending all day fixing bugs, doesn't fix computers :) [14:01] rye: no it doesn't [14:01] rye: like i said. don't worry about it. [14:01] rye: i've already thought about it plenty enough, and have a halfway done solution already [14:02] mandel, briancurtin: how's the jenkins-windows-nightlies thing progressing? [14:02] meh. i need food :-/ [14:02] ralsina, all sso branches have a green light, I need dobey to take a look at the devtools one, land that and move to get jenkins to start running tests [14:03] mandel: ack [14:03] dobey: ^ [14:03] yes it's on my list [14:03] he knows :) [14:03] ok [14:03] need to mumble with mandel to actually get it building inside jenkins, since the tests are pretty much ready to go. i'm fighting with the setup script to automate the installer building piece. also need to push forward the buildout environment, since the installer script uses it [14:04] briancurtin: awesome, you could start with the buildout since the rest is a bit blocked [14:04] briancurtin, cool, shall we do that after the standup? [14:04] thisfred, urbanape may I have reviews: https://code.launchpad.net/~mandel/ubuntu-sso-client/remove-duplication/+merge/101724 [14:04] ?? [14:04] looking [14:04] mandel: ah, one more thing i forgot to mention yesterday :-/ [14:04] mandel: yessir [14:04] ralsina: yeah i'll push on buildout, especially since that's basically done [14:05] mandel: yeah that sounds good [14:05] briancurtin: cool, thanks [14:05] dobey: ? [14:05] dobey, tell me! [14:06] Can we have the scheme, host, and port all passed around separately? Passing around "http://foo:{0}" is ugly, and exposes the string structure in the API. Would be better to just pass in scheme and host in these functions, and have the internal code properly construct the URL. [14:06] was typing that on the proposal :) [14:07] dobey, finish it in the MP and I'll do it :) [14:08] mandel +1 [14:09] thisfred, sweet :) [14:09] mandel: that is what i typed in the mp :) [14:11] dobey, sweet on it [14:11] ralsina, urbanape I managed to get the mac os x not to boot again, so I'm re-installing the system.. I don't know how I managed to do that [14:12] will make sure I start on mac os x by the end of the day [14:12] crazy. so i have 2 UPSes in my office, of exactly the same model. one for workstation stuff and one for server stuff. and they have synchronized their test mode, so every once in a while they both just jump into test mode and it's a bit freaky [14:12] mandel: fun fun [14:13] urbanape, on the good side, I'll start with a clean system.. [14:16] mandel: yikes [14:25] http://packages.python.org/manuel/ [14:26] dobey, to understand correctly, you want a get_host, get_scheme and get_port method (or properties) so that the test case that uses it build the url, is that correct? [14:26] thisfred, lol [14:27] thisfred, manuel.ignore :P [14:27] mandel: no [14:27] dobey, can you give me an example in code of the api you want? [14:29] mandel: hrmm. also, i just realized that the "testcase" module doesn't provide any test cases. [14:30] dobey, I beg your pardon? what do you mean? [14:30] mandel: i want to not have the host/scheme/port stuff exposed in the tests as it is now [14:30] mandel: txwebserver.py only includes a mocked server. no test case for using that server [14:31] i'm here!! working from a friends house.... [14:31] dobey, exactly, since it is better not to add yet another ones, I can add one of course whithout much work, do you think is needed? [14:31] gatox, morning/afternoon! [14:31] gatox, I updated you mp :) [14:31] power will be back at my home in a couple of hours :@ [14:31] mandel, ok, checking.. [14:31] gatox, that happens from pissing off spaniards ;) [14:32] mandel, jejjeje [14:32] gatox, official decision here is to nationalize messi :) [14:33] mandel: well, what i want is to not have the test cases which are supposed to use this, have to worry about host/port/scheme junk [14:33] mandel, do it.. i don't care about futbol :P [14:34] dobey, that is what we hav get_iri, the test does not care about host, scheme or port, just wants to use it [14:34] mandel: for example, how much of this stuff in the test_txwebserver.py is going to be duplicated by other things using this? [14:36] 293 + super(HTTPWebServer, self).__init__(root_resource, [14:36] 294 + u"http://127.0.0.1:{port}/") [14:36] i really don't like that [14:37] passing string formats around is nasty [14:37] dobey, oh, that, sure we can make the inheritors do that, makes sense [14:37] dobey, I though you mean a more complicated stuff [14:37] to me, it seems like you should only pass in scheme there [14:38] BaseWebServer.__init__() should probably take scheme, host, and port as keyword arguments, with defaults [14:38] mandel: well, I grabbed your latest ubuntuone-dev-tools branch and your fix-activation-tests ubuntu-sso-client branch, and I'm still getting hangs. [14:38] dobey, and regarding of the duplication, the tests that used it have no extra code, for example: https://code.launchpad.net/~mandel/ubuntu-sso-client/fix-webclient-tests/+merge/101410 [14:39] and it also seems weird that self.port isn't an integer, but some strange object you have to dive deep into, in order to get the port :) [14:39] urbanape, hm.. interesting, I'll run your branch asap I have the macbook back to life [14:39] k, and I can walk you through what I've done. I don't think I'm missing anything about those two branches. [14:39] dobey, twisted! but certainly, we want to use random ports that the test case does not care about, passing the port will be a PITA since we don not care [14:40] mandel: then don't pass the port. but why are we passing the host as well then? [14:40] mandel: it should always be 127.0.0.1 i guess? unless we also need to support ipv6? [14:42] dobey, certainly, I thin the base init just needs to take the scheme and thatis more than enough [14:42] right [14:43] dobey, I'll make that change then [14:43] hmm, the diff in that sso branch isn't particularly helpful, as it's basically switching the import and moving code out [14:44] dobey, hmm take a look at the code, the diff just shows the removed stuff, is you look at hoe it is used it gives a better overview of the API in use [14:51] mandel: hmm, as this contains no testcases, and just some fake stuff, i wonder if it wouldn't be better under the testing/ directory instead of testcases/ [14:58] dobey, that I can do.. I just have to update the other branches :) [14:58] dobey, but tell me know before I go and do it! :P [14:58] i think so, yes. [15:01] me [15:01] dobey, ok, doing it! [15:01] me [15:03] meh [15:04] gatox, thisfred, urbanape, alecu: should we perhaps skip the standup? :) [15:04] ralsina: ^^ [15:04] dobey, no need! [15:04] me [15:04] me [15:04] me [15:05] me [15:05] thisfred: ? [15:05] mandel, too [15:05] me [15:05] alecu: he's already here :) [15:05] mandel: go [15:05] right! [15:06] DONE: gave myself a heart attack, tested a bunch of upgrade and installs, installer automation [15:06] TODO: wrapup buildout since it's a dependency of some of the automation setup [15:06] BLOCKED: none [15:06] NEXT: mandel [15:06] DONE: Reviews, reviews, updated MP from my side. Broke my Macbook badly. [15:06] TODO: Re-install mackbook. Chat with brian about jenkins, update webserver to testing under ubuntuone-dev-tools [15:06] BLOCKED: no [15:06] dobey, please! [15:06] λ DONE: some reviews, bug #983144 [15:06] λ TODO: backport fixes, SRUs, finish some reviews, u1db packaging [15:06] λ BLCK: none. [15:06] Launchpad bug 983144 in ubuntuone-client-gnome (Ubuntu Precise) "Stopping sync of a UDF causes unrelated warning" [Medium,Triaged] https://launchpad.net/bugs/983144 [15:06] alecu [15:06] DONE: some reviews, and bugfixing in some private bugs [15:06] TODO: more of the same [15:06] BLOCKED: no [15:06] NEXT: ralsina [15:06] DONE: tech leads call, mgmt call, thinking, planning, etc, helped around bits. TODO: same thing, harder. BLOCKED: no NEXT urbanape [15:06] DONE: got caught up on email, various administratrivia, updated branches, reviewed mandel's de-dupe branch. TODO: Back into the fray of the mac os x port. BLOCK: None. NEXT: gatox [15:06] DONE: [15:06] Starting late because of power issues, rechecking word wrap implementation for some issues that i found yesterday about qcheckbox behaviour (for the parent) [15:06] TODO: [15:06] Finish with that and keep working in another ui issues. [15:06] BLOCKED: [15:06] No [15:06] thisfred, go [15:06] alecu: for private bugs, there are lotions. [15:06] DONE: landed test improvements, started on u1db example app TODO: get example app working BLOCKED: no [15:07] ralsina, lols [15:08] thisfred: if/when you need help getting started with Qt feel free to ping me or gatox [15:08] ralsina: will do! [15:09] also on my todo is a 1-1 with ralsina at some point [15:09] and I'm sure it's gonna be when rather than if ;) [15:09] briancurtin: agreed, maybe in 1 hour? [15:09] ralsina: i think that's when it's scheduled so i can do that [15:10] briancurtin: if I ever do one of these on time, I will be so happy :-) [15:10] and yes, most times, I am not available right on time [15:10] ralsina: no worries, whenever we get to it is fine [15:12] briancurtin, give me 5/10 mins and we mumble, is that ok? [15:12] mandel: yep, that's fine [15:14] ralsina, gatox was telling me about some more issues he's facing with the checkbox wrapping code. [15:14] * gatox writing problem [15:15] ralsina, it seems that it's easy to let the checkboxes grow horizontally, but not so easy to shrink them. [15:15] alecu: interesting [15:15] ralsina, i was talking with alecu about a problem i found yesterday with the checkbox text wrapping....... the problem is, because of the properties of the checkboxes, we are able to wrap them correctly now with the functoin, but when you resize the window to make it bigger.... the parent container of the checkbox take that now that is the minimum size.... i tried setting the minimumsize and stuff, but once you increase the size of the w [15:15] indow, you can shrink it [15:16] ralsina, so, gatox is proposing we reconsider the option of using our "custom checkboxes" [15:16] gatox: you "can't shrink it"? [15:16] ralsina, you can shrink the window with the mouse.... to a size smaller that the size of the biggest checkbox [15:16] ralsina, "U can't shrink this".... "break it down"! [15:17] gatox: and the checkbox re-wraps? [15:17] ralsina, so..... i was thinking of.... implement something before the actual resize so we allow that option.... or use some custom checkboxes [15:17] alecu: se te cayó una sota :-) [15:17] ralsina, the checkbox re-wraps on expanding.... [15:17] gatox: but does it rewrap on shrinking? [15:18] ralsina, but the resizeevent of the window won't allow you to resize it to be smaller that the biggest checkbox.... is like the minimum size is setted internally to the size of the biggest checkbox [15:18] and it makes sense [15:18] gatox: ok, so you can't shrink the window :-) [15:19] gatox: I think I understand [15:19] it's what the window do by default when you add a big checkbox [15:19] So, alternatives? [15:19] ralsina, i was thinking of: [15:19] briancurtin, I'm ready when you are :) [15:20] gatox, what about the QSizePolicy of the widget? are you setting some values there? [15:20] ralsina, implement some kind of logic before the actual resizeEvent oof the windows.... or change to use a custom checkbox.... as we are doing with the one i implemented for sso setup [15:20] alecu, yes, i've tried that [15:20] resizeEvet [15:20] looks easiest [15:21] ralsina, ok then! [15:21] i'll do that now! thanks! [15:21] just reset minimumSize to 0,0 on resize and call the super's resize [15:22] alecu: http://www.linuxuser.co.uk/reviews/raspberry-pi-review-the-price-is-right-but-the-software-is-not/ [15:23] gatox, my other guess would be to use QSizePolicy::setHorizontalPolicy() with QSizePolicy::MinimumExpanding or QSizePolicy::Minimum [15:24] ralsina, yes, saw some raspberrypi articles today. It's obvious that the software is pre alpha, don't know what those guys were expecting. [15:25] alecu: they demand *perfection* ;-) [15:26] alecu, i've tried that.... but in the __init__, i'll try to play with those things in the resizeEvent [15:27] ralsina, it scored 5/5 in that review, though. [15:27] ok. need to get food. bbiab [15:27] gatox, that sounds like something that should be set in the init, not in the event handler. [15:28] alecu, yes, but in the init it wasn't working.... and as we are trying to do something that is not intended for.. i'm trying some optinos [15:29] gatox, alecu: let's try to keep those things in designer [15:30] gatox: otherwise, someone changes things in designer and they will be overwritten by code, which sucks because it seems things don't work. [15:32] right [15:32] agree [15:35] gatox, I'm pretty sure that some combination of QSizePolicy.PolicyFlag should produce the results we want. [15:35] alecu, yes, i was trying that yesterday.... but i didn't find it yet :P [15:35] gatox, QSizePolicy::Expanding GrowFlag | ShrinkFlag | ExpandFlag The sizeHint() is a sensible size, but the widget can be shrunk and still be useful. The widget can make use of extra space, so it should get as much space as possible (e.g. the horizontal direction of a horizontal slider). [15:35] alecu, yes, i already try that [15:36] gatox, "can be shrunk and still be useful" [15:36] gatox, do you have a small test script for this? [15:36] alecu, yes, but you are not taken into account the checkbox policies.... so, i'm trying to workaround that [15:37] gatox, if you are able, try to make a small example that creates a window with one of your reflowing checkboxes. [15:37] gatox, and then we can play setting these values. [15:38] alecu, yes.... that's the way i'm testing this [15:38] gatox, awesome. Can you pass me the url for that branch? [15:38] alecu, let me try some more options [15:38] alecu, the branch or the script? [15:38] gatox, brach, script: lomismo! :-) [15:39] alecu, this is the branch i'm working on: https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/checkwrap/+merge/102152 [15:40] mandel, re: your comment in this branch: https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/checkwrap/+merge/102152 [15:40] mandel, "we should stop using the old string formating": that is wrong [15:41] alecu, the sentence, grammar or message? [15:41] mandel, I've pasted some references to that in the last branch of yours that I reviewed. [15:41] alecu, true, I read that, I just commented it before I did read yours.. [15:41] mandel, "%" string interpolation is not going away for py3k [15:41] mandel, ok, great. [15:41] alecu, shall we then not use format? [15:42] alecu, I would like to know our approach, I don't mind either way but I'd like to not have to think about it when I write code :) [15:43] mandel, I think we can discuss it and agree on some option. [15:43] alecu, in this case, since I have no preferences, I prefer a 'decretazo' and be told what to use :) [15:44] i don't have the benchmarks handy, but %-style is faster, and i doubt we will ever remove it even in python 4 [15:45] we already have issues to start migrating everytihng to .format [15:45] mandel, briancurtin: we should not care too much about "%" being faster than ".format", unless we are building a templating library. [15:45] alecu, ^^ [15:45] agreed (i'm a .format fan myself) [15:46] gatox, which issues do we have regarding ".format"? [15:46] alecu, https://bugs.launchpad.net/ubuntu-sso-client/+bug/904960 - https://bugs.launchpad.net/ubuntuone-control-panel/+bug/904960 - https://bugs.launchpad.net/ubuntuone-client/+bug/904960 [15:46] Ubuntu bug 904960 in Ubuntu One Control Panel "Migrate to use .format() when formatting strings" [Low,Triaged] [15:46] :P it was the same..... [15:47] but targeting 3 projects [15:47] gatox, briancurtin, mandel, all: I think we should all agree on a given way, and start using that. But we should not stop branches because they don't follow the convention when we don't have one! [15:48] gatox, it's a low priority bug, but we should ask natalia for the rationale of it. [15:48] alecu, well, I don't block about format, I block about += in that specific case ;) [15:48] mandel, and that's awesome :-) I was not referring specifically to your branch, but to a few branches that have been blocked lately. [15:48] alecu, but indeed, we should agree and use it in the new code, old code can me refactored later.. and I'm not a big fan of changing this just because [15:49] alecu, I has to say, 'it wasn't me' like a little kid hehe [15:51] gatox, so, I think we should discuss this with ralsina, but "migrate to .format" should be a wishlist item. [15:51] gatox, there's the chance of breaking code that's working fine because of that. [15:51] * ralsina doesn't quite care much one way or the other [15:51] alecu, i know [15:52] we must set a "this is how we do it from now on" but changing old code for change's sake is lame [15:52] ralsina, exactly. [15:52] ralsina, agree [15:52] So, raise hands: format or % ? [15:52] ralsina, should we vote on this on u1-discuss instead? [15:53] i usually use %..... except when i need something dict-like [15:53] ralsina, I think we should use the same convention through the team. [15:53] in the args [15:53] the *bigger* team, I mean. [15:53] alecu: makes sense [15:53] alecu: send the mail? [15:53] and setup a poll somewhere :-) [15:53] I can do the poll if you want [15:54] dobey, can I have a re-re-re-review of lp:~mandel/ubuntuone-dev-tools/mocked-webserver I just pass the scheme now and moved the server to testing [15:54] gatox, so, I've changed the .format bugs to "wishlist" [15:54] alecu, ok [15:54] alecu: http://www.easypolls.net/poll.html?p=4f8d923ce4b072c117d0827d [15:55] alecu, gatox, ralsina AFAIK there are issues with translations and format we should ask dpm [15:56] mandel: first I heard of it [15:57] ralsina, he told me at some point, my brain just remembered.. [15:57] alecu, ralsina u1-discuss is ubunet-discuss? [15:57] mandel, right. [15:57] ok, I was getting confused.. [15:58] me too.... i thought you were talking about another mailing list [15:59] ralsina, what about using the voting site we used for pycamp instead? [15:59] ralsina, it let's people add their arguments, so it might make more sense for this. [16:00] alecu: no idea, did not vote :-) [16:00] alecu, that one is good [16:04] thisfred: http://www.rsyncit.com/products/rsync [16:04] thisfred: but it's EXPENSIVE [16:05] yeah, no surprise there :) [16:05] thisfred: you'd be better off exporting/cleaning tags before/while syncing [16:06] thisfred: probably 200 a month for your music [16:06] ralsina, yeah unfortunately, I change my mind a lot, and also I invent new tags all the time ;) [16:07] yeah, that ain't gonna happen [16:07] a backup buddy seems like a better idea [16:07] thisfred: I would do it, but sending 1.5TB to argetina is going to take a while. You may as well mail me DVDs daily ;-) [16:08] thisfred: rsync.net is cheaper [16:08] ralsina, well to bootstrap, physically exchanging HDs is probably the best way [16:08] thisfred: or not, once you do the numbers [16:09] they claim they can do petabytes. They would charge you .25 petadollars though [16:09] ok.... the problem with the checkbox is only in u1-cp..... in a different script it's fixed.... now i have to check which property is ruining my day :P [16:09] how about bitcoins [16:09] ok, just .25 gigadollars, sorry [16:13] gatox, ralsina, mandel, briancurtin, dobey, thisfred, urbanape: http://tricider.com/brainstorming/K0ER [16:15] alecu: ack === salgado is now known as salgado-lunch [16:22] urbanape: been looking at the ubuntuone iOS music app, specifically the bug involving networking we discussed yesterday, one question, as a song is getting downloaded, where/how does it track the completion of that download ? [16:24] in the DownloadOperation [16:42] alecu: what do you mean .format is slower than %? [16:48] ralsina: are we actually using KiB (Kibibytes) or Kilobits (Kib) in the control panel and syncdaemon. gtk one displayed KiB [16:48] ralsina: sorry, kilobit is kb [16:49] rye: don't know from memory [16:49] dobey, I remember both briancurtin and thisfred mentioning that .format is still slower than % [16:49] yep [16:49] there was a thread on python-dev very recently [16:50] * gatox lunch [16:50] that argument won't hold for very long probably === gatox is now known as gatox_lunch [16:50] i guess because it goes through the Formatter class thing, which adds complexity? [16:50] dobey, so, I think we should not care much about speed in %, since we are not building a template library. [16:50] although, I don't know if it's a dev priority [16:50] right, i doubt the speed is an issue for us [16:50] a lot of people seem content to stick with % [16:50] we're not doing lots of text processing [16:50] yeah [16:51] none of the arguments for or against are critical IMO [16:52] so my vote was pretty arbitrary too [16:52] * dobey votes to deprecate python ;) [16:53] consistency is more important than the actual choice [16:53] dobey: good luck with that [16:53] I could solve this by mandate, but we would actually need a Chipaca-mandate so the other teams do it consistently [16:54] SD expects bytes/s, controlpanel says kilobits, and it writes config as $(kilobit * 1024). 100 kilobits is 12 Kibibytes, and in SD term should be 12800 bytes per second, instead it writes 102400 bytes per second [16:54] ralsina: let's please *not* take it to canonical-tech ;) [16:54] thisfred: +1 ;-) [16:54] ralsina: ^ we have a math error [16:55] rye: ugh [16:55] rye, awesome detective work :-) [16:55] rye: eh? [16:55] sorry, 12500 bytes per second [16:56] ralsina: when did we switch to kilobits? [16:56] alecu: a user in #ubuntu+1 said "why the hell we switched to kilobits" [16:57] wtf [16:58] rye: don't recall [16:58] 100 kilobits = 12.2 KiB (100000 / 8 / 1024), right? I am not losing some bits? [16:58] ralsina: we actually expect KiB, not kilobits in these fields [16:59] grrr [16:59] i think the label is a lie [16:59] but why [16:59] maybe it got mistranslated? :) [17:00] no [17:00] probably got the copy for the strings and noone notices [17:00] it's wrong in C locale :) [17:00] that is certainly more probable [17:01] So, if the strings said "Kib/s" or whatever, everything else is consitent? [17:01] B not b. but it says "Kilobits per second" [17:02] * dobey tempted to design a new control panel for 12.10 which integrates in the gnome-control-center :P [17:02] i'm trying to find the designs, but i don't know where they are [17:03] unfortunately, fixing the strings at this point is also going to be very painful to do [17:04] dobey: from the UI exception or translations? [17:04] point [17:04] i mean [17:05] http://media.bestofmicro.com/2/8/325376/original/ubuntuonenativecp1110.png - here's our gtk panel showing KiB/s [17:05] EOD for me catch you all tom! [17:06] rye: because final freeze was last week? [17:07] mandel: ah. damn :) [17:08] ah [17:08] * dobey votes +1 anyway [17:09] yeeeah [17:09] I suspect a completely wrong b/B is something we may push through [17:10] although everyone will hate us [17:10] ralsina: we'll need to fix this for windows too [17:10] well [17:10] do the settings actually work now? [17:10] rye: on windows it's easy, we don't have translations ;-) [17:10] dobey: they "work" [17:11] dobey: as in, syncdaemon tries to keep that limit and succeeds somewhat [17:11] ralsina: airconditioning mode? [17:11] rye: yes, on/off [17:11] rye: microwaves work that way too :-) [17:11] oh [17:12] last time i tried it, the settings never actually even got set [17:12] ralsina: ah, yes, microwave is easier to type, will use this [17:12] ralsina: dobey i set 0 and this sneaky SD has managed to upload a file [17:12] but maybe i didn't click "apply the settings" then [17:12] because you know, nothing else requires me to do so [17:12] it was slow but it worked [17:12] dobey: AFAIK they are placed in the config file at least [17:12] sweet. FannieMae took over ownership of my apartment building so apparently i now live rent free until i want to trade my keys for a several thousand dollar check [17:12] rye: it was a big o [17:12] and unsetting it screws things up by setting it back to -1 [17:12] and not the default values [17:13] briancurtin: looks like a nice deal! [17:13] ralsina: yeah this is looking better than i thought. except i really should not have paid my rent for April...that just went right in the guy's pocket. i wish i knew about this sooner [17:13] dobey, tell me! [17:13] I'm still here, for 1.2 mins [17:14] briancurtin: well, maybe you can ask for it back in small claims court or something [17:14] mandel: eh? i approved your devtools branch [17:14] briancurtin: if he was not the landlord really anymore [17:14] dobey, cool, thx! [17:14] ralsina: i'm already looking it up :) i want that money back [17:15] briancurtin: good luck! [17:19] ralsina: is there any list of the versions of our dependencies? i'm trying to lock down the buildout.cfg with versions so they don't jump like what happened to me last week (the wrong py2exe got picked up) [17:19] briancurtin: whatever pip freeze tells you I guess [17:21] it's too bad we can't easily release simple patches to windows, like we can for ubuntu [17:21] dobey: sure we can [17:22] dobey: it just takes 3 days and involves 3 areas of the company [17:22] ralsina: 3.0.0-0windows2 ? [17:22] dobey: we should not use consecutive version numbers [17:22] dobey: do them like basic line numbers [17:22] ? [17:22] so we can sneak platform-specific hotfixes between milestones [17:22] nah, that is a horrible idea [17:23] dobey: for example, can I call a windows fix tomorrow 3.0.1? [17:23] please don't [17:23] dobey: please don't what? [17:23] though 3.0.0.1 i would be ok with [17:23] please don't call it 3.0.1 [17:23] 3.0.0.1 is a ridiculous version number [17:23] all version numbers are ridiculous [17:23] dobey: but that one is ridiculouser. Almost ridiculousest. [17:24] but that is exactly my point [17:24] for windows we have to do actual releases [17:24] for ubuntu, we can throw a diff inside the package and bump the "build number" [17:24] we could do another file with the same release number and a different revno [17:24] can we have a build number on windows? [17:24] yes, for autoupdates we use a build number (1000 last one) [17:25] it's just not user-visible [17:25] so, if we did a new 3.0.0 with the build number set to 1001, people would get the update [17:25] but it's not resetable is it? [17:25] "resetable"? [17:25] oh, no, it's monotonous from now until the end of time [17:26] ie, we can't set the build number back to 0, for 3.0.1 or 3.2.0 or an actual newer release? [17:26] it must always increment [17:26] we *could* but people who missed updates would have trouble [17:26] so yes, easiest is just increment forever [17:26] because version and build number aren't both considered for comparison? [17:27] dobey: it's 3rd party code, it just takes a string [17:27] well, an integer i guess [17:27] strings probably don't compare too well :) [17:27] ralsina: we should use 3.0.0-0windows2 release versions [17:27] unless it has some logic similar to dpkg [17:28] rye: i would *love* to do that, but i don't think it's reasonable with the installer software [17:28] because of aforementioned lack of version logic [17:28] rye: that's a very strange looking release for windows software [17:28] dobey: must confess I never researched it [17:29] dobey: what logic it supports and what logic it doesn't [17:29] ralsina: do you know if there is any documentation on the matter? would be nice to know what it can/can't do [17:29] dobey: looking... [17:30] dobey: http://installbuilder.bitrock.com/docs/installbuilder-userguide/ar01s22.html [17:31] dobey: so it takes version numbers, but I used integers because I don't kow if it supports mutiple dots, letters, etc [17:31] we could reset by moving the server-side XML file to a new location on every major version [17:32] or something like that. [17:32] hmm [17:35] yeah, there's no information about the logic there [17:36] dobey: exactly, and I was in rush, so didn't bother with trial/error [17:37] lunchtime === salgado-lunch is now known as salgado === gatox_lunch is now known as gatox [17:43] hrmm [17:46] gatox, there's a problem with this: text = text.replace('\n', '') [17:46] alecu, i'm changing that already [17:46] alecu, also i fix the problem with the shrinking thing [17:46] https://code.launchpad.net/~dobey/ubuntuone-client-gnome/fix-983144-3-0/+merge/102360 [17:46] https://code.launchpad.net/~dobey/ubuntuone-client-gnome/fix-983144-2-0/+merge/102361 [17:47] gatox, Imagine you have a string like "Line 1.\nLine 2" [17:47] thisfred, urbanape: ^^ could you review those two please? [17:47] alecu, yes, i know [17:47] gatox, how did you change the replace? [17:47] yipyip [17:47] gatox, great then. [17:47] dobey: yup [17:47] gracias [17:48] alecu, btw.... should i change the things in that branch to use format or %.... which was the decision? [17:48] gatox, keep them as is; the vote is still going on. [17:50] dobey: good to go [17:51] dobey: when do we have the next milestone? [17:52] dobey: and what's it called? [17:52] ralsina: we don't have any at the moment. we only set up milestones up to the precise release for stable-3-0 [17:52] dobey: ok, so we shall put up some more soonish [17:52] dobey: ater all, we will probably do some sort of SRU after P [17:53] and life doesn't end this month [17:53] well, given the whole 5 years of support thing, yeah we need to set up some milestones which line up with the 12.04.x releases [17:54] but those are all several months apart [17:54] dobey: and we need to setup the next stable. stable-4-0? [17:55] we will need to set up milestones for the next cycle, yeah. but we'll set those up after UDS [17:55] when the Q release schedule is more concrete [17:56] dobey: ack [17:56] Quantum Quark [17:56] dobey: so, hw does this affect chances of getting an upstream release and a windows release done? [17:56] forget TVs and phones. quantum computing is where its at [17:57] dobey: or it's not at. You would have to look. [17:57] ralsina: i think we should not diverge the releases [17:57] dobey: and then you won't know how fast it is. [17:57] ralsina: actually it's both at and not at, at the same time! [17:57] dobey: it's not diverging, it's skipping [17:57] what do you mean skipping? [17:57] dobey: I don't want 1 month without windows releases [17:58] dobey: if we are ot doing ubuntu releases for a month, then we skip the ubuntu ones [17:58] dobey: but we keep producing tarballs and/or windows releases [17:59] well it would be nice to avoid having different pieces of code on different platforms. i think we should do updates everywhere if we want to do updates [17:59] but obviously, we'll need to make some sort of plan for that [17:59] dobey: exactly. Let's [17:59] (make a plan) [17:59] but how long do we want to keep doing 3.0.x releases for windows? [18:00] dobey: until we start doing 4.0.x ones I guess :-) [18:00] versus say jumping up to the next version [18:00] dobey: exactly. We need to decide all that [18:00] well, so we do releases every month even if we have no changes on stable-3-0? [18:00] dobey: if we setup the next stable now, we can switch now, for all I know [18:00] dobey: of course no changes == no releases [18:01] or we just start shipping the "unstable/beta" releases on windows as the new versions [18:01] that's possible too. We could start a windows beta channel, so to speak [18:01] lack of multilpe update streams on windows makes all this harder as well [18:01] multiple update streams are easy! :-) [18:02] dobey: all we would have to do is ship a beta with a different URL for the update XML [18:03] that XML doesn't even have to *exist* yet [18:03] so we just put up the "beta" version somewhere and it looks at a different update.xml, and if user wants to go back to the old version they uninstall and install the stable one? [18:03] dobey: exactly [18:03] i like where this is going :) [18:04] actually, can we specify multiple URLs for the update.xml? [18:04] briancurtin: feel free to chip in :-) [18:04] dobey: good question. No idea. [18:04] so like, the beta version could point at both the stable and beta URLs? [18:04] dobey: and then, when we do a stable, we give it a higher build than all the betas, and bam! back in stable [18:04] so that when the beta version becomes stable, we put the stable version in the stable place, and both classes of users get that update [18:05] dobey: and then the user has to opt-in again for the next beta cycle [18:05] dobey: but we need to open some branch to pull releases from, then. A beta-4-0 branch or whatever. [18:06] hmm, not sure i like the idea of manual re-opt-in every 6 months [18:06] mainly because it's a bit more complex than a checkbox [18:06] dobey: the idea of "you get stable, and in 2 weeks you get very-broken-new-beta" is not pleasant either [18:07] ralsina: well, when you add the nightlies ppa on ubuntu, you don't have to keep re-adding it every 6 months by hand [18:07] dobey: upgrading does remove the nightlies ppa [18:07] dobey: when done via update-manager or whatever [18:07] ralsina: it disables it. you just have to tick a checkbox in a list in the settings to get it back [18:07] dobey: right [18:08] which is a bit different than "go download this other installer and run it" [18:08] hrmm [18:08] dobey: but then again, we can re-enable it. [18:08] dobey: the update.ini is just a text file. And we can even pass it as argument to autoupdate.exe, I think [18:08] i guess i should mail bitrock support aobut the version logic [18:08] dobey: good idea [18:09] dobey, briancurtin: so let's thik this a bit more and let's discuss it on the weekly call. Deal? [18:09] ralsina: sounds good [18:09] mandel, can you re-review this one? https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/checkwrap/+merge/102152 [18:09] mandel, i'm adding a comment now about each of your points [18:10] if we can get rid of the crazy unrelated integer thing for a versin number and use real version numbers, we can do a lot more interesting stuff i think [18:11] hmm, i really need a new keyboard [18:11] dobey: hey, legacy, and my fault :-/ [18:11] mandel, done.... you can read my comments there [18:11] dobey: we could generate that number using some silly algorithm [18:18] rot-13 of the previous version? :D [18:19] * thisfred is nothing if not forward thinking [18:19] thisfred: that's a short-term solution! [18:19] ralsina: well, i think i'll mail their support and ask about how version comparison works exactly [18:19] dobey: cool [18:20] ralsina: well, we only have a couple hundred days left to live anyway, what with the world ending and all [18:21] "{name} is better".format(name="format") [18:21] dobey: 1st rule to survive the end of the world: the world doesn't end. There is rule 2. [18:21] there is *no* rule 2 [18:21] rye: hehe [18:22] no no [18:24] ralsina: i crashed my application by specifying %(name)d instead of %(name)s recently [18:25] rye: right [18:26] http://www.youtube.com/watch?v=_f_p0CgPeyA#t=137s [18:27] * rye will vote as rye2 rye3 and rye4. And the results will be as in Russia where the ruling party got 140% votes [18:27] what is the easiest way in Windows to remove a subscribed folder. Their is not r-click stop syncing. The sync-locally option leaves the folder in the Fodlers list... [18:28] duanedesign: to delete it, go to the website using the provided linky thingie [18:28] duanedesign: if they want to get rid completely, there's a web ui option to delete the folder [18:28] ralsina: aha, so deleting the folder from the computer will work. [18:29] thanks rye ralsina [18:31] one more question. If you rename a folder will it perform a Move like in the Ubuntu version [18:31] or will it 're'upload [18:33] gatox: ^ ? [18:33] rye, yes? [18:35] gatox: If you rename a folder will it perform a Move like in the Ubuntu version or will it 're'upload? [18:35] thank you sir [18:36] duanedesign, i'm not 100% sure about that.... i assume that it will perform a move....... facundobatista ^? [18:37] rye: "Harlan County Elections Ain't Over Until The Dead Have Voted" --Justified [18:37] duanedesign, how are you renaming it? [18:38] facundobatista: im afraid i am not. A user had asked [18:38] duanedesign, a move/rename is a move/rename, unless you're doing it between different volumes... [18:39] cool. volumes being directories? [18:40] But i guess the watch would be lost if it is a top level UDF [18:42] duanedesign: i have seen a couple bugs filed about UDF rename not working [18:58] rye, ping [19:03] briancurtin: please adopt bug #984223 [19:03] Launchpad bug 984223 in Ubuntu One Windows Installer "Update notice appears behind the U1 application" [Undecided,New] https://launchpad.net/bugs/984223 [19:04] ralsina: done [19:04] briancurtin: thanks! [19:05] urbanape, I've passed the link to the osx dev setup doc to gatox [19:05] cool. I'll be happy to answer any questions [19:05] urbanape, thanks [19:06] urbanape, gatox will be setting up his mac to run the tests and will be working with you and mandel on making the rest of the tests pass. [19:07] urbanape, we'll probably be bothering him if any more bugs show up with qt, but right now he's got a bit of time in his hand, so I think it might be good to give you guys a hand. [19:07] * alecu realizes there were too many hands in that sentence. [19:07] that sounds good to me! :D [19:07] alecu, :P [19:08] alecu, about the tests.... any project in particular to start fixing?? is there anyone else already working on this? [19:09] gatox, both mandel and urbanape are on that. [19:09] gatox, afaict mandel's mac is broken and in the middle of a reinstall. [19:10] alecu, great.... i'll finish with the setup of my system and talk with them to split the tasks :D [19:10] cooliio [19:10] gatox, so, try to get the tests running as far as urbanape has, and then you can help by fixing tests to move forward. [19:10] awesome! [19:11] gatox, also, since you are our qt styling expert, I would like you to start running sso and the control panel, to see how awful they look, and to determine what steps we could possibly follow to make them look nice. [19:11] alecu, you made my day! jejeeje [19:12] gatox, so, as soon as you have some ui on screen, please send me screenshots no matter how ugly :-) [19:12] gatox, LOL [19:12] alecu, roger that [19:12] rm data/qt/stylesheet.qss; ./setup.py build; PYTHONPATH=. bin/ubuntuone-control-panel-qt ;) [19:13] dobey, that would surely look better :-) [19:13] it's probably as good a start as any [19:15] gatox, so, remember: urbanape is your macosx lord now. [19:15] alecu, jeje ok [19:22] hi, is it possible to get some help please? i've accidentally the files from my ubuntuone account! [19:23] duanedesign, can yu help robbompr_ ? [19:23] hello robbompr_ [19:23] hello [19:23] robbompr_: can I PM you so i can get a little more info? [19:24] please [19:30] alecu, is fixed now :) [19:30] gatox, ^ [19:31] mandel, ack [19:32] gatox, alecu, I'll be looking at urbanape branch in a few mins as soon as I get pyqt ready [19:34] what are you doing back [19:34] thought you were eod [19:34] urbanape, tv was bad and was too lazy to go to rugby :P [19:35] urbanape, and instead or reading reddit, I though, why not? :) [19:35] Anything's better than reading reddit [19:39] ralsina, bug 851853 was fixed when we changed the threads to be daemonic, right? [19:39] Launchpad bug 851853 in Ubuntu One Client "Windows: Syncdaemon can not restart properly" [Medium,Triaged] https://launchpad.net/bugs/851853 [19:39] alecu: should be, probably needs verification [19:40] briancurtin, do you remember about that? ^ [19:41] ralsina: i've never seen that one [19:41] briancurtin: we had a similar one [19:42] briancurtin: where syncdaemon never stopped, and then starting a new syncdaemon failed because the IPC port was open, and it all got explodey [19:43] oh yeah. i think alecu is right that this probably fixed by the daemonizing (if thats a word) [19:44] briancurtin, probably that word saw much use during the middle ages [19:45] just to check, I'm testing on a clean vm with the latests installer. [19:51] alecu, ralsina FYI all the ubuntuone-dev-tools are in trunk, we know have to wait until tarmac gets nightlies of them to approve the sso fixes :) [19:51] mandel: yay! [19:56] briancurtin, ralsina: I've tested the windows installer in a clean 7 vm, and SD stops right on the spot whenever u1sdtool tells it to. [19:56] alecu: then close at will [20:01] mandel: the nightlies build failed [20:02] dobey, do you have the error around? [20:02] missing openssl [20:03] so an easy fix [20:03] though i thought i'd already fixed [20:03] dobey, phew.. [20:06] well, got one thing uploaded to oneiric-proposed [20:10] brb in 10 min === zyga is now known as zyga-afk [20:31] back [20:35] briancurtin, fixed https://code.launchpad.net/~mandel/ubuntu-sso-client/fix-webclient-tests/+merge/101410 according to your review [20:35] alecu, I need I review for https://code.launchpad.net/~mandel/ubuntu-sso-client/fix-broken-tests/+merge/99770 [20:43] urbanape, in the networkstate.darwin.py, I see is based on the linux one, is this just a stub? [20:43] sorta, yeah. it just always returns true [20:44] urbanape, ok, I'm going to add some small comments, nothing utterly serious (mainly headers etc..) and based on your branch will create bugs for the port [20:44] k [20:44] urbanape, what about u1-darwin for a tag to easy find them? [20:44] sounds good [20:47] are their any bugs in regards to windows client not starting at boot? [20:48] duanedesign: i think there was one that should be fixed in 3.0.0 [20:48] ok thank you sir [20:49] duanedesign: however, it's a finicky bit of code that's somewhat fragile. So i it fails with 3.0.0 I would be unsurprised [20:50] alecu: have the bug# handy for the format % thing? [20:52] ralsina, looking [20:52] ralsina, bug 904960 [20:52] Launchpad bug 904960 in Ubuntu One Control Panel "Migrate to use .format() when formatting strings" [Wishlist,Triaged] https://launchpad.net/bugs/904960 [20:53] urbanape, first review of the port done! [20:53] ralsina, also: our informal poll says that most of the team prefers % [20:54] alecu: but chipaca says "prrrrrt" [20:54] urbanape, great instructions to get the system set up, I'll create the bugs tom morning, now, dinner! [20:54] alecu, and except Exception as e ? [20:54] i prefer not creating new accounts on web sites i'll never need again [20:54] anyways, I'm done for the day :) [20:54] alecu: as in "let's not constrain our sensibilities by forcing the oppression of guidelines upon ourselves" [20:55] mandel: that's too modern, I think (python 2.6?) [20:55] down with pep-8! [20:55] ralsina: we don't support python < 2.6 [20:55] dobey: he [20:55] dobey: lucid has 2.6? [20:55] yes, lucid has 2.6 [20:56] * alecu starts the lucid vm [20:56] alecu: our servers run lucid [20:56] yes it has 2.6 [20:56] alecu: believe you me, it has 2.6 :) [20:56] we should package 2.8 [20:56] grrrrrr brew is doing timeout a lot! [20:56] just to keep those python nerds on their toes [20:56] .format works on 2.6 [20:57] 2.6.5 to be exact :) [20:57] they don't change sort of stuff in minor versions, they learned with True/False [20:57] and Exeption as e too. [20:57] gatox: see? That's why I *ALREADY TOLD YOU GUYS TO PUT THE BUILD SOMEWHERE* ;-) [20:57] Chipaca, ralsina: both .format and Exception as e work on lucid. [20:58] yes [20:58] * ralsina wuld pay each of you $5 to start using Exception as e [20:58] and context managers [20:58] ralsina, per use! [20:58] ralsina, the good part... i already have qt and pyqt which take A LOT OF TIME.... but i still need to install the other things :P [20:58] alecu: one-time fee, sorry [20:58] ralsina, I'm in! [20:58] booo [20:58] and unicode literals [20:58] and absolute imports [20:58] and print function [20:58] all in 2.6 [20:59] Chipaca, those are awesome, because we need to migrate to 3. [20:59] Chipaca, but % still is part of 3. [20:59] I suppose I should have used except ... as ... in u1db servers [20:59] print function would be a simple change [21:00] Chipaca, and we'll already be touching a lot of code as part of the move to 3. Do we need to change the %s too? [21:00] pedronis: u1db servers are on precise, so 2.7 ... :) [21:00] why on earth would you want to change the %s? [21:01] Chipaca: it's slightly more error prone [21:01] changing to format is not a good use of time [21:01] alecu, I'm off, but please let me be a PITA and get me a review for https://code.launchpad.net/~mandel/ubuntu-sso-client/fix-broken-tests/+merge/99770 so that I'm not blocked tom morning and I get jenkins running tests :) [21:01] but of course we did not want to change the existing ones [21:01] given all the other fun that moving to 3 brings [21:01] ralsina: explain how it's more error prone please :) [21:01] maybe you're doing it wrong? [21:01] mandel, you are. :-) [21:01] Chipaca: "%(name)s" :-) [21:01] or rather "%(name)d" [21:01] rye mentioned that one earlier [21:01] alecu, of course! :P [21:02] and passing tuples, "%s" % (1,2) [21:02] all, see you tom! [21:02] mandel, bye [21:02] gatox, for you, if you get the mac env, take a look at https://code.launchpad.net/~urbanape/ubuntu-sso-client/initial-darwin-port/+merge/101112 [21:02] still not worth a big rewrite all formatted strings [21:03] yes, having to do %((1,2),) is yucky (although I don't think I ever *had* to) [21:03] mandel, ack [21:03] pedronis: right, this was only for the future [21:04] mandel: now that the devtools branches are landed, check jenkins tomorrow. And stop working :-) [21:04] future is meh [21:04] ralsina: I think it makes sense only for entire codebase, so new codebases/projects, I suppose u1db could use it, except that nobody working on it is a big fan it seems [21:04] Chipaca, the thing is: we have some open bugs suggesting that we move from % to .format. And we have some reviews stopped because the reviewer suggest changing % to format (because it's the new thing) or format to % (because it's faster). [21:04] ralsina, ok, leaving :) [21:04] ralsina: well, "%(name)d" is "{name:d}", and just as error prone :) [21:05] Chipaca: yes, it's not a big deal, just a tiebreaker for reviews as he explained [21:05] alecu: format is very nice, it's got a bunch more functionality in there, and in a lot of cases it makes sense [21:06] and if you want to start using it, no problem [21:06] Chipaca, but wouldn't it make more sense to just standarize on one for new code? [21:07] alecu: no, that's the thing [21:07] Chipaca, I don't understand the thing [21:07] We could develop a 'taste' for when one makes more sense than the other. I fear I lack it. [21:08] ralsina: I don't think it will ever be really clear cut [21:08] alecu: what do we gain by adding this restriction? [21:09] have to play one leven of "Pirates of teelonian" and will be back [21:09] Chipaca, the same consistency we can reach by choosing a coding style, and sticking to it. [21:10] Chipaca, "there should be one way to do it..", etc. [21:11] Chipaca, my gut feeling is that having both, in the same file or codebase leads to confusion. [21:11] alecu: having a coding style is a good thing, but there's a spectrum [21:11] step 1: remove pylint. step 3: profit. [21:12] alecu: a spectrum of anal-retentiveness, if you want [21:12] alecu: going from the free-for-all "human sacrifice, tabs and spaces, living together... mas hysteria!" [21:12] alecu: to ... I don't want to know to what [21:12] it gets stifling very quickly [21:13] well, to eiffel, if you must know [21:13] honestly, if we're using format strings enough that it's "stifling" to say we should use one way or the other, we have worse problems than choosing what string format method to use [21:13] (and there's probably things worse than that) [21:14] as i was saying, it's a spectrum [21:15] me, personally, i'm happy with a bit of static analysis, by hand, to catch any biggies (but ignoring a bunch of stuff) [21:15] the desktop team has traditionally been further "up" in the spectrum, with pylint and pep8 [21:15] and that's fine [21:15] ...ish [21:16] it's not the deciding on % over format that's stifling, dobey [21:17] it's the idea that we decide on one over the other and that all code must now switch to use the new thing or be needs-fixinged [21:17] yup, traditionally we've been doing that. And I believe it's fine for our team to be strict in our checks since we have a much longer lifetime for the code we release [21:18] so, I'm trying to take on the role of the "hinchapelotas" and to be strict and have clear guidelines [21:18] but I'm in no way implying we should change old code because of this [21:19] Chipaca: but that is true of any decision really. having everyone on the team writing code in different styles and such would be much more stifling i think. [21:19] Chipaca: also. go home. :) [21:19] in fact, my suggestion to pick one style going forward was because we were going to far suggesting changes. [21:19] dobey: i am home [21:20] Chipaca: go to pub then :) [21:20] alecu: i've just about finished my wine [21:20] need to get a bit more cheese and grapes to call it a wrap [21:20] anyway [21:20] heh [21:21] and making a decision to use only one, is probably less stifling than the requirement of tests :) [21:22] * Chipaca breathes deeply [21:22] again again, there's a spectrum [21:22] * dobey gathers the gloom [21:23] the spectrum is all black! [21:23] dobey: and tests impact quality directly, whereas format vs % doesn't :) [21:24] so. [21:24] having said all that [21:24] Chipaca, so, is the same as code formatting. [21:24] Chipaca, but we do mandate pep8 [21:24] Chipaca, let me recapitulate. [21:25] *if* ralsina and/or alecu, as manager and/or acting tech lead of the desktop+ team, decide that it's best for their team to require this, then that's something else [21:25] my blanket "no" is for forcing % vs format on the whole u1 team, from the outcome of a vote [21:25] it is not, repeat not, a decision to be taken democratically [21:25] Chipaca, we got some tasks in lp that say we should change % to format. We got some reviews that say that % should change to format because it the new way. We got some reviews that say that we should change format to % because it's faster. [21:25] you've got to grow a pair and say "I, standing here, make this call" :) [21:26] Chipaca: but that's grownup talk! [21:26] * thisfred wonders if he can expense a Outerspace Visual Communicator [21:26] however, i'm very much of the opinion that "because it's new" is the most worstest reason for making the change [21:26] it's not even technically superior all the time [21:26] Chipaca: neck and neck with "it's 1% faster" [21:26] and it certainly isn't always faster [21:27] Chipaca, I'm simplyfing. It probably was "the old one is deprecated" [21:27] which it is certainly not :) [21:27] alecu: is it really? [21:27] Chipaca, so, my suggestion was to pick one and use it for going forward. ralsina suggested a vote. I suggested using that site were we can gather the voices besides the vote. [21:27] and is not planned to ever be at this point [21:27] Chipaca, it really is not. [21:27] ok then [21:27] thisfred: its deprecated in 3 isn't it ? [21:27] Chipaca, but you can understand why I think we should choose some road. [21:28] lifeless: nope [21:28] alecu: let me sleep on it and I will fiat it tomorrow when I feel like a grownup [21:28] Chipaca, even if the road is "everybody picks the one they like" [21:28] alecu: I understand why you think you should choose some road. I think it's premature any way you look at it. [21:28] * ralsina can't make serious decisions while playing a game about magical pirates [21:28] lifeless: no, recently python-dev had a big discussion whether to really deprecate it or not, and they couldn't get to decide so, they are both there in 3 and equally usable [21:29] python just has way too many ways to do the same simple things [21:29] huh, I missed that [21:29] Chipaca, I can choose another path down the road. What I don't want is more bugreports suggesting we change existing code, and more reviews suggesting one thing or the other. [21:29] ralsina: alecu: also also, note i'm not say you shouldn't confer (take the vote as referendum even), *within desktop+*. But the call is made by you guys, and owned up to. [21:29] Chipaca: ack [21:29] dobey, lol. [21:29] Chipaca, great, thanks. [21:30] Chipaca: even if we decide something for us, it will not bother others. Unless another team decides to do the opposite, of course, and we exchange code [21:30] lifeless: there was noise around 3.0 about deprecating % because it's nasssty, but i think the feeling now is that format should grow to stand on its own, because we're not java, or something :) [21:30] FWIW, we don't use .format in W&M that I know if [21:30] or devs [21:30] ralsina, or we get coders on loan. [21:30] right. [21:30] i feel like we should just switch to genie [21:30] I feel I should walk the dog [21:31] I would love to make pylint complain about except exception, exc because that one *is* nasty [21:31] specially without () around exception class[es] [21:31] ralsina: that one is ambiguous and yes :)( [21:31] we can probably make pyflakes complain about it [21:32] and just get rid of pylint [21:32] +1 [21:32] because pylint is a huge bucket of complex fail [21:32] +2 [21:32] dobey: pyflakes has support for ignores like pylint? Because it chokes on chunks of our code currently [21:32] no [21:32] ralsina: we should just turn on -3 and whatever other warning flags there are [21:32] huge chunks of our code? [21:32] but flake8 does [21:32] which is pyflakes + pep8 [21:32] there is ONE problem with pyflakes that is a pain to work around, that i know of [21:32] ralsina: to the python interpreter, that is [21:32] dobey: have not tried it in a while, but dozens in u1cp [21:33] so, let's try flake8 [21:33] and skip one command too [21:33] ralsina: probably because we use pylint there and have a bunch of ignores for pylint, and don't bother fixing things with pyflakes [21:34] dobey: I am willing to put money on the table we have correct code somewhere that pyflakes hates. It's an easy bet to win, too. [21:34] briancurtin, I like the idea of trying our code with -3 [21:34] dobey: it's the nature of static analysis o python [21:34] I have been using flake8 for 6 months or so, and most code I've seen is only superficially non compliant at worst [21:34] ralsina: yes it's easy because it's python [21:34] technically, any code you write in python whcih the interpreter doesn't fail on, is correct code [21:35] dobey: he, all languages just move the complexity around. [21:35] alecu: as i'm working on the changes to each run-tests.bat, i can look at adding those flags [21:35] it can be completely shit code, but it's correct :) [21:35] briancurtin: sounds like a good idea [21:35] dobey: whereas in C, you have no idea either [21:35] dobey: let's replace correct with nice in the bet and it's still a sucker's bet for you ;-) [21:36] thisfred: well, it's better at telling you that your code sucks than python is, but it still misses some things, sure [21:36] yeah, and those things are a lot harder to find and fix [21:36] anyhow, dog [21:36] later all [21:36] ok, let's tone down the language words anyway [21:36] ralsina: not really. it's python and therefore by my definition of nice, there is no such code written in python :) [21:36] thisfred, bye [21:37] dobey: a = "yes there is" [21:37] dobey: ;-) [21:37] bye thisfred! [21:37] dobey: could you do a report on flake8 readiness? So I get some concept of how far we are. [21:37] dobey: and by that I mean "run flake8 and see what happens, with logs" [21:38] ralsina: yarr! twinkle! [21:38] but then again, there's a rason there's a compiler book sitting on my desk [21:38] dobey: monitor stand? [21:38] ralsina: during all that free time i have, sure :P [21:38] dobey: no rush [21:38] dobey: but imagine there's no pylint... [21:38] dobey: it's easy if you try... [21:38] dobey: no ignore, below us [21:38] i imagine it every day [21:39] dobey: above us only .py [21:40] alecu: btw, new devtools is installed in tarmac, if you decide to approve mandel's sso branch that requires it [21:40] dobey: link? [21:40] dobey, awesome, thanks. [21:40] ralsina: link por que? [21:40] oh, yu said alecu [21:40] * ralsina is crosseyed [21:40] vertically [21:41] alecu: ralsina: to triiterate, my big NO was for the "across the whole team" thing. A slightly smaller no was to the idea of doing it democratically (chickening out on your duties). That's all. [21:41] Chipaca: ack, thanks. [21:41] Chipaca, awesome. [21:41] dobey: I will do de flake8 thing [21:42] ok [21:44] so, beuno, when do we roll out SPDY? [21:44] lifeless: ^ [21:45] * Chipaca notes he's only taken 100cc of wine :) [21:45] * beuno takes away the bottle of vodka from Chipaca [21:45] ah [21:45] :) [21:45] I'll need proof [21:45] so, spdy to apache needs a custom module I believe [21:45] doing it through internal systems is a much bigger stack - haproxy, appservers etc [21:46] lifeless: released [21:46] http://googledevelopers.blogspot.co.uk/2012/04/add-spdy-support-to-your-apache-server.html [21:46] well, am off for the evening. later all! [21:46] Chipaca: released and in precise ? [21:46] la la la can't hear you [21:47] lifeless: if i were being 100% serious it wouldn't be in this channel :) [21:49] briancurtin: is https://code.launchpad.net/~brian.curtin/ubuntuone-windows-installer/buildout-env/+merge/102386 ready for review? [21:49] ralsina: yep, that's the big one [21:49] ralsina: i just proposed three more small ones, the run-tests.bat changes for each project to work with that one you linked [21:50] Chipaca: :) [21:50] briancurtin: cool, will review before your day starts tomorrow [21:50] Or maybe not because tomorrow is my son's birthday and I have to bring cake to his school [21:50] so maybe a bit after you start [21:51] almost done with the mac setup! :D [21:53] gatox, awesome! [21:54] alecu, now i need a bigger desk :P [21:55] gatox, is it still the standing desk I saw? the cardboard box one, I mean... [21:56] alecu, no.... i need to build a new desk.... the standing desk with the boxes and stuff can't fit with the notebook + the second monitor + the mac and its keyboard, etc [21:56] i mean.... the things don't fit in the desk [21:59] urbanape, are you still around? [22:22] eod, later all [22:27] ok all....... eod here! [22:27] byeeeeeeeee === salgado is now known as salgado-afk === yofel_ is now known as yofel