thisfredoooh: http://mozillalabs.com/messaging/messaging-menu/00:24
thisfredtb integration with the messaging menu! yay!00:25
TrickyJhow to use ubuntu one in UBUNTU00:31
TrickyJwhen i right click on a file or folder go to ubuntu one in that all the optops are grade out00:32
TrickyJHow can i enable those ?00:32
TrickyJI am able to sync with UBUNTU one00:32
karniwhoaa beuno , thanks for the log. check this out:00:53
karniStorageManagement: external avail: 98333081600:53
karniStorageManagement: external total: -114178457600:53
karniI hope it's not another Android bug :/ Code is dead simple: long totalExtStorage = u1Stat.getBlockCount() * u1Stat.getBlockSize();00:54
beunokarni, negative space!00:54
karniindeed. it's a black whole \o\00:55
karniI'll try to replicate that in the emulator tomorrow. I'm trying to kick throttling's ass, but the server doesn't like me "Web error (status 400) while uploading data."00:57
karniLooks like I'll have to talk to verterok and ask if I'm not breaking the messages.00:57
* beuno nods00:57
kklimonda1maybe beuno has a huge sdcard? ;)00:57
karniBut the storage limit now will work fine once the server bug is fixed.00:58
karniBut that negative storage is a serious issue.00:58
beunoit's a 16gb card00:58
karnikklimonda1: indeed, but that's no excuse for Android returning wrong values.00:58
kklimonda1karni: not if you overflow it ;)00:58
karnikklimonda1: now you're talking! *checks*00:59
karniboth getAvailableBlocks() and getBlockSize() return int's. I multiply, so I keep it in long for safety.01:00
karniBut I guess it's a good idea to output them separately and check what's going on there.01:00
karnikklimonda1: I wish it was so easy!01:00
kklimonda1maybe multiplying two ints first store the result in int, and only then saves it in long?01:00
kklimonda1Java may be doing something evil ;)01:00
karniindeed it might. I'll add the log and beg beuno to send it once again, hopefully the last time. even better, I'll store those in long's right away.01:01
beunokarni, I'll send as many logs as your inbox can handle!01:02
karnibeuno: it's g-mail, so we're good to go! :D01:02
* karni hacks01:02
kklimonda1karni: that's how C# works.01:04
kklimonda1karni: you can easily test it by doing something like int a = int.MaxValue; long b = a * 2; Java.HoweverYouPrintOnScreen(b);01:05
kklimonda1(so there is no need for a round trip for logs :))01:05
karnihahah :) tnx01:05
karniindeed, good point.01:05
karniha! you my man kklimonda101:06
karnib = ..... -2 ;]01:07
=== kklimonda1 is now known as kklimonda
karnikklimonda1: you've just fixed a bug.01:07
karniand I've learned a quite basic fact I should have anticipated.01:07
* karni puts a cardboard box on his head01:07
kklimonda(it will happen in every language that have types btw)01:08
kklimondait's probably not a problem on those new, hipster dynamic languages like Python ;)01:08
karniyea. that's even more embarrasing as I come from the world of C, and I'm pretty sure Java just made me terribly lazy uhhh01:09
kklimondakarni: any idea how is Qt shaping up for Android?01:10
kklimondai.e. are they planning on implementing intents/actions at some point?01:10
karnikklimonda: I'm aware of things going on, but I haven't been following Qt's actions I must say.01:11
kklimondaand provide a better way of installing Qt libraries - pulling 9MB of binaries after you've already installed an application does not sound like a good plan :/01:11
kklimondait's pretty much the same problem couchdb guys are facing - how to ship all this code to the phone, so other applications can use it - where is my package managment!?01:12
kklimonda(really, I'd love to see a phone with dpkg.. oh, wait - meego.. nm, damn you Nokia)01:13
karniI wonder how's CouchOne and CouchDroid. I know alecu has been playing with CouchDroid lately and it sounds promising.01:13
karniIt hurs me badly, I had an overflow. Argh. At least I finally got the right place for throttling, needs some adjustments.01:17
karniI'll get some sleep. See you all tomorrow!01:31
beunokarni, fwiw01:33
beunowe did a deploy of api servers today01:33
beunoso the 0 bytes thing should be fixed now01:33
karnioh! awesome!01:33
beunoadded some extra capacity as well01:33
beunoso hopefully no more slowdowns at the same time01:34
karniI wonder if it's already working :) I'll check!01:34
karnibeuno: oh, perfect! sounds great :)01:34
beunokarni, go to sleep01:35
beunoit'll still be there tomorrow01:35
karniit's just a sec, I'm already testing ^^01:35
kklimondaok, I'm done for the night too, I've just finished importing postgres database - took over 2 hours and it's over 24GB.. ugh..01:36
* beuno goes walk the dog01:37
karnikklimonda: whooa :)01:37
karnibeuno: UbuntuOneFiles  D  SyncManager: file size: 0 :<01:37
karnibeuno: I will consult tomorrow with verterok. It looks to me like01:37
karniit's a bug in storage protocol itself, not the server. Or even 'better', the JAva implementation.01:37
karniwe shall find it together, hopefully tomorrow.01:37
karniok, there's still tomorrow and tons of work, so I'll get some sleep. take care!01:38
beunonight karni01:55
karniI admit it, I wouldn't be able to sleep if I didn't check twice (that's just me). So I grabbed a Budweiser and ran verterok's NewGenerationsExample client to confirm. And indeed delta returns info with filesize 0 for all. So I hope Guillermo will have a few moments to triage this with me tomorrow [today].02:03
karniHave a nice evening/night guys, and thanks for all help today beuno :)!02:03
* beuno ignores karni02:07
karni^  ^02:08
espen77trying to add a device to u1 with: wget -O token-approval "https://edge.one.ubuntu.com/oauth/sso-finished-so-get-tokens/my@e.mail" but getting "error: auth creds not in request"...04:50
=== soren_ is now known as sorne
=== sorne is now known as soren
karnigood day!09:28
JamesTaitBon Vendredi à tous!09:45
karniVendredi saint à vous aussi!09:47
karniand no, I not know more French than "omlet di fromage" :D09:48
karniJamesTait: where are you from if I may ask :)?09:48
JamesTaitkarni: I'm in the UK.09:49
JamesTaitkarni: Right slap-bang in the middle of the UK.09:49
karniJamesTait: ah! for a momnet I thought US, but that time would be ridiculously early for you. All clear :)09:49
karnihaha :)09:49
JamesTaitkarni: If you stuck a pin in us, the UK would spin quite happily around it. :)09:49
* karni *laughs*09:50
JamesTaitAlso, I have no idea if half the stuff I come out with in different languages makes any sense to actual speakers of those languages, it's all just cobbled together from small snippets I either learned about 18 years ago at school, or picked up from listening to others. :)09:52
karniJamesTait: it's fun to see/read ^ ^09:52
JamesTaitIt is my hope that people will recognise that I've made an effort and correct me where necessary.09:52
ryelooks like we have some regression in nautilus plugin09:53
karni\o/ awesome09:53
karnirye: :<09:53
ryebasically it hangs upon publishing file and/or visiting ubuntuone-enabled directory the first time09:53
ryekarni, morning09:53
karnirye: hello rye! good day to you09:53
=== rodrigo__ is now known as rodrigo_
karnioauth maintanance I see. I'll use my old tokens.11:48
duanedesignmorning all11:49
karnigood morning not evil duanedesign ;)11:53
karni*ops =D11:56
ralsinagood morning everyone12:21
karnigood morning ralsina12:24
duanedesignhello ralsina12:32
ralsinahello duanedesign karni12:32
alecuhello #ubuntuone!12:53
ralsinahola alecu12:57
alecuhey there boos12:57
alecuhey there boss12:58
ralsinaalecu, question from aquarius: " when a new file gets synced down to my machine from U1, I get a notify bubble saying "a new file was downloaded" but as far as I can tell there's no way to find out what that file *was* (other than log reading, or magicicada, or whatever). Are we going to have a user-visible "this is what happened" log based on the zeitgeist stuff?"12:58
ralsinaI said "yes but don't know when" ;-)12:58
alecuralsina, we have all that info in the current aggregator, we didn't get around to doing it just like that.12:59
alecuralsina, the plan was to say "file ~/Ubuntu One/sample.txt was uploaded to your cloud"12:59
ralsinaalecu: I remembered as much12:59
alecuralsina, or "file ~/Ubuntu One/sample.txt was and 3 others were uploaded to your cloud"12:59
ralsinaalecu: I think aquarius wants more of a history thing. We are pushing events to eitgeist, so the jounal has them, right?13:00
alecuralsina, well, right.13:00
alecuralsina, they should be available in the gnome-activity-journal as well.13:00
alecuralsina, but regarding the strings above, we didn't get around to doing it. In fact we don't have bugs for them.13:01
ralsinaalecu: file yourself one, please ;-)13:01
alecuralsina, we may add bugs for those, and starting next week we can plan on prioritizing all of them.13:01
ralsinaI am not sure we'll do it, but we better not forget about it either13:01
ralsinayes, next week we need to schedule all the bugs13:02
ralsinaand stop adding new ones (right ;-)13:02
nessitahello crowd!13:05
ralsinahello nessita!13:07
nessitareviews wanted!!! https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/tweak-overview/+merge/5212413:08
ralsinanessita: got it13:08
alecuthisfred, hello!13:10
alecuthisfred, I've just added bug #72905513:11
ubot4Launchpad bug 729055 in ubuntuone-client "File names should be shown on notifications (affects: 1) (heat: 6)" [Medium,New] https://launchpad.net/bugs/72905513:11
alecuthisfred, should I assign it to you?13:11
thisfredalecu: ok, so show filenames, unless there are n then just show the first and n-1 more?13:14
alecuthisfred, yes. This should be on both upload and download, for pending and done.13:15
alecuthisfred, also, let's discuss with ralsina the priority of this.13:16
ralsinaRight now I think it's very not urgent, but next week we'll do a bubble sort on our bugs ;-)13:22
ralsinanessita: +1 on tweak-overview13:44
beunonessita, I also +1ed, but with a small tweak request13:46
beunobasically, s/http/https13:46
nessitabeuno: trivial, fixing it!13:47
nessitadone, now I need cparrino's +1\13:47
karnibeuno: I've checked with Guillermo, he'll have a look at the 0 filsize bug today / next week. It's non blocking for me, so it's not a problem.13:49
beunokarni, great13:49
karnibeuno: We also discussed some details on throttling, so I know how to continue (will propose later to his branch)13:50
ralsinaguys, standup at 11:15 because I have to pickup my kid at school13:51
ralsinaand lady, of course13:51
verterokkarni: good news, it's working for get_delta, but not for get_delta_from_scratch :|13:54
verterokkarni: btw, you are be using get_delta_from_scratch only in specific cases, right? :)13:54
verterokkarni: I'll file a bug about the size not being there in the get_delta_from_scratch response13:57
karniverterok: oh! cool =) yes! I'm a good boy and I do detal_from_scratch only on first run or new volume :)13:57
karnifirst run = after app has been installed, that is.13:58
thisfredme moi ich ik yo ego14:00
alecu me14:00
alecuralsina, dobey, nessita, mandel?14:01
nessitaralsina, dobey?14:02
nessitathisfred: go!14:02
thisfred* DONE:14:02
thisfred** NEEDSREVIEW bug #702176 https://code.launchpad.net/~thisfred/ubuntuone-control-panel/attention-seeking/+merge/5213114:02
thisfred** INPROGRESS bug #702172 https://code.launchpad.net/~thisfred/ubuntuone-client/quota-notifications14:02
thisfred** NEEDSREVIEW bug #702183 https://code.launchpad.net/~thisfred/ubuntuone-control-panel/attention-seeking/+merge/5213114:02
thisfred** NEEDSREVIEW bug #723227 https://code.launchpad.net/~thisfred/ubuntuone-client/use-single-notification/+merge/5214714:02
thisfred* TODO:14:02
thisfred** NEEDSREVIEW bug #702176 https://code.launchpad.net/~thisfred/ubuntuone-control-panel/attention-seeking/+merge/5213114:02
thisfred** NEEDSREVIEW bug #702183 https://code.launchpad.net/~thisfred/ubuntuone-control-panel/attention-seeking/+merge/5213114:02
thisfred** NEEDSREVIEW bug #723227 https://code.launchpad.net/~thisfred/ubuntuone-client/use-single-notification/+merge/5214714:03
thisfred** INPROGRESS bug #702172 https://code.launchpad.net/~thisfred/ubuntuone-client/quota-notifications14:03
thisfred** TODO bug #72872214:03
thisfred** TODO bug #72905514:03
thisfred** TODO bug #70200714:03
thisfred** TODO review https://code.launchpad.net/~jamesh/bindwood/migration/+merge/5219314:03
thisfred** TODO review https://code.launchpad.net/~jamestait/ubuntuone-servers/facebook-contacts-sync-7/+merge/4636314:03
thisfred* BLOCKED: No (but need reviews)14:03
thisfred* LOVED: http://tinysong.com/gLcF (Swayzak - Ping Pong)14:03
thisfred* NEXT:alecu14:03
ubot4thisfred: Bug 702172 on http://launchpad.net/bugs/702172 is private14:03
ubot4Launchpad bug 702183 in ubuntuone-client (Ubuntu) (and 1 other project) "Syncdaemon needs to open the control panel in the background and change the launcher icon to urgent when the user exceeds their quota (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/70218314:03
ubot4Launchpad bug 723227 in ubuntuone-client "SD creates new notifications instead of updating one (affects: 1) (heat: 8)" [High,In progress] https://launchpad.net/bugs/72322714:03
ubot4Launchpad bug 702176 in ubuntuone-client (Ubuntu) (and 1 other project) "Syncdaemon needs to open the control-panel to volumes when a folder shared to the user exceeds the owning user's quota (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/70217614:03
ubot4Launchpad bug 702172 in ubuntuone-client (Ubuntu) (and 1 other project) "Syncdaemon needs to send a notification when a folder shared to the user exceeds the owning user's quota (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/70217214:03
ubot4Launchpad bug 728722 in ubuntuone-control-panel (and 1 other project) "control panel should have a .service file so it can be opened through dbus (affects: 1) (heat: 6)" [High,Triaged] https://launchpad.net/bugs/72872214:03
ubot4Launchpad bug 729055 in ubuntuone-client "File names should be shown on notifications (affects: 1) (heat: 6)" [Medium,New] https://launchpad.net/bugs/72905514:03
ubot4Launchpad bug 702007 in desktopcouch "get_all_records does not return records with their attachments (affects: 1) (heat: 6)" [Medium,Confirmed] https://launchpad.net/bugs/70200714:03
alecuDONE: built UI for login (bug #725290), modified retry code to be async14:04
alecuTODO: finish Sample application that uses DroidCouch (bug #725293), write some docs on how to use it. Do some reviews for thisfred14:04
alecuBLOCKED: got the flu, since yesterday feeling like a peace of sheet14:04
alecuLOVE: 4 days of weekend because of national holidays14:04
alecuNEXT: nessita14:04
ubot4Launchpad bug 725290 in droidcouch "Get valid OAuth tokens for the logged in user (affects: 1) (heat: 7)" [High,In progress] https://launchpad.net/bugs/72529014:04
nessitaDONE: control panel UI tweaking craziness. Got a couple of talks with c-parrino and i-vanka to define and understand latest changes. Weekly call. A couple of reviews.14:04
nessitaTODO: do not get *more* crazy. Implement a better fix for bug #706661. Implement re-design of the services tab.14:04
nessitaBLOCKED: nopes but time left is little14:04
nessitaNEXT: mandel14:04
ubot4Launchpad bug 725293 in droidcouch "Sample application that uses DroidCouch (affects: 1) (heat: 6)" [High,New] https://launchpad.net/bugs/72529314:04
ubot4Launchpad bug 706661 in ubuntuone-control-panel (Ubuntu) (and 1 other project) "Improve location of 'Get support' button (affects: 1) (heat: 8)" [Medium,Triaged] https://launchpad.net/bugs/70666114:04
mandelDONE: bug 728339 but I need  to integrate it properly solution so far looks ugly14:04
mandelTODO: Bug 727984, bug 72739614:04
mandelBLOCKED: no14:04
ubot4Launchpad bug 728339 in ubuntu-sso-client "Main references dbus and cannot be used in those env that do not have it (affects: 1) (heat: 6)" [Medium,In progress] https://launchpad.net/bugs/72833914:04
ubot4Launchpad bug 727984 in ubuntuone-client "New IPC signals for windows part (affects: 1) (heat: 6)" [Undecided,Confirmed] https://launchpad.net/bugs/72798414:04
ubot4Launchpad bug 727396 in ubuntuone-client "AttributeError: 'Root' object has no attribute 'subscribed' (affects: 1) (heat: 8)" [High,Confirmed] https://launchpad.net/bugs/72739614:04
mandelI know I had a slow day :(14:04
nessitaralsina? dobey?14:09
alecuaquarius, ping14:12
aquariusalecu, pong14:14
dobeyλ DONE: bug #661292 (stable-1-4), fully updated system, reverted launchpadlib for tarmac14:14
dobeyλ TODO: new maverick-proposed upload, bug #727558, mp3 install in banshee14:14
ubot4Launchpad bug 661292 in ubuntuone-client (Ubuntu Maverick) (and 4 other projects) "Nautilus is not aware of published files (affects: 7) (dups: 4) (heat: 40)" [Medium,In progress] https://launchpad.net/bugs/66129214:15
ubot4Launchpad bug 727558 in ubuntuone-music-store (and 1 other project) "Need to notify user when Purchased Music folder is not subscribed (affects: 2) (dups: 1) (heat: 14)" [Medium,Confirmed] https://launchpad.net/bugs/72755814:15
dobeyλ BLCK: None.14:15
alecuhi aquarius, since next week I'll be returning to work on non-api related stuff, I wanted to update you on droidcouch14:15
aquariusalecu, ok14:15
alecuaquarius, I made a project for this here: https://launchpad.net/droidcouch14:15
alecuaquarius, it pulls the sources from a git fork I did in github14:16
alecuaquarius, I also setup some bugs on launchpad.14:16
alecuaquarius, as of now, I'm almost finished with it:14:16
alecuaquarius, I made DroidCouch login into Ubuntu One getting sso tokens directly (no browser dance)14:17
karnialecu: awesome :)14:17
alecuaquarius, and it fetches data from one couch db.14:17
alecuaquarius, so, what's missing?14:18
aquariusis there a small demo application?14:18
alecuaquarius, the demo just displays the couchdb json, it's not parsing it yet.14:18
alecuI will be working on that today.14:18
alecuand also I think I should write some docs or something.14:18
aquarius*nod* Let me know once that's done and I'll take a look at the demo app, but it sounds promising!14:19
aquariusdocs: yes. Are there inline docs in the code?14:19
alecukarni, I surely could use your review on your code.14:19
karnialecu: just pulled it :)14:19
alecuaquarius, no inline docs as of yet...14:19
aquarius*nod* that would be a very good thing to add; otherwise I'll have to write docs by hand, and I'm not brilliant at Java, so it would be hard :)14:20
alecuaquarius, there's no comments in Droidcouch proper either. :-(14:20
* aquarius looks shocked. Shocked, I say14:20
karnialecu: I have the same problems with U1F alecu, I have to work on that as well :<14:20
alecukarni, :-)14:20
alecuaquarius, I was planning on writing a small article detailing how to use all this.14:21
alecuwhere should I put it? I was guessing in some wiki...14:21
aquariuskarni, it's less of a problem for u1f -- droidcouch is an API, a library to be used by others, so they need documentation to use it. u1f is a user-facing application, although if you start offering intents to do things like publish files, they will need documenting14:21
aquariusalecu, it'll go on the u1 developer site, I think, once that exists14:21
karniaquarius: well said14:21
aquariusalecu, so just write it wherever you think is ok -- an email to me will be fine if you like14:22
alecuaquarius, are you already parsing java documentation for the api work?14:29
alecuaquarius, should I use the standard java docstrings?14:29
karnialecu: When I was reading here, your update, you got me thinking for a second you already use the new registration API! And I was like "whoa he's fast" :)14:29
karnialecu: so you pass the SSO credentials, right?14:30
karnivia those USERNAME and PASSWORD fields14:30
alecukarni, yes, I get the credentials from the sso webservice, via the username (email in fact) and password that the user inputs into the login dialog,14:30
alecukarni, then the credentials are stored on Preferences, similar to what you do.14:31
aquariusalecu, I'm not already parsing it, but only because I don't have any java libraries right now. javadoc would be good,yes :)14:31
alecukarni, and if the credentials are still valid the user/pass is not asked again.14:31
karniright. I haven't gotten to the dialog yet hehe and I didn't see any layout resource. ok, reading on14:31
karnialecu: thanks14:31
aquariusalecu, we can go back to the browser dance when we have single-access oauth tokens (which can read/write only one database), if someone wants to use them from android14:32
* alecu is pretty new to git, so he might have screwed on adding the dialog layout :P14:32
alecuaquarius, didn't know about that.14:33
karnialecu: that's neat. when we designed with the oauth browser dance, it was decided I _should_ do it that way, because the browser gives the secure context for the user, not like a 3rd party app. but that's a totally different case here, as it's only used for testing.14:33
alecukarni, right14:34
karnibut it'll change with new new API anyway I guess14:34
karniso I'll be asking for the e-mail and password + captcha in case of registration14:34
alecukarni, make sure to add the username as well when registering... we have been working on the desktop side to add it, because it's needed for sharing folders.14:35
karnialecu: oh thanks! I'll note that.14:36
alecunot sure if the sso webservice supports it right now, but I understand it will soon.14:36
karnimakes sense.14:36
aquariusalecu, it isn't available, yet :)14:36
karniI managed to crash Lynda's system with my PDF file. Would you believe that O_o Oh Adobe..14:38
CardinalFangkarni, in a previous life, I was astonished and perversely proud that MySQL server runs from Acrobat Reader.14:47
karniCardinalFang: ahahah :)14:47
joshuahoover1thisfred: ping14:50
thisfredjoshuahoover1: pong14:50
=== joshuahoover1 is now known as joshuahoover
joshuahooverthisfred: you mentioned a freeze exception yesterday but i didn't catch for what or the bug #...do you still need that? i can do the "busy work" but just need some details :)14:51
thisfredjoshuahoover: you'd have to ask aquarius/ralsina whether we need it. It's for the inclusion of https://launchpad.net/ubuntuone-couch14:52
aquariusthisfred, which I would like an update on the progress of, when you have a chance :)14:53
joshuahooverthisfred: ah, ok, thanks!14:53
thisfredIt would be a new package, containing a small library, and two low impact utility scripts14:53
thisfredaquarius: told you: it's done14:53
joshuahooverthisfred: and it would be for universe, correct? (assuming it goes at all)14:53
aquariusthisfred, oh, I thought there was somethning outstanding with it?14:53
thisfredaquarius: not really, there's one open bug that is not urgent14:55
thisfredaquarius: the packaging branch is ready to apply for sponsorship if/when we get a freeze exception14:55
aquariusthisfred, blimey, I must have repressed the knowledge that it was done. Nice. :)14:55
* aquarius uses u1oauthrequest. Excellent :)14:55
thisfredaquarius: windows compatibility is not really done (you can use it if you supply the tokens, but it will break if you don't) but that I deemed less urgent, since it does not need to go into natty per se14:57
thisfredit now has 97% test code coverage14:58
aquariusthisfred, agreed. If you can supply the tokens then it's good. I'd rather have "look, use u1couch (and other u1 urls) from anywhere, if you supply the tokens" plus "if you're on ubuntu we'll fetch the tokens for you by magic"14:59
thisfredright. What I'd like to do is give sensible feedback if you don't have ubuntu-sso and don't supply tokens, rather than an error15:00
thisfredbut that's for 0.1.115:00
thisfredor so15:00
dobeyerrors can be sensible feedback15:00
thisfreddobey: sure15:00
thisfreddobey: this one isn't\15:00
dobeyjust don't be like "assert token"15:00
thisfredI'd prefer not to get a python traceback from a command line tool though15:01
dobeywhich is the "make your users want to punch you in the face" kind of error15:01
dobeythisfred: sure. python developers and error handling aren't always peas in a pod15:02
thisfredI don't think that's just Python developers ;)15:02
dobeysure. ruby developers too probably15:03
thisfredIn C you get a whole different class of nasty. At least most python code doesn't segfault15:03
dobeypython makes it very easy to just do "raise SomeError('My code sucks.')"15:03
dobeymost python code does segfault15:04
thisfrednot my experience15:04
dobeyit just happens that it fills your console with 300 lines of useless traceback, than 1 line of "hey, some programmer did something stupid"15:04
thisfredIt's actually often super useful information you can send to the developer even if you don't understand what it means15:05
dobeythisfred: to a user an app crashing is an app crashing, it doesn't matter if it was an assert, exit(-42), raise Foo, or SIGSEGV15:05
dobeythisfred: yes, if you know to do that15:06
thisfredSure, but I'm saying most python programs don't crash15:06
thisfredNot the ones I use anyway15:06
dobeybut since users don't always get a dialog saying "THere was an error, report to developers?" it's not really as useful as one might like15:06
joshuahooverthisfred: do we have packaging i can point to for ubuntuone-couch?15:07
dobeythisfred: you should look through our bugs again then. there are LOTS of SEGVs in there from python stuff15:07
thisfredjoshuahoover: yessir: https://code.launchpad.net/~thisfred/+junk/ubuntuone-couch-0.1.015:07
dobeythisfred: Python itself is written in C, after all.15:07
joshuahooverthisfred: excellent, thank you!15:07
thisfreddobey: yeah, but the core library you have to really work hard to crash. Crashes often happen when interfacing (badly) with C libraries. Or stuff like twisted ;)15:09
thisfredCTypes is easy to get wrong15:09
dobeyyeah but the core library is where potentially good moduels go to die15:09
thisfredfor instance15:09
dobeyand most of our python crashes are dbus15:10
joshuahooverthisfred, aquarius: here's the ffe for ubuntuone-couch - bug #72911715:10
thisfredjoshuahoover: awesome!15:10
dobeymaybe httplib3 will just be Soup15:10
joshuahooverthisfred: i'll bring it up today at the ubuntu release meeting so it gets some attention :)15:10
thisfredunfortunately ubot4 is on the wrong side of a net split :)15:11
thisfreddobey: re dbus: my point exactly, that's mostly due to bad wiring between Python and C code I suspect15:13
karnialecu: sorry, I got distracted by HQ. I can test this using local couchDB? ie desktopCouch (I'm mixing up names)15:14
dobeythisfred: perhaps, but it's not CTypes. it is a .so module to python15:14
nessitareviews wanted! https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/support-everywhere/+merge/5220215:15
* nessita brbs15:15
dobeythisfred: but it doesn't change my point; developers tend to rely more on just doing raise Error() than taking more meaningful action for the user15:15
dobeyin C, that's not necessarily true since it doesn't have exceptions. SEGVs are pretty much always just bad code somewhere :)15:16
thisfredwell, in library code that's fine, in application code that's unforgivable15:16
=== jbrett- is now known as jbrett
thisfredYou have to be aware of which you are writing though ;)15:16
dobeywell, it would be fine if libraries were better documented15:16
dobeyespecially when there are custom error classes15:16
alecukarni, by local couchdb, you mean running on the phone?15:17
thisfrednot disagreeing there15:17
dobeybecause nobody ever documents what exceptions their methods can raise :(15:17
karnialecu: I can run it either way. I meant my laptop.15:17
karnialecu: or should I provide something like couch.one.ubuntu.com (excuse my lack of couch know-how)15:18
alecukarni, you may use straight DroidCouch to connect to a CouchDB running on your laptop, yes. But you won't be using the UbuntuOne couchdb stuff I coded.15:18
karnialecu: ok, then what should be the url, that one ↑ ?15:19
alecukarni, btw: you'll need to enable couchdb to listen in other connections other than localhost.15:19
alecukarni, you should not be passing an url...15:19
alecukarni, what code are you using?15:19
* thisfred reviews https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/support-everywhere/+merge/5220215:19
alecukarni, the u1 url should be picked up automatically.15:19
karnialecu: "Find the line: //String HOST = "ADD_YOUR_OWN_COUCHDB_SERVER_HERE";"  it says, should I leave it like that?15:19
alecukarni, what git repo?15:20
karniok, one sec :D15:20
alecuit should be https://github.com/alecu/DroidCouch15:20
karniI might be an idiot, but I pulled lp:droidcouch15:20
alecukarni, the launchpad repo is a read only copy of the git, and it's updated every 6 hours or so.15:21
alecukarni, let me manually update....15:21
karnialecu: that would explain why I didn't find the dialog hehe15:21
alecukarni, done. try pulling again15:23
* karni pulls15:23
karniyup, bzr log say's it's the one15:23
karnithanks alecu15:23
alecuno prob!15:23
karnialecu: you might want to correct the classpath "/home/alecu/canonical/android/..."15:26
karniI'll fix it myself to run it.15:26
alecukarni, how do I make that location independent?15:27
karnialecu: edit the classpath to say something like path="libs/signpost-commonshttp4-1.2.jar" and restart eclipse, it'll catch on15:28
karnialecu: alternatively, you can fix the build path and15:28
karnialecu: use the "Add jars", which might fix it as well, but the first option works for sure. that's how we fixed mine with Chad15:28
alecuI think I did it with "add jars", so I'm puzzled it ended up with the whole path.15:29
karnialecu: .classpath in the root, you know. yeah that sux in eclipse then :S15:29
karnino idea why eclipse gives absolute path even if the libs are under the project root15:30
alecukarni, fixed that, thanks. I'll push it with the docstrings I'm working on.15:31
karnialecu: sure, np15:31
=== tubadaz_ is now known as tubadaz
nessitathisfred: I had to needs fixing your branch about --alert, comment added15:37
thisfrednessita: thx15:37
joshuahooverdobey: let me know when something is ready for me to test for bug #661292 and i'll do my best to test it right away15:39
ubot4`Launchpad bug 661292 in ubuntuone-client (Ubuntu Maverick) (and 4 other projects) "Nautilus is not aware of published files (affects: 7) (dups: 4) (heat: 40)" [Medium,In progress] https://launchpad.net/bugs/66129215:39
dobeyjoshuahoover: sure15:44
dobeywondering if i should make a new tarball, or just add a patch15:44
alecukarni, were you able to make it work?15:46
karnialecu: yes :) nice work man. I got two hints for you15:46
karniI was just about to write.15:47
alecuplease, let me know! I did plenty java a couple of years ago, but it's my first Android project.15:47
thisfrednessita: r98 of attention seeking branch pushed with fix15:47
karnialecu: First, you have to be very careful with AsyncTasks and grabbing onto Activity context. You pass (Activity.)this to the AsyncTask and hold in a member field. In the mean time of AsyncTask, the Activity can be killed, and you're invoking method on a dead reference.15:48
karnialecu: Sure, and you've done a good job :)!15:48
alecuooohhh.... that sounds serious.15:48
karnialecu: The solutions are couple (yes, it's called Leaked context)15:48
karnione which I found for you (I didn't want to write from scratch) is this one http://stackoverflow.com/questions/3821423/background-task-progress-dialog-orientation-change-is-there-any-100-working/3821998#382199815:49
karnialecu: Although please listen further, becase I personally haven't used saving AsyncTasks that way15:49
karnialecu: You can use a weak reference to track if you've still got anything to update http://stackoverflow.com/questions/4220625/android-context-leaks-in-asynctask and if the Activity is gone, there's no UI to update anyway.15:50
karnialecu: ah, now I see the first link is the same if not similar to http://stackoverflow.com/questions/4404993/android-asynctask-context-terminated15:51
alecuright, I would use a weak reference if I was using python, so it makes sense there.15:51
karniNormally, if you have many AsyncTasks, you would hold a reference to them in the Application object15:51
karniBut since it's just one activity, a demo, you can either hold in in the state Bundle which is persisted15:52
karnior just invoke runOnUIThread(new Runnable() {...}); and just check if the field you're updating (i.e. a text box) isn't null15:52
karnithis is the easiest solution I believe. There's also a way to do it with a handler, but learn one at a time.15:53
karnialecu: example from U1F :) http://paste.ubuntu.com/575543/15:54
alecukarni, I don't understand when updateStatistics is called...15:56
karnialecu: this is the only tricki part of AsyncTasks, not holding onto context. in general, they are clean and nice way to handle longer running tasks with UI feedback. (there's also IntentService, but that's much bigger and you don't need that now)15:56
=== didrocks1 is now known as didrocks
karnialecu: it's called in doInBackground, but since this method is not called on the UIThread (but on a worker thread)15:57
karninotice that I update the UI from within it using runOnUIThread( ... )15:57
alecuoh, right. I see.15:57
karnialecu: so what this does, is: show dialog, call blocking update statistics [which eventually updates UI], and hide the dialog once returned from updateStatistics15:57
karniI hope that's a clean example for you :)15:58
nessitathisfred: awesome!15:58
karnialecu: oh. that way you'll also avoid a NPE in onPostExecute when activity is gone, which I managed to squeeze out (because the Couch part is so good I had no comments :) )15:59
alecukarni, I thought you were supposed to update the progress in the AsyncTask.onProgressUpdate method!15:59
alecukarni, since that is called in the UI thread already.16:00
karnialecu: right, if you have a progress defined as an int or any other sensible value/pair. I'm updating 6 (?) different text fields, and there's no sense in trying to artificially use the onProgress16:01
alecukarni, right, you would need to create a "progress" object with all those 6 fields...16:02
karnialecu: something of that sort. onProgress is perfect for uploads, downloads, searching, parsing, and such16:02
karnialecu: for instance, if you have 50 JSON objects to parse, that's the way you would update, a progress bar, for instance :) with onProgress16:03
alecukarni, cool. so, back to "dismiss()"16:04
alecukarni, when is mRefreshStatsDialog set to null?16:04
alecuoh, and I see that isShowing is checked there as well.16:04
karni1 sec16:04
karnioh right. showDialog() is a method that calls onCreateDialog, which then creates the dialog, sets that field, and returns the dialog16:05
alecuso, I guess my reference from the task to the activity may still be available, but the view in that activity may already be gone.16:05
karniwhich, in turn, is displayed. when I call dismiss(), if nothing has changed (ie the Activity hasn't been GC'd), the field is probably set - so I check, and hide it.16:06
alecuI think I understand it16:06
karnialecu: actually, the activity is your context. so if any of the views isn't reachable, it most certainly means the Acitivty has been killed, and the context is gone16:06
karnithere's nothing holding you from using getApplicationContext(), to which, for example, you could show a toast "Hey, I've finished!"16:07
karnibut if you would try to display a dialog in such context, it would say "hey man, you even't don't have a Window, so I'm not gonna create that dialog for you"16:07
alecuright, and that means a NPE, that means a Force Close.16:08
karnithis is why a background service cannot pop a dialog - but it can create an activity that looks like a dialog ;)16:08
* alecu had to look up what NPE stood for16:08
karninot necessarily. so called FC is when you have ANR, which is16:08
karniApplication Not Responding16:08
alecuright, blocking the UI thread.16:09
karniwhen you dispatch events on the UI Thread (ie user taps many times), and you can't handle all those events, and slow down, then you get ANR, which you can Force to close, or wait16:09
CardinalFangkarni, it might be a good idea to try out the new(ish) Thread Policy API that enforces no expensive operations in UI threads.  One day.16:10
karniCardinalFang: indeed Chad, I had that in mind for some time16:10
* alecu bows to karni, the android guru.16:10
karnialecu: please.. please.. don't. /me bows to CardinalFang , the android guru16:11
CardinalFangI am but an egg.16:12
karniCardinalFang: you're one of the people who know how much testing U1F is missing, and I wouldn't want it to be perceived as carelessness. I was just pushing features as fast as I could, and that's the result.. It's on my TODO!16:12
karniaanyway. alecu, I forgot the second thing. perhaps it was the library path. nice work man.16:14
alecukarni, thanks a lot for your input!16:14
karniI'll jump out for lunch, have to grab an HDD from my friend, so I'll be back in a while.16:14
karnialecu: my pleasure, I'm sure I'll learn tons of Python tricks from you.16:15
=== ralsina_ is now known as ralsina_lunch
* karni @lunch16:15
=== zyga_ is now known as zyga
=== ferai is now known as jefferai
=== popey_ is now known as popey
=== tremolux_ is now known as tremolux
=== beuno_ is now known as beuno
=== ralsina_lunch is now known as ralsina
=== ralsina is now known as ralsina_at_the_b
=== didrocks1 is now known as didrocks
dobeyjoshuahoover: i have pushed 1.4.6-0ubuntu2 to proposed, but it needs an archive admin to approve it, so that it gets built/published so you can test it18:10
karnithe traffic is terrible in Warsaw. even with bus lanes. I'm back.18:19
=== ralsina_at_the_b is now known as ralsina
dobeyCardinalFang: is bug #591039 fixed now? can you mark it so if it is?18:41
ubot4`Launchpad bug 591039 in desktopcouch (Ubuntu) (and 1 other project) "Cannot import desktopcouch in server environment (affects: 2) (heat: 21)" [Medium,Confirmed] https://launchpad.net/bugs/59103918:41
joshuahooverdobey: cool, thanks18:43
CardinalFangdobey, yes.19:18
=== Daviey- is now known as Daviey
=== AlanChicken is now known as AlanBell
joshuahooverCardinalFang: do we need to get some reviews on your branch? https://code.launchpad.net/~cmiller/ubuntu/lucid/desktopcouch/lp72659720:01
CardinalFangjoshuahoover, yes, those would be nice.  Perhaps one distro and one from thisfred or vds?20:03
joshuahooverCardinalFang: i believe we need to get our reviews on it and then merge and we can propose for an sru that will get reviewed at that point for approval20:04
* thisfred is on it20:04
joshuahooverthisfred: thanks!20:05
thisfredCardinalFang: there is not a merge proposal right? So the review is purely informal?20:05
CardinalFangthisfred, right20:06
CardinalFangthisfred, proposing.20:06
thisfredah ok20:07
CardinalFangthisfred,  https://code.launchpad.net/~cmiller/ubuntu/lucid/desktopcouch/lp726597/+merge/5224920:07
=== Irek_ is now known as irek
dobeylater all. have a good weekend20:49
=== popey_ is now known as popey
karnithanks dobey, have a great weekend21:00
thisfrednessita: I'm looking into bug #728722, it seems there is a service file already, but just for the backend, though it's confusingly called  com.ubuntuone.controlpanel.service rather than something with backend. Do you think i should rename that, or call the new one  com.ubuntuone.controlpanel-frontend.service or something?21:16
ubot4`Launchpad bug 728722 in ubuntuone-control-panel (Ubuntu Natty) (and 5 other projects) "control panel should have a .service file so it can be opened through dbus (affects: 1) (heat: 6)" [Medium,Triaged] https://launchpad.net/bugs/72872221:16
nessitathisfred: please add a new file named:21:17
nessitacom.ubuntuone.controlpanel.gui.service ot similar21:17
nessitaralsina: you still around?21:18
thisfredsounds good21:18
nessitaralsina: I'm rounding up the services tab and I would desperately need your review :-)21:18
lamalexGuys, people rag on you for not having a good selection in the store, but I want to say I disagree completely. You guys consistently have stuff I'm not expecting to find.21:24
lamalexso thanks21:25
beunolamalex, thanks for the comment  :)21:31
kenvandinelamalex, i agree... only thing i've gone looking for i couldn't get was AC/DC21:52
thisfredlater all, could still use reviews on https://code.launchpad.net/~thisfred/ubuntuone-client/use-single-notification/+merge/52147 and https://code.launchpad.net/~thisfred/ubuntuone-control-panel/attention-seeking/+merge/52131 ;)21:57
lamalexhahaha kenvandine that's a weird one to not find too21:58
lamalexyou know21:58
lamalexbecause it' AC/DC21:58
kenvandinei wish it was weird21:58
kenvandinenot available anywhere online21:58
lamalexso buy the freaking record21:58
lamalexthe stuff I haven't been able to find has been stuff that basically only exists on 100 vinyls that some dudes pressed themselve with their beer money21:58
kenvandinethat too hard :)21:58
lamalexwhich I didn't expect to find21:59
lamalexbut was hoping I might so I could blog about how great U121:59

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!