[00:24] <thisfred> oooh: http://mozillalabs.com/messaging/messaging-menu/
[00:25] <thisfred> tb integration with the messaging menu! yay!
[00:31] <TrickyJ> how to use ubuntu one in UBUNTU
[00:32] <TrickyJ> when i right click on a file or folder go to ubuntu one in that all the optops are grade out
[00:32] <TrickyJ> How can i enable those ?
[00:32] <TrickyJ> I am able to sync with UBUNTU one
[00:53] <karni> whoaa beuno , thanks for the log. check this out:
[00:53] <karni> StorageManagement: external avail: 983330816
[00:53] <karni> StorageManagement: external total: -1141784576
[00:54] <karni> I hope it's not another Android bug :/ Code is dead simple: long totalExtStorage = u1Stat.getBlockCount() * u1Stat.getBlockSize();
[00:54] <beuno> karni, negative space!
[00:55] <karni> indeed. it's a black whole \o\
[00:57] <karni> I'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] <karni> Looks like I'll have to talk to verterok and ask if I'm not breaking the messages.
[00:57]  * beuno nods
[00:57] <kklimonda1> maybe beuno has a huge sdcard? ;)
[00:58] <karni> But the storage limit now will work fine once the server bug is fixed.
[00:58] <karni> But that negative storage is a serious issue.
[00:58] <beuno> it's a 16gb card
[00:58] <karni> kklimonda1: indeed, but that's no excuse for Android returning wrong values.
[00:58] <kklimonda1> karni: not if you overflow it ;)
[00:59] <karni> kklimonda1: now you're talking! *checks*
[01:00] <karni> both getAvailableBlocks() and getBlockSize() return int's. I multiply, so I keep it in long for safety.
[01:00] <karni> But I guess it's a good idea to output them separately and check what's going on there.
[01:00] <karni> kklimonda1: I wish it was so easy!
[01:00] <kklimonda1> maybe multiplying two ints first store the result in int, and only then saves it in long?
[01:00] <kklimonda1> Java may be doing something evil ;)
[01:01] <karni> indeed 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:02] <beuno> karni, I'll send as many logs as your inbox can handle!
[01:02] <karni> beuno: it's g-mail, so we're good to go! :D
[01:02]  * karni hacks
[01:04] <kklimonda1> karni: that's how C# works.
[01:05] <kklimonda1> karni: 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] <karni> hahah :) tnx
[01:05] <karni> indeed, good point.
[01:06] <karni> ha! you my man kklimonda1
[01:07] <karni> b = ..... -2 ;]
[01:07] <karni> kklimonda1: you've just fixed a bug.
[01:07] <karni> and I've learned a quite basic fact I should have anticipated.
[01:07]  * karni puts a cardboard box on his head
[01:08] <kklimonda> (it will happen in every language that have types btw)
[01:08] <kklimonda> it's probably not a problem on those new, hipster dynamic languages like Python ;)
[01:09] <karni> yea. that's even more embarrasing as I come from the world of C, and I'm pretty sure Java just made me terribly lazy uhhh
[01:10] <kklimonda> karni: any idea how is Qt shaping up for Android?
[01:10] <kklimonda> i.e. are they planning on implementing intents/actions at some point?
[01:11] <karni> kklimonda: I'm aware of things going on, but I haven't been following Qt's actions I must say.
[01:11] <kklimonda> and 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] <karni> uhh
[01:12] <kklimonda> it'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:13] <kklimonda> (really, I'd love to see a phone with dpkg.. oh, wait - meego.. nm, damn you Nokia)
[01:13] <karni> I wonder how's CouchOne and CouchDroid. I know alecu has been playing with CouchDroid lately and it sounds promising.
[01:13] <karni> heheh
[01:17] <karni> It hurs me badly, I had an overflow. Argh. At least I finally got the right place for throttling, needs some adjustments.
[01:31] <karni> I'll get some sleep. See you all tomorrow!
[01:33] <beuno> karni, fwiw
[01:33] <karni> yes?
[01:33] <beuno> we did a deploy of api servers today
[01:33] <beuno> so the 0 bytes thing should be fixed now
[01:33] <karni> oh! awesome!
[01:33] <beuno> added some extra capacity as well
[01:34] <beuno> so hopefully no more slowdowns at the same time
[01:34] <karni> I wonder if it's already working :) I'll check!
[01:34] <karni> beuno: oh, perfect! sounds great :)
[01:35] <beuno> karni, go to sleep
[01:35] <beuno> it'll still be there tomorrow
[01:35] <karni> it's just a sec, I'm already testing ^^
[01:36] <kklimonda> ok, 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:37]  * beuno goes walk the dog
[01:37] <karni> kklimonda: whooa :)
[01:37] <karni> beuno: UbuntuOneFiles  D  SyncManager: file size: 0 :<
[01:37] <karni> beuno: I will consult tomorrow with verterok. It looks to me like
[01:37] <karni> it's a bug in storage protocol itself, not the server. Or even 'better', the JAva implementation.
[01:37] <karni> we shall find it together, hopefully tomorrow.
[01:38] <karni> ok, there's still tomorrow and tons of work, so I'll get some sleep. take care!
[01:49] <duanedesign> o/
[01:55] <beuno> night karni
[02:03] <karni> I 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] <karni> Have a nice evening/night guys, and thanks for all help today beuno :)!
[02:07]  * beuno ignores karni
[02:08] <karni> ^  ^
[04:50] <espen77> trying 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"...
[09:28] <karni> good day!
[09:45] <JamesTait> Bon Vendredi à tous!
[09:47] <karni> Vendredi saint à vous aussi!
[09:48] <karni> and no, I not know more French than "omlet di fromage" :D
[09:48] <karni> JamesTait: where are you from if I may ask :)?
[09:49] <JamesTait> karni: I'm in the UK.
[09:49] <JamesTait> karni: Right slap-bang in the middle of the UK.
[09:49] <karni> JamesTait: ah! for a momnet I thought US, but that time would be ridiculously early for you. All clear :)
[09:49] <karni> haha :)
[09:49] <JamesTait> karni: If you stuck a pin in us, the UK would spin quite happily around it. :)
[09:50]  * karni *laughs*
[09:52] <JamesTait> Also, 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] <karni> JamesTait: it's fun to see/read ^ ^
[09:52] <JamesTait> It is my hope that people will recognise that I've made an effort and correct me where necessary.
[09:53] <rye> looks like we have some regression in nautilus plugin
[09:53] <karni> \o/ awesome
[09:53] <karni> rye: :<
[09:53] <rye> basically it hangs upon publishing file and/or visiting ubuntuone-enabled directory the first time
[09:53] <rye> karni, morning
[09:53] <karni> rye: hello rye! good day to you
[11:48] <karni> oauth maintanance I see. I'll use my old tokens.
[11:49] <duanedesign> morning all
[11:53] <karni> good morning not evil duanedesign ;)
[11:56] <duanedesign> O:-)
[11:56] <karni> =#
[11:56] <karni> *ops =D
[12:21] <ralsina> good morning everyone
[12:24] <karni> good morning ralsina
[12:32] <duanedesign> hello ralsina
[12:32] <ralsina> hello duanedesign karni
[12:53] <alecu> hello #ubuntuone!
[12:57] <ralsina> hola alecu
[12:57] <alecu> hey there boos
[12:58] <alecu> hey there boss
[12:58] <ralsina> alecu, 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] <ralsina> I said "yes but don't know when" ;-)
[12:59] <alecu> ralsina, we have all that info in the current aggregator, we didn't get around to doing it just like that.
[12:59] <alecu> ralsina, the plan was to say "file ~/Ubuntu One/sample.txt was uploaded to your cloud"
[12:59] <ralsina> alecu: I remembered as much
[12:59] <alecu> ralsina, or "file ~/Ubuntu One/sample.txt was and 3 others were uploaded to your cloud"
[13:00] <ralsina> alecu: I think aquarius wants more of a history thing. We are pushing events to eitgeist, so the jounal has them, right?
[13:00] <alecu> ralsina, well, right.
[13:00] <alecu> ralsina, they should be available in the gnome-activity-journal as well.
[13:01] <alecu> ralsina, but regarding the strings above, we didn't get around to doing it. In fact we don't have bugs for them.
[13:01] <ralsina> alecu: file yourself one, please ;-)
[13:01] <alecu> ralsina, we may add bugs for those, and starting next week we can plan on prioritizing all of them.
[13:01] <ralsina> I am not sure we'll do it, but we better not forget about it either
[13:02] <ralsina> yes, next week we need to schedule all the bugs
[13:02] <ralsina> and stop adding new ones (right ;-)
[13:03] <alecu> :-)
[13:05] <nessita> hello crowd!
[13:07] <ralsina> hello nessita!
[13:08] <nessita> reviews wanted!!! https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/tweak-overview/+merge/52124
[13:08] <ralsina> nessita: got it
[13:10] <alecu> thisfred, hello!
[13:11] <alecu> thisfred, I've just added bug #729055
[13:11] <ubot4> Launchpad bug 729055 in ubuntuone-client "File names should be shown on notifications (affects: 1) (heat: 6)" [Medium,New] https://launchpad.net/bugs/729055
[13:11] <alecu> thisfred, should I assign it to you?
[13:12] <thisfred> sure
[13:14] <thisfred> alecu: ok, so show filenames, unless there are n then just show the first and n-1 more?
[13:15] <alecu> thisfred, yes. This should be on both upload and download, for pending and done.
[13:16] <thisfred> kk
[13:16] <alecu> thisfred, also, let's discuss with ralsina the priority of this.
[13:17] <thisfred> sure
[13:22] <ralsina> Right now I think it's very not urgent, but next week we'll do a bubble sort on our bugs ;-)
[13:44] <ralsina> nessita: +1 on tweak-overview
[13:46] <nessita> yes!
[13:46] <beuno> nessita, I also +1ed, but with a small tweak request
[13:46] <nessita> looking
[13:46] <beuno> basically, s/http/https
[13:47] <nessita> beuno: trivial, fixing it!
[13:47] <nessita> done, now I need cparrino's +1\
[13:49] <karni> beuno: 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] <beuno> karni, great
[13:50] <karni> beuno: We also discussed some details on throttling, so I know how to continue (will propose later to his branch)
[13:50] <beuno> perfect
[13:51] <ralsina> guys, standup at 11:15 because I have to pickup my kid at school
[13:51] <ralsina> and lady, of course
[13:54] <verterok> karni: good news, it's working for get_delta, but not for get_delta_from_scratch :|
[13:54] <verterok> karni: btw, you are be using get_delta_from_scratch only in specific cases, right? :)
[13:57] <verterok> karni: I'll file a bug about the size not being there in the get_delta_from_scratch response
[13:57] <karni> verterok: oh! cool =) yes! I'm a good boy and I do detal_from_scratch only on first run or new volume :)
[13:58] <karni> first run = after app has been installed, that is.
[14:00] <thisfred> me moi ich ik yo ego
[14:00] <alecu>  me
[14:01] <alecu> ralsina, dobey, nessita, mandel?
[14:01] <nessita> me
[14:01] <mandel> me
[14:02] <nessita> ralsina, dobey?
[14:02] <nessita> thisfred: go!
[14:02] <thisfred> * DONE:
[14:02] <thisfred> ** NEEDSREVIEW bug #702176 https://code.launchpad.net/~thisfred/ubuntuone-control-panel/attention-seeking/+merge/52131
[14:02] <thisfred> ** INPROGRESS bug #702172 https://code.launchpad.net/~thisfred/ubuntuone-client/quota-notifications
[14:02] <thisfred> ** NEEDSREVIEW bug #702183 https://code.launchpad.net/~thisfred/ubuntuone-control-panel/attention-seeking/+merge/52131
[14:02] <thisfred> ** NEEDSREVIEW bug #723227 https://code.launchpad.net/~thisfred/ubuntuone-client/use-single-notification/+merge/52147
[14:02] <thisfred> * TODO:
[14:02] <thisfred> ** NEEDSREVIEW bug #702176 https://code.launchpad.net/~thisfred/ubuntuone-control-panel/attention-seeking/+merge/52131
[14:02] <thisfred> ** NEEDSREVIEW bug #702183 https://code.launchpad.net/~thisfred/ubuntuone-control-panel/attention-seeking/+merge/52131
[14:03] <thisfred> ** NEEDSREVIEW bug #723227 https://code.launchpad.net/~thisfred/ubuntuone-client/use-single-notification/+merge/52147
[14:03] <thisfred> ** INPROGRESS bug #702172 https://code.launchpad.net/~thisfred/ubuntuone-client/quota-notifications
[14:03] <thisfred> ** TODO bug #728722
[14:03] <thisfred> ** TODO bug #729055
[14:03] <thisfred> ** TODO bug #702007
[14:03] <thisfred> ** TODO review https://code.launchpad.net/~jamesh/bindwood/migration/+merge/52193
[14:03] <thisfred> ** TODO review https://code.launchpad.net/~jamestait/ubuntuone-servers/facebook-contacts-sync-7/+merge/46363
[14:03] <thisfred> * BLOCKED: No (but need reviews)
[14:03] <thisfred> * LOVED: http://tinysong.com/gLcF (Swayzak - Ping Pong)
[14:03] <thisfred> * NEXT:alecu
[14:03] <ubot4> thisfred: Bug 702172 on http://launchpad.net/bugs/702172 is private
[14:03] <ubot4> Launchpad 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/702183
[14:03] <ubot4> Launchpad bug 723227 in ubuntuone-client "SD creates new notifications instead of updating one (affects: 1) (heat: 8)" [High,In progress] https://launchpad.net/bugs/723227
[14:03] <ubot4> Launchpad 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/702176
[14:03] <ubot4> Launchpad 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/702172
[14:03] <ubot4> Launchpad 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/728722
[14:03] <ubot4> Launchpad bug 729055 in ubuntuone-client "File names should be shown on notifications (affects: 1) (heat: 6)" [Medium,New] https://launchpad.net/bugs/729055
[14:03] <ubot4> Launchpad bug 702007 in desktopcouch "get_all_records does not return records with their attachments (affects: 1) (heat: 6)" [Medium,Confirmed] https://launchpad.net/bugs/702007
[14:04] <alecu> DONE: built UI for login (bug #725290), modified retry code to be async
[14:04] <alecu> TODO: finish Sample application that uses DroidCouch (bug #725293), write some docs on how to use it. Do some reviews for thisfred
[14:04] <alecu> BLOCKED: got the flu, since yesterday feeling like a peace of sheet
[14:04] <alecu> LOVE: 4 days of weekend because of national holidays
[14:04] <alecu> NEXT: nessita
[14:04] <ubot4> Launchpad bug 725290 in droidcouch "Get valid OAuth tokens for the logged in user (affects: 1) (heat: 7)" [High,In progress] https://launchpad.net/bugs/725290
[14:04] <nessita> DONE: 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] <nessita> TODO: do not get *more* crazy. Implement a better fix for bug #706661. Implement re-design of the services tab.
[14:04] <nessita> BLOCKED: nopes but time left is little
[14:04] <nessita> NEXT: mandel
[14:04] <ubot4> Launchpad bug 725293 in droidcouch "Sample application that uses DroidCouch (affects: 1) (heat: 6)" [High,New] https://launchpad.net/bugs/725293
[14:04] <ubot4> Launchpad 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/706661
[14:04] <mandel> DONE: bug 728339 but I need  to integrate it properly solution so far looks ugly
[14:04] <mandel> TODO: Bug 727984, bug 727396
[14:04] <mandel> BLOCKED: no
[14:04] <ubot4> Launchpad 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/728339
[14:04] <ubot4> Launchpad bug 727984 in ubuntuone-client "New IPC signals for windows part (affects: 1) (heat: 6)" [Undecided,Confirmed] https://launchpad.net/bugs/727984
[14:04] <ubot4> Launchpad bug 727396 in ubuntuone-client "AttributeError: 'Root' object has no attribute 'subscribed' (affects: 1) (heat: 8)" [High,Confirmed] https://launchpad.net/bugs/727396
[14:04] <mandel> I know I had a slow day :(
[14:09] <nessita> ralsina? dobey?
[14:12] <alecu> aquarius, ping
[14:12] <dobey> hi
[14:14] <aquarius> alecu, pong
[14:14] <dobey> λ DONE: bug #661292 (stable-1-4), fully updated system, reverted launchpadlib for tarmac
[14:14] <dobey> λ TODO: new maverick-proposed upload, bug #727558, mp3 install in banshee
[14:15] <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/661292
[14:15] <ubot4> Launchpad 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/727558
[14:15] <dobey> λ BLCK: None.
[14:15] <alecu> hi aquarius, since next week I'll be returning to work on non-api related stuff, I wanted to update you on droidcouch
[14:15] <aquarius> alecu, ok
[14:15] <alecu> aquarius, I made a project for this here: https://launchpad.net/droidcouch
[14:16] <alecu> aquarius, it pulls the sources from a git fork I did in github
[14:16] <alecu> aquarius, I also setup some bugs on launchpad.
[14:16] <alecu> aquarius, as of now, I'm almost finished with it:
[14:17] <alecu> aquarius, I made DroidCouch login into Ubuntu One getting sso tokens directly (no browser dance)
[14:17] <aquarius> good
[14:17] <karni> alecu: awesome :)
[14:17] <alecu> aquarius, and it fetches data from one couch db.
[14:18] <alecu> aquarius, so, what's missing?
[14:18] <aquarius> is there a small demo application?
[14:18] <alecu> aquarius, the demo just displays the couchdb json, it's not parsing it yet.
[14:18] <thisfred> jetpacks?
[14:18] <alecu> I will be working on that today.
[14:18] <alecu> and also I think I should write some docs or something.
[14:19] <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] <aquarius> docs: yes. Are there inline docs in the code?
[14:19] <alecu> karni, I surely could use your review on your code.
[14:19] <karni> alecu: just pulled it :)
[14:19] <alecu> aquarius, no inline docs as of yet...
[14:20] <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] <alecu> aquarius, there's no comments in Droidcouch proper either. :-(
[14:20]  * aquarius looks shocked. Shocked, I say
[14:20] <aquarius> :-)
[14:20] <karni> alecu: I have the same problems with U1F alecu, I have to work on that as well :<
[14:20] <alecu> karni, :-)
[14:21] <alecu> aquarius, I was planning on writing a small article detailing how to use all this.
[14:21] <alecu> where should I put it? I was guessing in some wiki...
[14:21] <aquarius> karni, 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 documenting
[14:21] <aquarius> alecu, it'll go on the u1 developer site, I think, once that exists
[14:21] <karni> aquarius: well said
[14:22] <aquarius> alecu, so just write it wherever you think is ok -- an email to me will be fine if you like
[14:22] <alecu> ack
[14:29] <alecu> aquarius, are you already parsing java documentation for the api work?
[14:29] <alecu> aquarius, should I use the standard java docstrings?
[14:29] <karni> alecu: 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:30] <karni> alecu: so you pass the SSO credentials, right?
[14:30] <karni> via those USERNAME and PASSWORD fields
[14:30] <alecu> karni, 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:31] <alecu> karni, then the credentials are stored on Preferences, similar to what you do.
[14:31] <aquarius> alecu, 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] <alecu> karni, and if the credentials are still valid the user/pass is not asked again.
[14:31] <karni> right. I haven't gotten to the dialog yet hehe and I didn't see any layout resource. ok, reading on
[14:31] <karni> alecu: thanks
[14:32] <aquarius> alecu, 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 android
[14:32]  * alecu is pretty new to git, so he might have screwed on adding the dialog layout :P
[14:33] <alecu> aquarius, didn't know about that.
[14:33] <karni> alecu: 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:34] <alecu> karni, right
[14:34] <karni> but it'll change with new new API anyway I guess
[14:34] <karni> so I'll be asking for the e-mail and password + captcha in case of registration
[14:35] <alecu> karni, 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:36] <karni> alecu: oh thanks! I'll note that.
[14:36] <alecu> not sure if the sso webservice supports it right now, but I understand it will soon.
[14:36] <karni> makes sense.
[14:36] <aquarius> alecu, it isn't available, yet :)
[14:38] <karni> I managed to crash Lynda's system with my PDF file. Would you believe that O_o Oh Adobe..
[14:47] <CardinalFang> karni, in a previous life, I was astonished and perversely proud that MySQL server runs from Acrobat Reader.
[14:47] <karni> CardinalFang: ahahah :)
[14:50] <joshuahoover1> thisfred: ping
[14:50] <thisfred> joshuahoover1: pong
[14:51] <joshuahoover> thisfred: 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:52] <thisfred> joshuahoover: you'd have to ask aquarius/ralsina whether we need it. It's for the inclusion of https://launchpad.net/ubuntuone-couch
[14:53] <aquarius> thisfred, which I would like an update on the progress of, when you have a chance :)
[14:53] <joshuahoover> thisfred: ah, ok, thanks!
[14:53] <thisfred> It would be a new package, containing a small library, and two low impact utility scripts
[14:53] <thisfred> aquarius: told you: it's done
[14:53] <joshuahoover> thisfred: and it would be for universe, correct? (assuming it goes at all)
[14:53] <thisfred> yep
[14:53] <aquarius> thisfred, oh, I thought there was somethning outstanding with it?
[14:55] <thisfred> aquarius: not really, there's one open bug that is not urgent
[14:55] <thisfred> aquarius: the packaging branch is ready to apply for sponsorship if/when we get a freeze exception
[14:55] <aquarius> thisfred, blimey, I must have repressed the knowledge that it was done. Nice. :)
[14:55]  * aquarius uses u1oauthrequest. Excellent :)
[14:57] <thisfred> aquarius: 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 se
[14:58] <thisfred> it now has 97% test code coverage
[14:59] <aquarius> thisfred, 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"
[15:00] <thisfred> right. 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 error
[15:00] <thisfred> but that's for 0.1.1
[15:00] <thisfred> or so
[15:00] <dobey> errors can be sensible feedback
[15:00] <thisfred> dobey: sure
[15:00] <thisfred> dobey: this one isn't\
[15:00] <dobey> just don't be like "assert token"
[15:01] <thisfred> I'd prefer not to get a python traceback from a command line tool though
[15:01] <dobey> which is the "make your users want to punch you in the face" kind of error
[15:02] <dobey> thisfred: sure. python developers and error handling aren't always peas in a pod
[15:02] <thisfred> I don't think that's just Python developers ;)
[15:03] <dobey> sure. ruby developers too probably
[15:03] <thisfred> In C you get a whole different class of nasty. At least most python code doesn't segfault
[15:03] <dobey> python makes it very easy to just do "raise SomeError('My code sucks.')"
[15:04] <dobey> most python code does segfault
[15:04] <thisfred> not my experience
[15:04] <dobey> it just happens that it fills your console with 300 lines of useless traceback, than 1 line of "hey, some programmer did something stupid"
[15:05] <thisfred> It's actually often super useful information you can send to the developer even if you don't understand what it means
[15:05] <dobey> thisfred: to a user an app crashing is an app crashing, it doesn't matter if it was an assert, exit(-42), raise Foo, or SIGSEGV
[15:06] <dobey> thisfred: yes, if you know to do that
[15:06] <thisfred> Sure, but I'm saying most python programs don't crash
[15:06] <thisfred> Not the ones I use anyway
[15:06] <dobey> but 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 like
[15:07] <joshuahoover> thisfred: do we have packaging i can point to for ubuntuone-couch?
[15:07] <dobey> thisfred: you should look through our bugs again then. there are LOTS of SEGVs in there from python stuff
[15:07] <thisfred> joshuahoover: yessir: https://code.launchpad.net/~thisfred/+junk/ubuntuone-couch-0.1.0
[15:07] <dobey> thisfred: Python itself is written in C, after all.
[15:07] <joshuahoover> thisfred: excellent, thank you!
[15:09] <thisfred> dobey: 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] <thisfred> CTypes is easy to get wrong
[15:09] <dobey> yeah but the core library is where potentially good moduels go to die
[15:09] <thisfred> for instance
[15:10] <dobey> and most of our python crashes are dbus
[15:10] <joshuahoover> thisfred, aquarius: here's the ffe for ubuntuone-couch - bug #729117
[15:10] <thisfred> joshuahoover: awesome!
[15:10] <dobey> maybe httplib3 will just be Soup
[15:10] <joshuahoover> thisfred: i'll bring it up today at the ubuntu release meeting so it gets some attention :)
[15:11] <thisfred> unfortunately ubot4 is on the wrong side of a net split :)
[15:13] <thisfred> dobey: re dbus: my point exactly, that's mostly due to bad wiring between Python and C code I suspect
[15:14] <karni> alecu: sorry, I got distracted by HQ. I can test this using local couchDB? ie desktopCouch (I'm mixing up names)
[15:14] <dobey> thisfred: perhaps, but it's not CTypes. it is a .so module to python
[15:15] <nessita> reviews wanted! https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/support-everywhere/+merge/52202
[15:15]  * nessita brbs
[15:15] <dobey> thisfred: but it doesn't change my point; developers tend to rely more on just doing raise Error() than taking more meaningful action for the user
[15:16] <dobey> in C, that's not necessarily true since it doesn't have exceptions. SEGVs are pretty much always just bad code somewhere :)
[15:16] <thisfred> well, in library code that's fine, in application code that's unforgivable
[15:16] <thisfred> You have to be aware of which you are writing though ;)
[15:16] <dobey> well, it would be fine if libraries were better documented
[15:16] <dobey> especially when there are custom error classes
[15:17] <alecu> karni, by local couchdb, you mean running on the phone?
[15:17] <thisfred> not disagreeing there
[15:17] <dobey> because nobody ever documents what exceptions their methods can raise :(
[15:17] <karni> alecu: I can run it either way. I meant my laptop.
[15:18] <karni> alecu: or should I provide something like couch.one.ubuntu.com (excuse my lack of couch know-how)
[15:18] <alecu> karni, 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:19] <karni> alecu: ok, then what should be the url, that one ↑ ?
[15:19] <karni> :)
[15:19] <alecu> karni, btw: you'll need to enable couchdb to listen in other connections other than localhost.
[15:19] <alecu> karni, you should not be passing an url...
[15:19] <alecu> karni, what code are you using?
[15:19]  * thisfred reviews https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/support-everywhere/+merge/52202
[15:19] <alecu> karni, the u1 url should be picked up automatically.
[15:19] <karni> alecu: "Find the line: //String HOST = "ADD_YOUR_OWN_COUCHDB_SERVER_HERE";"  it says 192.168.1.10:5984, should I leave it like that?
[15:20] <alecu> karni, what git repo?
[15:20] <karni> ok, one sec :D
[15:20] <alecu> it should be https://github.com/alecu/DroidCouch
[15:20] <karni> I might be an idiot, but I pulled lp:droidcouch
[15:20] <karni> ops
[15:21] <alecu> karni, the launchpad repo is a read only copy of the git, and it's updated every 6 hours or so.
[15:21] <alecu> karni, let me manually update....
[15:21] <karni> alecu: that would explain why I didn't find the dialog hehe
[15:21] <alecu> hehehe
[15:23] <alecu> karni, done. try pulling again
[15:23]  * karni pulls
[15:23] <karni> yup, bzr log say's it's the one
[15:23] <karni> thanks alecu
[15:23] <alecu> no prob!
[15:26] <karni> alecu: you might want to correct the classpath "/home/alecu/canonical/android/..."
[15:26] <karni> I'll fix it myself to run it.
[15:27] <alecu> karni, how do I make that location independent?
[15:28] <karni> alecu: edit the classpath to say something like path="libs/signpost-commonshttp4-1.2.jar" and restart eclipse, it'll catch on
[15:28] <karni> alecu: alternatively, you can fix the build path and
[15:28] <karni> alecu: use the "Add jars", which might fix it as well, but the first option works for sure. that's how we fixed mine with Chad
[15:29] <alecu> I think I did it with "add jars", so I'm puzzled it ended up with the whole path.
[15:29] <karni> alecu: .classpath in the root, you know. yeah that sux in eclipse then :S
[15:30] <karni> no idea why eclipse gives absolute path even if the libs are under the project root
[15:31] <alecu> karni, fixed that, thanks. I'll push it with the docstrings I'm working on.
[15:31] <karni> alecu: sure, np
[15:37] <nessita> thisfred: I had to needs fixing your branch about --alert, comment added
[15:37] <thisfred> nessita: thx
[15:39] <joshuahoover> dobey: let me know when something is ready for me to test for bug #661292 and i'll do my best to test it right away
[15: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/661292
[15:44] <dobey> joshuahoover: sure
[15:44] <dobey> wondering if i should make a new tarball, or just add a patch
[15:46] <alecu> karni, were you able to make it work?
[15:46] <karni> alecu: yes :) nice work man. I got two hints for you
[15:47] <karni> I was just about to write.
[15:47] <alecu> please, let me know! I did plenty java a couple of years ago, but it's my first Android project.
[15:47] <thisfred> nessita: r98 of attention seeking branch pushed with fix
[15:48] <karni> alecu: 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] <karni> alecu: Sure, and you've done a good job :)!
[15:48] <alecu> ooohhh.... that sounds serious.
[15:48] <karni> alecu: The solutions are couple (yes, it's called Leaked context)
[15:49] <karni> one 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#3821998
[15:49] <karni> alecu: Although please listen further, becase I personally haven't used saving AsyncTasks that way
[15:50] <karni> alecu: 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:51] <karni> alecu: ah, now I see the first link is the same if not similar to http://stackoverflow.com/questions/4404993/android-asynctask-context-terminated
[15:51] <alecu> right, I would use a weak reference if I was using python, so it makes sense there.
[15:51] <karni> Normally, if you have many AsyncTasks, you would hold a reference to them in the Application object
[15:52] <karni> But since it's just one activity, a demo, you can either hold in in the state Bundle which is persisted
[15:52] <karni> or just invoke runOnUIThread(new Runnable() {...}); and just check if the field you're updating (i.e. a text box) isn't null
[15:53] <karni> this is the easiest solution I believe. There's also a way to do it with a handler, but learn one at a time.
[15:54] <karni> alecu: example from U1F :) http://paste.ubuntu.com/575543/
[15:55] <alecu> looking
[15:56] <alecu> karni, I don't understand when updateStatistics is called...
[15:56] <karni> alecu: 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] <alecu> right
[15:57] <karni> alecu: it's called in doInBackground, but since this method is not called on the UIThread (but on a worker thread)
[15:57] <karni> notice that I update the UI from within it using runOnUIThread( ... )
[15:57] <alecu> oh, right. I see.
[15:57] <karni> alecu: so what this does, is: show dialog, call blocking update statistics [which eventually updates UI], and hide the dialog once returned from updateStatistics
[15:58] <karni> I hope that's a clean example for you :)
[15:58] <nessita> thisfred: awesome!
[15:59] <karni> alecu: 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] <alecu> karni, I thought you were supposed to update the progress in the AsyncTask.onProgressUpdate method!
[16:00] <alecu> karni, since that is called in the UI thread already.
[16:01] <karni> alecu: 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 onProgress
[16:02] <alecu> karni, right, you would need to create a "progress" object with all those 6 fields...
[16:02] <karni> alecu: something of that sort. onProgress is perfect for uploads, downloads, searching, parsing, and such
[16:03] <karni> alecu: for instance, if you have 50 JSON objects to parse, that's the way you would update, a progress bar, for instance :) with onProgress
[16:04] <alecu> karni, cool. so, back to "dismiss()"
[16:04] <alecu> karni, when is mRefreshStatsDialog set to null?
[16:04] <alecu> oh, and I see that isShowing is checked there as well.
[16:04] <karni> 1 sec
[16:05] <karni> oh right. showDialog() is a method that calls onCreateDialog, which then creates the dialog, sets that field, and returns the dialog
[16:05] <alecu> so, 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:06] <karni> which, 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] <alecu> I think I understand it
[16:06] <alecu> right
[16:06] <karni> alecu: 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 gone
[16:07] <alecu> right.
[16:07] <karni> there's nothing holding you from using getApplicationContext(), to which, for example, you could show a toast "Hey, I've finished!"
[16:07] <karni> but 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:08] <alecu> right, and that means a NPE, that means a Force Close.
[16:08] <karni> this 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 for
[16:08] <karni> not necessarily. so called FC is when you have ANR, which is
[16:08] <karni> Application Not Responding
[16:09] <alecu> right, blocking the UI thread.
[16:09] <karni> when 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 wait
[16:09] <karni> exactly
[16:10] <CardinalFang> karni, 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] <karni> CardinalFang: indeed Chad, I had that in mind for some time
[16:10]  * alecu bows to karni, the android guru.
[16:11] <karni> alecu: please.. please.. don't. /me bows to CardinalFang , the android guru
[16:12] <CardinalFang> I am but an egg.
[16:12] <karni> CardinalFang: 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:14] <karni> aanyway. alecu, I forgot the second thing. perhaps it was the library path. nice work man.
[16:14] <alecu> karni, thanks a lot for your input!
[16:14] <karni> I'll jump out for lunch, have to grab an HDD from my friend, so I'll be back in a while.
[16:15] <karni> alecu: my pleasure, I'm sure I'll learn tons of Python tricks from you.
[16:15] <alecu> :-)
[16:15]  * karni @lunch
[18:10] <dobey> joshuahoover: 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 it
[18:19] <karni> the traffic is terrible in Warsaw. even with bus lanes. I'm back.
[18:41] <dobey> CardinalFang: 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/591039
[18:43] <joshuahoover> dobey: cool, thanks
[19:18] <CardinalFang> dobey, yes.
[19:18] <dobey> thanks
[20:01] <joshuahoover> CardinalFang: do we need to get some reviews on your branch? https://code.launchpad.net/~cmiller/ubuntu/lucid/desktopcouch/lp726597
[20:03] <CardinalFang> joshuahoover, yes, those would be nice.  Perhaps one distro and one from thisfred or vds?
[20:04] <joshuahoover> CardinalFang: 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 approval
[20:04]  * thisfred is on it
[20:05] <joshuahoover> thisfred: thanks!
[20:05] <thisfred> CardinalFang: there is not a merge proposal right? So the review is purely informal?
[20:06] <CardinalFang> thisfred, right
[20:06] <CardinalFang> thisfred, proposing.
[20:07] <thisfred> ah ok
[20:07] <CardinalFang> thisfred,  https://code.launchpad.net/~cmiller/ubuntu/lucid/desktopcouch/lp726597/+merge/52249
[20:49] <dobey> later all. have a good weekend
[21:00] <karni> thanks dobey, have a great weekend
[21:16] <thisfred> nessita: 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/728722
[21:17] <nessita> thisfred: please add a new file named:
[21:17] <nessita> com.ubuntuone.controlpanel.gui.service ot similar
[21:17] <nessita> or*
[21:18] <nessita> ralsina: you still around?
[21:18] <thisfred> ok
[21:18] <thisfred> sounds good
[21:18] <nessita> ralsina: I'm rounding up the services tab and I would desperately need your review :-)
[21:24] <lamalex> Guys, 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:25] <lamalex> so thanks
[21:31] <beuno> lamalex, thanks for the comment  :)
[21:52] <kenvandine> lamalex, i agree... only thing i've gone looking for i couldn't get was AC/DC
[21:57] <thisfred> later 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:58] <lamalex> hahaha kenvandine that's a weird one to not find too
[21:58] <lamalex> you know
[21:58] <lamalex> because it' AC/DC
[21:58] <kenvandine> i wish it was weird
[21:58] <kenvandine> not available anywhere online
[21:58] <lamalex> ah
[21:58] <lamalex> so buy the freaking record
[21:58] <lamalex> the 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 money
[21:58] <kenvandine> that too hard :)
[21:59] <kenvandine> hehe
[21:59] <lamalex> which I didn't expect to find
[21:59] <lamalex> but was hoping I might so I could blog about how great U1
[21:59] <lamalex> is