=== teknico is now known as teknico_away === teknico_away is now known as teknico === teknico is now known as teknico_away === teknico_away is now known as teknico === teknico is now known as teknico_away === teknico is now known as teknico_away === teknico_away is now known as teknico === teknico is now known as teknico_away [12:33] morning [12:48] -> lunch [12:50] g'morning [13:08] CardinalFang, hi [13:09] CardinalFang, this may come in handy: lp:~jdobrien/+junk/ubuntuone_web_api [13:10] CardinalFang, right now it will only work with edge, so use it with the --url https://edge.ubuntuone.com/api/account/ === teknico_away is now known as teknico [13:21] red velvet whoopie pie: breakfast of champions. [13:22] whatever that is [13:22] :) [13:28] aquarius: I'm eating my way to the US, starting with the South, which, culinarily at least, Maryland seems to belong to. Can't say I'm unhappy with that. [13:30] Red Velvet cake is cake, that is red. whoopie pies are small soft cookies with cream cheese in the center, and apparently they make em in red velvet cake flavour (haven't had the real thing yet) At least they got the color right. (And no, it's not *just* junk food I'm exploring ;) [13:32] I can't resist buying or ordering stuff I've never eaten or even seen before. This is how you get to know what shark, or squid in its own ink tastes like. (neither was really special) [13:33] swordfish otoh is quite good [13:33] or was, I've not eaten it for a while [13:35] yeah, a swordish steak, well prepared, can be excellent [13:35] (I hardly ever eat meat or fish anymore either) [13:41] whoo, boy [13:41] thisfred: you've got to come to one of our asados [13:41] :) [13:42] I would love to! [13:46] noted :) [13:58] thisfred, is your fix-the-tests branch ready for review? [13:58] aquarius: indeed it is! [13:58] I should review it, then. heh. :) [14:01] since you already fixed it, shouldn't be much work ;) The atexit works beautifully btw, it seems! [14:01] or uglily, really, but it works :) [14:01] thisfred, er. fail [14:01] fail? [14:01] running the tests appears to shut down my actual desktopcouch. [14:02] and not the 'test' one? [14:02] or does it not use the test one at all? [14:02] can you look in /tmp and see if it created a db there somewheres? [14:02] it does use the "test" one (since I don't have a million extra DBs in my real DC) [14:03] aquarius: and is the test one left running, or does it shut down both? [14:03] am just about to check precisely that [14:03] (I guess that) [14:03] s even more ugly, but not a huge problem, right? [14:03] since anything that wants to talk to dc will start it again [14:04] and not a lot of non developers will be running tests all the time [14:05] ok. it seems to shut itself down [14:05] but it doesn't delete the tmp folder [14:06] and it seems to also shut my DC down [14:06] hi there - quick question about DesktopCouch: if I write an app that stores data using desktopcouch, am I correct in assuming it'd be trivial to switch to a generic CouchDB instance? [14:07] FND, yes, pretty trivial; if you use the desktopcouch.records API then you'd need to stub out that API slightly to talk to a static couchdb (so that it doesn't do all the desktopcouch discovery magic and OAuth and so on) [14:08] FND, and if you don't use the desktopcouch.records API then you'll need to do that discovery magic and OAuth yourself if you're talking to desktopcouch [14:08] (assuming your app's in Python, otherwise s/desktopcouch.records/couchdb-glib/ or similar :)) [14:09] great - I haven't done anything with CouchDB yet, mostly because I couldn't be bothered looking into how to set it up - and DC would spare me that trouble [14:09] it will indeed. :) [14:09] thanks aquarius [14:09] what kind of discovery magic are you referring to? [14:10] desktopcouch runs on a random TCP port, so there's a D-Bus API to discover the port. dc.records calls this API for you and makes sure your data goes to the right place [14:10] aquarius: since it's a tmp dir, it will get cleaned up automatically depending on your system configuration, I thought it would be handy to keep it around for debugging porpoises [14:10] FND, there are a few other things that dc.records does for you, as you saw yesterday in the talk :) [14:11] gotcha [14:12] aquarius: it would be trivial to clean it up manually [14:13] thisfred, agreed [14:13] it stopping real DC is pretty annoying ,though :) [14:13] aquarius: well, minorly annoying maybe. It will be started by the first thing that needs it again, no? [14:14] yeah, it will (which was nice :)) [14:14] but the pairing app, for example, doesn't do port rediscovery [14:14] (and this is not by design, no, maybe we should look at the stop_couchdb code) [14:14] Chipaca: asado was that place we went to downtown with all the meat? [14:15] dobey: or the place before that with all the meat [14:15] asado means grill, or no? [14:15] grilled? [14:16] X asado means grilled X [14:16] right [14:16] which has become a pars pro toto [14:16] but grilled to us means using the embers, not fire [14:18] so barbecue, really :) [14:23] CardinalFang, let me know if you have questions about that openid script [14:23] thisfred, When we in the southern US say barbecue, we mean using smoke and very low heat. [14:23] CardinalFang, how far south? [14:23] :) [14:24] the Timoa indians from mexico would approve [14:24] Barbacoa generally refers to meats or a whole sheep slow-cooked over an open fire, or more traditionally, in a hole dug in the ground covered with maguey leaves, although the interpretation is loose, and in the present day and in some cases may refer to meat steamed until tender. [14:25] jdobrien, thisfred suggested it as the name of using embers (and notably not flame). [14:26] CardinalFang, did you get unblocked with your OAuth stuff? [14:27] in the Netherlands it usually means getting drunk while burning the grossest cheapest meat to a black crisp. On charcoal embers. [14:27] urbanape, Not yet. Maybe in the next two hours or so. [14:29] so, the js library seems to also not normalize and concatenate the request parameters. [14:29] at least, judging by the debugging output I'm spitting out. [14:29] Hrm. [14:30] jdobrien, Welcome! [14:30] although I can't tell from reading it if 9.1.1 happens on the client or server side. [14:30] Oscar for greatest quality disparity between movie and soundtrack goes to "The harder they come". Although "Purple Rain" is a marginally worse movie, the soundtrack to "The Harder They Come" is so freaking awesome that it wins hands down. I thought y'all would like to know. [14:30] if it happens on the server side, then I should be fine [14:32] jdobrien, I'm going to try ticking that accounts API soon. What should I expect? [14:34] aquarius: sheesh. that's not a blog post, it's an editorial! [14:34] dobey, what is? [14:34] aquarius: your post about the dc irc talk [14:34] CardinalFang, that script just dumps out a dict of the account information you get [14:35] well, it's fairly long 'cos it's got a full transcript in :) [14:35] should have done an excerpt, really. [14:35] jdobrien, Okay. Great. [14:36] CardinalFang, i through in simplejson for kicks [14:37] aquarius, got a moment or three? [14:37] for a quick pair? [14:37] urbanape, yeah, give me ten mins [14:37] ta [14:41] anyone know how to copy multiple lines from the Firefox error console? [14:45] you can't. it sucks [14:45] jdobrien, Hot damn! It works. I think. '{}' [14:45] thisfred, how close are we to having syncing to the cloud work? [14:45] dear rhythmbox, Thievery Corporation != Rob Zombie, kthx [14:45] aquarius: we need a proxy set up [14:46] thisfred, becuase that'll require changes on the desktop, even if trivial ones like "set the name of the server", and I dont want to miss the freeze. [14:46] Why do we need a proxy? [14:46] http load balancing? [14:46] aquarius: to unwrap ssl, and forward to the right machine [14:46] aquarius: yeah, load balancing in the future [14:46] CardinalFang, hmm... [14:47] CardinalFang, did you use --url https://edge.ubuntuone.com/api/account/ [14:47] aquarius: but also, until we have per db auth, we can't just open up all of couchdb [14:47] jdobrien, no "edge." [14:48] CardinalFang, need to use oauth [14:52] jdobrien, I think I am. This machine may not be associated yet, though. [14:52] aquarius, boo. Man, why software gotta be so suboptimal? [14:53] CardinalFang, that would be the problem [14:56] thisfred, so, things standing in the way of it being done: ssl unwrapping proxy; precise definition of path to my database in the cloud; implementing database_name_prefix in the pair app; per-db auth. Is there anything else? [14:56] urbanape, all yours [14:56] urbanape, actually, standup in 4 mins, so after that? [14:57] jdobrien, I'm not so sure now. I have two entries in my cimputer list. [14:58] jdobrien, I have only two computers. The IDs in the list are long. Is there a hidden mapping between those IDs and the OAuth info I have here? [14:58] aquarius, yeah, after standup, thanks [14:59] CardinalFang, if you look at the code, you'll see it is looking for a specific token, if you go to your keyring, you should be able to find that token [14:59] if you want, in the meanwhile, grab a copy of my latest branch: lp:~urbanape/bindwood/using-oauth [15:00] CardinalFang, if it finds a token and that token is not granted access to ubuntuone, you'll get back {} [15:03] Now is the time on Sprockets when we DANCE! [15:03] er, I mean STANDUP. MEETING BEGINS [15:03] if you're on the Desktop+ team, give us a shout: me [15:03] then DONE/TODO/BLOCK [15:04] me [15:04] CardinalFang, I could add some code to tickle the computer authorization dance [15:04] wtf? you're mental. :) [15:04] me [15:04] me [15:04] ich bin ein [15:04] me [15:05] aquarius: http://www.youtube.com/watch?v=QHZR9SA5pOg [15:05] DONE: still wrestling with Bindwood and OAuth. Getting more meaningful error messages, but ultimately still failing to get connected. [15:05] TODO: Finish it up with maybe a little help from aquarius. [15:05] BLOCK: My own confounded inability to read an RFC. [15:05] aquarius, if you please [15:05] statik, CardinalFang? [15:05] me [15:05] ⚀ DONE: did DC talk for UDW; work out what to do about quotas; discuss test-fix branch with thisfred [15:05] ⚁ TODO: continue on branch to allow unpairing of servers (bug #419975); continue piston oauth in snowy; work through bug list; implement quota stuff [15:05] ⚂ BLOCKED: nothing! except me being a bit thick [15:05] teknico, still teknico, he rounds the defender GOOOOOOOOOOOOOOOOOOOAL [15:05] Launchpad bug 419975 in desktopcouch "for pairing, do not display hosts or servers that are already paired" [Medium,In progress] https://launchpad.net/bugs/419975 [15:05] DONE: did more reviews, more work on deploying phone sync, made improvements to the create_couch_contacts.py script, skipped a test to be able to land a branch [15:05] TODO: implement the details view for the contacts CRUD web ui [15:05] BLOCK: none [15:05] next: dobey [15:05] uhm [15:05] ☭ DONE: Released 0.94.0, Million duplicates march, Fixed #422771, #409281 [15:05] ☭ TODO: Fix server to use python-oauth, Fix client/protocol to use python-oauth [15:05] ☭ BLCK: None. [15:06] rodrigo_: se hablar [15:06] • DONE: oAuth request signing in couchdb-glib. Fixed certificates issue with Tomboy and u1.com. Submitted branch fixing 2nd and subsequent syncings between Tomboy and U1 [15:06] • TODO: Start upstream discussion for adding social services accounts config to about-me. Talk to Ara about writing mago tests for evo-couchdb. Propose couchdb-glib/evo-couchdb for GNOME 2.29. Store UUIDs for postal addresses. Conflict resolver tool in pair tool. Look at becoming a MOTU (https://wiki.ubuntu.com/UbuntuDevelopers). openSUSE/Fedora packaging with aquarius. Finish oAuth signing. More tomboy syncing fixes [15:06] • BLOCKED: none [15:06] me [15:06] statik: go [15:06] dobey and jdobrien, cool work sorting a million duped bugs btw [15:06] dobey: :) [15:06] aquarius, ? [15:06] DONE: can't remember TODO: domain name move aka death by a thousand cuts BLOCKED: nope [15:07] CardinalFang, it's you [15:07] poor statik. his mind's gone [15:07] jdobrien, I thought that was you on face duty doing loads of bugs. Might have been Chipaca now that I come to think of it :) [15:07] aquarius, no im a useless lazy bum [15:08] jdobrien, if I was as lazy as you we'd have had DC out the door before Christmas last year :) [15:08] DC? [15:08] oh [15:08] nm [15:08] Desktop Couch I presume [15:08] yeah, they're a comic firm [15:08] not owned by Disney :) [15:11] * dobey pokes CardinalFang [15:11] DONE: learned a lot about OAuth. Made way for replication daemon to know about static hosts' special needs; U1 isn't a special case. [15:11] TODO: Get OAuth client working. ...So that I can get account info from U1 API. [15:11] BLOCKED: AFAIK, API call '/apt/account/' doesn't really work yet. [15:12] "Are we there yet?" [15:12] sounds like everyone [15:12] coolness [15:12] MEETING ENDS [15:12] MEETING ENDS [15:12] d'oh [15:12] oops. [15:13] 'sall good [15:13] teknico, great news on the contacts stuff, urbanape same for oauth [15:13] thanks, everyone [15:13] statik, we're really nearly there. [15:13] I've added two new libs to Bindwood. One is under Apache, the other is under BSD. Is that a problem? [15:13] * urbanape pretty much hates having to even think about licensing. [15:15] aquarius, skype? [15:16] rodrigo_, what fixes are left for tomboy sync? it sounds pretty close [15:17] statik: locally all seems to work ok, except for notes added from the web ui, which are not synced to tomboy, but that's an easy fix I'll do as soon as the other branch is merged [15:17] cooooool [15:17] statik: as for the u1.com server, I was getting this morning a 400 on one of the oauth urls, need to investigate more [15:17] statik: and also, the notes not being shown (they are saved indeed) on the notes page [15:17] which I'm not sure what problem is about [15:18] rodrigo_, btw i am working on moving from ubuntuone.com to one.ubuntu.com next week, so the base URL in tomboy will need to change [15:18] ok, let me know when you do that, ad I'll change the tomboy pacjage's patch [15:19] CardinalFang, ^ this probably affects DC code also [15:28] jdobrien, Some status information would be nice. If auth fails, maybe poke something into the dict, or return a HTTP 403 or something. [15:31] The Ubuntu-trademarker fiends are going to freak out. ... heh heh heh. [15:31] CardinalFang, more more...give me more more...i need i need i need :) [15:31] CardinalFang: shouldn't failed auth give a 401? [15:32] dobey, this isn't really failed oauth [15:32] jdobrien: openid? [15:32] dobey, no...it uses oauth tokens to look up account information [15:32] right [15:33] so what's "failed auth" mean then? === rmcbride changed the topic of #ubuntuone to: Help contact: urbanape | File Sharing for Ubuntu | https://ubuntuone.com | https://launchpad.net/ubuntuone | Current Beta Client Revno is 198, Protocol Revno is 69 | Release 0.93.0 (protocol) 0.94.0 (client) [15:34] oh..you said failed oauth :) [15:34] no i didn't [15:34] dobey, hehe...but I did when I was repeating it back :) [15:34] hehe [15:34] yes [15:34] dobey, more like "we have no idea who you are". And for 401, we definitely do not have a "WWW-Authenticate header field containing a challenge applicable to the requested resource." to send back, right? [15:35] CardinalFang, I could certainly modify it so it doesn't swallow authentication issues. file a bug [15:35] well the applicable method is oauth [15:36] * jdobrien will bbiab [15:36] CardinalFang: i'd really like to know how someone got a valid oauth token without having an account :) [15:39] fell off a truck [15:42] dobey, I'm new to OAuth, so I don't really know what "valid" means yet. [15:42] CardinalFang: valid means an access token that lets them access the resource [15:43] Sounds tautological, then. [15:43] aquarius, so, I dove through the oauth code a bit more. A full night's sleep does wonders. [15:43] It looks like it does sort the parameters properly, but I doesn't seem to skip "OAuth realm" [15:45] CardinalFang: i'm confused how one would get an access token from us that lets them access that resource, and then have the resource fail with "user not found" [15:46] dobey, so, assume it's not a valid token. What should we do? [15:47] CardinalFang: oauth spec says HTTP 401 Unauthorized [15:47] jdobrien, Hrm, I'm looking in seahorse, and I don't see anything that matches either of the "Computers on your account" items. [15:48] CardinalFang: looking how? it would be the "Ubuntu One token" and you have to view the password, and parse the string that it contains :) [15:48] dobey, so, 401 status code, and empty body? [15:49] CardinalFang: there doesn't need to be anything in the body. so 401 status, WWW-Authenticate header, and empty body would be the correct answer [15:49] dobey, Ah, I was looking at the start. There are two parts in a url-encoded scheme, and the second part matches one. [15:49] * jdobrien nods [15:50] CardinalFang: yeah, the "oauth_token=" bit is the important one, not the oauth_token_secret :) [15:50] CardinalFang, as in the case of the sample code, i just check for a 200 before I do anything, [15:51] Then I must be constructing this wrong. Hrm. [15:51] this == Authorization header [15:52] how so? [15:55] urbanape, lp:~sil/bindwood/oauth-tests has a test in it which will print the oauth signature from each of JS and Python, which should make it easier for you to tweak the thing to see if it's doing it right [15:55] danke [15:58] aquarius, yup, they definitely make different signatures. [15:59] urbanape, indeed. And the python one is correct :) [15:59] now, to the tweakening! [15:59] urbanape, now just randomly frob the JS oauth code until it generates the right result. A genetic algorithm might be good here ;) [16:00] n00bisms and all, I wonder if it's worth a straight(ish) port of the Python code. [16:02] hi all [16:02] i have a question [16:02] how do i delete a folder in ubuntuone? [16:02] dobey, so if the request has no token, the token is invalid, the token is not authorized, I should return a 401? [16:03] Severity1, through the web? [16:03] yeah [16:03] you don't, yet. [16:03] jdobrien: http://oauth.net/core/1.0a#http_codes [16:03] so where do i delete it? [16:03] is there another way to delete a folder? [16:03] you can delete it on the filesystem, and we can probably compute the URL necessary to delete it directly [16:04] dobey, thanks for th link [16:04] you mean the replica on my local? [16:04] Severity1, you can also go to /files/old and get the previous UI. [16:05] urbanape, its loading now [16:05] we're still in the process of establishing the new UI, and that was one feature we (I) overlooked. [16:06] ahhhh! nice ive been wondering where this UI went! thanks :) [16:08] aquarius, aha [16:08] and also, DUHH [16:09] I thought the keys in the accessor were the actual consumer_secret and token_secret [16:09] not the strings "consumer_secret" and "token_secret" [16:09] ah, that's my fault [16:09] they should be [16:09] ah, k [16:10] pushed fix to my branch, although you can remove the quotes yourself if you want :) [16:10] still generate different keys (I did) [16:10] as do I [16:10] er, different signatures [16:16] CardinalFang, I am working on a branch to handle OAuth correctly :) [16:17] jdobrien, Roger. [16:17] :) I felt guilty [16:18] we need to mash all our heads together [16:18] jdobrien, No worries. You da man. [16:18] urbanape, and make wine? [16:18] suits me [16:19] goes down easier than javascript oauth code [16:19] * easwar volunteers to help jdobrien CardinalFang aquarius and urbanape ,ash their heads [16:19] *mash [16:20] hi easwar [16:20] hi Severity1 [16:20] its my first time here [16:20] mine too [16:20] :P [16:20] lols [16:21] * easwar gets back to writing that article [16:22] Hello yesterday I've deleted a file by 1 nautilus and by the browser and the file still there .. any known bug ? [16:22] leonel: depends. Are you running a new-ish client? [16:23] leonel: new-ish is what's in karmic right now, or from the beta ppa :) [16:23] 0.93.1+r194-0ubuntu1~ppa1~jaunty [16:23] hm, jaunty [16:24] Chipaca: let me delete on karmic .. [16:24] leonel: 0.94.0 is out there, I think [16:24] aye [16:24] yes karmic has 0.94 [16:25] dobey: there isn't a 0.94.0 for jaunty? [16:27] Chipaca: working fine with karmic .. [16:27] Chipaca: there is [16:28] Chipaca: it's in the ppa [16:28] leonel: you probably want to update the jaunty package, then [16:28] upgrading ubuntuone on jaunty [16:29] leonel: if it still refuses to go away it might be another issue, otherwise it's one we fixed :) [16:30] on karmic and on the browser worked [16:30] Chipaca: testing the upgraded package on jaunty [16:30] leonel: ah, ok [16:31] Chipaca: on jaunty now I got a file.txt.u1conflict [16:34] leonel, ahhh ive experienced that too [16:34] leonel: and file.txt is gone? [16:34] (file.txt is the one you deleted, right?) [16:35] Chipaca: yes [16:35] basically it means the client things that the file changed locally and on the server at the same time [16:35] thinks, even [16:35] Chipaca, I had a "My Stuff/foo" folder and now I have a "foo.conflict" folder. I just renamed it to "foo". [16:35] i think file.txt is also file.txt.u1conflict [16:35] urbanape, I have made the JS lib and the pytohn lib both print out their base strings. they are not hte same. http://paste.ubuntu.com/264482/ is informative and should give you somewhere to direct your efforts, I think :) [16:36] Chipaca: yes I've edited that file on karmic yesterday then deleted on jaunty [16:36] aquarius, do you mind looking at mine? I suspect you'll say "use the module already, damnit". [16:37] CardinalFang, I can take a brief look yeah. But, use the module already, dammit :) [16:37] we have working (although crufty) oauth, and stuff to do that isn't "reimplement the oauth module in a nicer way"... [16:38] CardinalFang: leonel: Severity1: outside of changing the file locally and on the server at the same time (or with the client disconnected), you shouldn't see too many 'conflcit' files [16:38] the current module certainly needs a cluebat or nine, I agree, though L) [16:38] :) [16:38] Mine isn't a file, and I haven't changed it anywhere since upload. [16:38] Only one box accessing it, too. [16:38] CardinalFang: leonel: Severity1: if you do, it's usually a bug, and the .u1conflict file itself is the ex-local file, and the non-.u1conflict is the one on the server [16:39] CardinalFang: some causes of spurious conflicts have been fixed in 0.94 [16:39] I had only one entry, the conflict, and no real directory in parallel. [16:40] CardinalFang: "foo.conflict" or "foo.u1conflict"? [16:41] CardinalFang: if the first, that's with an old client and an old server with a lot of bugs fixed since then (in particular, one that would give you a lot of that behavior) [16:41] there are still many corner cases that will put a file in .u1conflict [16:41] Chipaca, Er, good question. I just renamed it and don't remember. [16:42] * CardinalFang CCs jdo and urbanape. [16:42] basically if we suspect we might be about to lose your data, we put it away in a conflict file just in case [16:42] other than that .. really I'm loving ubuntuone [16:43] Chipaca, ah so its a problem with the versions of the file in the server and client [16:44] yes [16:45] (it can also happen if we get an OSError or IOError when operating on the node (file, directory, etc)) [16:45] the client has a little big state machine at its heart [16:46] things like "if you close a file and made changes to it, upload the file" [16:46] but also a lot of "if you got here we have no idea what to do, DESPAIR" [16:46] or is that DISPAIR? [16:46] * Chipaca dicts [16:48] yeah, despair (all caps) [16:48] bbiab, lunch! [16:52] dunno where I was going with that thing about despair and all... [16:52] ah, yes [16:52] actually despair is more "I have no idea how you got here" [16:53] and conflict (and this is why I started talking about despair) is one better than that; it's "I know how you got here, but I don't know how to get you out of here" [16:53] so we know we aren't broken, but we know we could potentially lose data. So we take the safe approach [16:53] little by little we either avoid the conflict states, or realize what to do to get people out of them :) [16:54] chad, I have poked your script a bit...it seems to be generating different signatures from the python oauth code [16:56] CardinalFang, I have poked your script a bit...it seems to be generating different signatures from the python oauth code [16:56] (oops :)) [16:56] It's easy to confuse us. [16:57] aquarius, Thanks. [16:58] CardinalFang, I can give you the adapted script that I'm using for testing if you want? [16:58] aquarius, Yesplease! [17:00] aquarius, so your pastebin would suggest that we're missing some keys (callback and verifier (twice)) and incorrectly stashing the token_secret. [17:00] I've elminated the latter and boosted the former. [17:01] urbanape, ah, verifier's not actually in it twice, that was a cut and paste error. sorry :) [17:01] do you now get the same signature? (holds breath in antici....pation) [17:04] CardinalFang, sent [17:08] checking [17:09] still no. [17:09] do you have the snippet that spits out what's in the pastebin? [17:13] I assembled it in gedit, sorry -- no script which does it. I just grabbed a private copy of oauth.py and edited oauth.py and oauth.js to both print the basestring out [17:13] no worries [17:20] Okay, I've reduced the differences to the initial URL. [17:21] http://paste.ubuntu.com/264515/ [17:21] trailing slash [17:21] is all [17:21] apparently [17:23] got it [17:24] and...same signatures? [17:24] yup [17:25] yaaaaaaaaaa [17:25] * aquarius dances [17:27] Alright, I'm sending patches for this oauth module. [17:27] I'll run it by you first, a. [17:32] hmm, still getting invalid signature from the server (under Bindwood) [17:32] but I'm adding your tests to my branch. Nicely done. [17:39] aquarius, okay, so next bit [17:39] I'm reasonably certain that the signatures are correct. [17:39] is my code actually doing the right thing here: [17:40] hrmm [17:41] http://paste.ubuntu.com/264527/ [17:41] urbanape: what are you trying to do? [17:41] authenticate and authorize [17:42] I'm still receiving "Invalid signature" from the server [17:42] urbanape, nope -- couch doesn't use request tokens. It's two-legged auth only [17:42] okay, well, that's gooder. [17:42] * urbanape deletes code [17:42] urbanape: what signature method are you using? [17:42] so you don't need to authorize the token -- the one you have is already authorized [17:43] CardinalFang: what oauth module are you patching? [17:43] aquarius, swoot. [17:43] okay, so now, when pushing bookmarks, I'm getting invalid_json. Moving right along. [17:43] dobey, Leah Culver's Python module. [17:43] why? [17:44] dobey, two bugs, and a few style problems. [17:44] * CardinalFang cc's dobey. [17:44] CardinalFang, auth_header_parts('%s="%s"' % (k, escape(str(v)))) ?? auth_header_parts is a list. shouldn't you be appending to it? [17:45] * dobey waits for this cc [17:49] me gets some dinner. [17:51] does anyone understand what bug #423810 is talking about? [17:51] Launchpad bug 423810 in ubuntuone-client "sharing *** is - sharing with me - working?" [Undecided,New] https://launchpad.net/bugs/423810 [17:58] Just uploaded a text file on jaunty 0.94 and on karmic I've just got the file but empty [17:58] jdo: apparently he's saying the e-mail isn't getting sent to the other user [17:58] leonel: disconnect/reconnect the client on karmic [17:58] dobey, i wonder if it's from the desktop or the web UI [17:58] (though i'm surprised it appaered) [17:59] jdo: i don't think it matters unless he's not entering an e-mail address in the email field [17:59] aquarius, My big problem was that I wasn't passing "sha1" module as a third parameter to hmac.new . [18:00] CardinalFang, aha [18:03] hmm, ok [18:05] * dobey kicks oauth.py in the face [18:07] what to do [18:09] kick it again [18:10] good idea [18:10] so, I'm getting invalid_json on the query we send to the database before pushing bookmarks. [18:12] CardinalFang, I don't know if our server is supporting HMAC [18:12] the only things that's changed in the query() method is the addition of an optional language parameter. Still defaults to "javascript" [18:13] dobey, do you know if we switch from PLAINTEXT to HMAC? [18:13] jdo: our server supports both [18:13] hmm [18:14] well, it supports HMAC-SHA1 [18:14] yes [18:14] and CardinalFang wasn't generating hmac-sha1 [18:15] luckily (or rather, unluckily) i am poking through the server code right now [18:16] but i've hit a point in the road where the bridge is out [18:16] heading out to lunch. back in a bit. [18:27] dobey: leonel: disconnect/reconnect the client on karmic <-- Ubuntuone finished updating and the file still empty [18:28] hmm [18:28] leonel: is it empty in the web ui? [18:28] uploaded a text file on jaunty 0.94 [18:28] then got sync in karmic but empty [18:29] disconnected both machines waited about 15 mins [18:29] leonel: if you go to https://ubuntuone.com/files and open that file, is it empty? [18:30] no file appeared on ubuntuone.com/files then connected and all got sync but the file empty and got a .conflict on jaunty [18:30] dobey: yes the file on ubuntuone.com/files is empty [18:30] ok, so the problem was it didn't actually get uploaded [18:30] yes that was on jaunty [18:31] leonel: on your jaunty machine, please run "ubuntu-bug ubuntuone-client" to report a bug [18:31] leonel: or just right-click on the applet and choose "Report a Problem" [18:33] dobey: ok .. [18:53] urbanape, ping [18:54] I keep getting bad signature when using HMAC-SHA1 [18:54] :( [18:57] Expected signature base string [18:58] how are you generating it? [19:00] dobey, using our libraries, I think I found the problem [19:00] well...using oauth libraries [19:00] I don't build it manually [19:00] dobey, jdo, I have a script that I *think* should work. See email. [19:00] my oauth_signature has a '=' at the end...it needs to be encoded for the POST [19:01] yeah, that would cause it to fail :) [19:01] CardinalFang, is that the one urbanape forwarded? [19:01] CardinalFang, I wasn't sure why you did it all manually [19:01] jdo, Then, no. [19:01] hehe [19:04] the library does urllib.quote, but not encode [19:06] why are you using HMAC-SHA1 anyway? [19:07] dobey, I'm just trying it out [19:07] dobey, I should be able to use either signature method [19:08] dobey, I had to choose one. Neither worked. [19:16] Is it possible that the software also can download files which is synced from other PCs? [19:17] alexander_: yes, of course [19:19] alexander_: in fact, it can do so in two different ways [19:20] alexander_: on the one hand, if you use both PCs with the same ubuntu one account, all files you upload on one pc will be downloaded on the other(s) [19:20] alexander_: on the other hand, if you use different accounts for each pcs, you can share a subfolder with any of the other accounts, in either readonly or read/write modes [19:20] Thank you for your answer. But how can I administrat Ubuntu One, because it doens't sync both ways now? [19:21] alexander_: it doesn't? what version are you using? [19:27] I've installed it yesterday so I guess the newest. But will try to reinstall it, I may know the error. Thank you for taking you time :) [19:27] alexander_: jaunty, or karmic? [19:30] jaunty. Is karmic released? [19:33] CardinalFang: what error do you get with that script? [19:34] dobey, No error. I do not know if '/api/accounts/' does anything different when it works. [19:35] CardinalFang: not even a json error? [19:36] dobey, received {} has no 'id' [19:36] and None [19:36] hrmm [19:37] alexander__: karmic alpha5 is released today [19:38] huh [19:38] i thought desktopcouch pulled the oauth token from the gnome keyring? [19:38] CardinalFang: it doesn't? [19:38] grr, java is eating all my cpu [19:39] dobey, It does. [19:39] desktopcouch.local_files.NoOAuthTokenException: OAuth details were not found in the ini file (/home/dobey/.config/desktop-couch/desktop-couchdb.ini) [19:39] dobey, Or from couchdb, /me looks. [19:41] CardinalFang, I thought we discussed this [19:42] CardinalFang, are you working from a computer that has been authorized to access ubuntuone? [19:42] jdo, Yes. [19:42] CardinalFang, what's your username? [19:43] 'cmiller' [19:44] CardinalFang, if you login to https://edge.ubuntuone.com and then go to /api/account/ [19:44] CardinalFang, what do you get? ^^ [19:46] jdo, a nice full dictionary. [19:46] CardinalFang, that is what you'll get with the web_api_tool script I sent you a link to [19:47] CardinalFang, not that for some reason, HMAC_SHA1 is not working. I haven't determined why [19:47] s/not/note. [19:47] jdo, Okay. Should Plaintext work? [19:48] the example code I used was plain text [19:48] since it's https, it's not necessarily a security risk [19:49] jdo, I don't see what you sent. I see a reply to mine with a sample Authorixzation header. [19:50] CardinalFang, the launchpad branch I sent you earlier [19:50] CardinalFang, I found out why HMAC wasn't working though [19:51] jdo, In the script I sent you, you may change HMAC_SHA1 to PLAINTEXT , and get the same result, fwiw. [19:52] CardinalFang, I used the oauth library to buld my request: http://pastebin.com/m181fad11 [19:52] back [19:53] CardinalFang, and the problem I was having is I stupidly had POST, when I was doing a GET :) [19:54] Hrm, sadly, I'm not. [19:54] CardinalFang, what not? [19:54] POSTing. [19:55] CardinalFang, posting to /api/account/ ? [19:56] Sadly, I'm my problem is not as simple as using the wrong method for requesting '/api/account/' . [19:59] CardinalFang: how do i get your script to get my oauth token correctly? [20:00] CardinalFang, what is the problem you're having? [20:00] that script I just pasted pretty much does everything [20:01] Hrm. I guess change desktopcouch/local_files.py . aquarius wrote that function, and I haven't looked at what it needs to do. [20:01] dobey, ^ [20:01] I doubt he would try to store information in two places though. That's weird. [20:03] hrmm [20:03] well hell [20:03] THAT is your problem [20:04] CardinalFang: you're trying to use the oauth info for connecting to your local desktop couchdb, to contact the u1 server [20:05] Huh. That would do it, eh? [20:05] yes. [20:05] :) [20:05] CardinalFang: I know a little about local_files.py, through no fault of my own, what's the problem [20:05] thisfred: the problem is CardinalFang thought it was something that it's not :) [20:05] stop doing that CardinalFang [20:06] thisfred, get_oauth_tokens() isn't as magical as I though. It gets the wrong tokens. [20:06] my invoice is in the mail [20:06] CardinalFang: that gets the tokens from the gnome keyring, and is used only once I believe [20:07] but this area is still a little hazy for me too. It's just too many things talking to too many other things to all fit in my head at once [20:07] thisfred, exactly wrong, :( It gets the tokens from the INI file that have nothing to do with U1. [20:07] I try to avoid seeing the bigger picture [20:08] CardinalFang: ah, right, or that ;) [20:08] CardinalFang, are you looking for different tokens? [20:09] jdo, I'm looking to U1 tokens. I thought I had them. I do not, until I write a function to get them. [20:09] grr, amazon doesn't have any real vengaboys it seems [20:10] CardinalFang, how does the u1 token associate with the couchdb stuff you're doing [20:11] CardinalFang, Im wondering, forgetting about oauth tokens, what is this doing with desktopcouch [20:12] jdo: well presumably they'll need a u1 oauth token to sync up the couchdb to ubuntuone.com [20:12] jdo, it doesn't directly. Every machine may want to replicate to U1, and to do that one needs a U1 token. [20:12] But, it's not required. [20:12] "it" == replicating to U1. [20:13] CardinalFang, so what is the db_name_prefix stuff for? [20:13] CardinalFang, to replicate a remote db into a local one? [20:13] "it" is such a magical word :) [20:13] it's like "them" the people we blame for everything [20:14] jdo, db_name_prefix is an effort to make unique names on U1 servers, to preserve RESTful semantics. [20:14] CardinalFang, so looking at your script, your really just looking for a user id from U1 right? [20:14] jdo, Yes. *sigh* [20:14] CardinalFang, that's the output of all the oauth magic [20:14] * CardinalFang sighs deeply. [20:15] CardinalFang, please use my script on a machine that is authorized to access Ubuntu One [20:15] CardinalFang, by authorized, I mean it uses the syncdaemon to get a token [20:16] ./web_api_tool.py --url https://edge.ubuntuone.com/api/account will dump out a dictionary of the account, you can used that dictionary to get the U1 userid [20:17] How do I find out the version number of the client? [20:17] lordmetroid: dpkg -l ubuntuone-client ? [20:18] lordmetroid, apt-cache policy ubuntuone-client [20:18] oh or that :) [20:18] policy output can be confusing [20:18] ooh...there's a new one [20:18] especially if one has multiple PPAs [20:18] or you can do "python -c 'import ubuntuone.clientdefs; print clientdefs.VERSION' [20:18] feeling a little stabby [20:19] isn't there a u1sdtool --version [20:19] ? [20:19] livin' the hobo life, with your hobo knife? [20:19] Chipaca: there's a bug for it [20:19] ~/away [20:19] or /away [20:19] dobey: close [20:19] Either way, I'm back. [20:20] sing it jblount [20:20] dobey: that is "so close!", not "close the bug" :) [20:20] ok, thanks [20:20] heh [20:20] dobey: Some folks call it a Kaiser Blade, I call it a Slingblade. Uh huh. [20:21] jdo, once I use the edge host, yours works. [20:21] CardinalFang, yes, like I said several times [20:21] :) [20:22] CardinalFang, the latest and greatest is on edge [20:24] aquarius, out of curiosity should we be re-instantiating these CouchDB instances in Bindwood? [20:25] Would it be mo' bettah to just keep one instance around? [20:25] ? [20:25] prolly [20:25] I was just being inefficient, I think :) [20:28] k, I'm trying to eliminate cruft and find a nice way to test this stuff. === urbanape_ is now known as urbanape [20:35] urbanape: so yeah, just use PLAINTEXT instead of HMAC-SHA1 [20:35] and i'll just remove the HMAC-SHA1 support from the server :) [20:36] is that server setting in a config so I can test it locally? [20:37] no, the adding of signature methods to the oauth server is programmatic [20:38] so, I'll wait for your branch of desktopcouch to show up? [20:40] i'm not touching desktopcouch, no [20:41] oh, are you trying to muck with tokens from local couchdb? [20:41] yeah, this is all dealing with desktopcouch [20:43] oh, ok [20:45] hrmm, i don't see HMAC_SHA1 anywhere in desktopcouch (with find/grep) [20:45] weird. That's what aquarius told me to use. [20:45] i don't see PLAINTEXT either [20:45] so i'm not sure what that means exactly [20:46] it means IS IT FRIDAY YET? [20:46] bindwood will be talking straight to couchdb using oauth, and CardinalFang is probably working on adding the Oauth support to desktopcouch as we speak [20:46] oh man, monday is a US holiday [20:47] i'm going to have to figure out how to spend it in a boat [20:47] boat boat boat [20:47] you a sailor? [20:49] i'd like to learn to sail so i can achieve my dream of bareback chartering a 50' bluewater catamaran to somewhere dangerous [20:49] right now i just have a little tiny broken center console boat [20:49] basically only good for scaring people with [20:50] zoom zoom [20:50] Be ye well ware of pirates, me hearty. [20:50] the thing about a boat is that it should be big enough to hold a compressor to refill the scuba tanks, you know? [20:56] absolutely. [20:56] the problem here with boars is they won't let go fast in them until you're out in water where going fast in a small boat can be rough [20:56] friends of ours had a sweet little center console runabout in Key West. [20:56] Managed to get us out to the reef at least. [20:56] s/boars/boats/ [20:56] smae things [20:56] hehe [20:56] arg [20:57] It sure has been a pain typing since I lost my middle fingers in a cooking accident [20:57] I have trouble getting my boars up to speed. [20:57] is 423944 [20:57] bug 423944 [20:57] Launchpad bug 423944 in ubuntuone-client "Updating files is very slow" [Undecided,New] https://launchpad.net/bugs/423944 [20:57] is that a feature? [20:57] LordMetroid, do you have throttling enabled? [20:58] Not in the client [20:58] woop...then yes...yes it is a new feature :) [20:58] LordMetroid: No, that is not a feature, we are still trying to figure out why it is so slow. [20:59] boars? [20:59] There is another bug with some casual statistics and comparisons to another similar service. [20:59] jblount, but it is a feature...albeit an undesirable one [20:59] i don't think you would fit inside a boar [20:59] dobey, yes, I been ticketed 3 times riding my boar on the highway [21:00] dobey, I was told it was strictly a water boar and not approved for public roads [21:00] Ok, jblount, thank you [21:00] stupic lift kit was a waste [21:00] * dobey proposes a branch for jdo to review [21:00] * jdo reviews [21:00] * jdo blindly approves dobey's proposal [21:01] oh wow [21:01] at least sept 19 is an international holiday [21:21] urbanape appeared on my flickr account notices, and looked around a bit and decided that facundobatista has far, far, far more fun than I have. [21:22] ha [21:53] thisfred: i see what you meant about pulseaudio and cassettes now [21:53] dobey: weird huh? [21:53] thisfred: was just changing songs in rbox, and when it cycled, the volume would go up real quick and then back down [21:54] grmbl pulseaudio [21:55] ah well [21:55] oh, well, for me it was definitely playing speed which was wobbly, not volume [21:55] i'm off for now [21:55] later! [21:55] later [22:33] statik, my desktopcouch/replicate-to-u1 branch relies on one.ubuntu.com and couchdb.one.ubuntu.com , fwiw. [22:34] it also relies on couchdb running there, et c, so that shouldn't be a signal that i'm waiting on you or anything. [22:35] G'night! [22:40] CardinalFang, great! [22:50] anyone think the applet icon looks blurry in the notification area? [22:51] joshuahoover: it looks blurry in the notification non-dialogs [22:52] notification monologues? [22:52] Chipaca: ahhh...got ya...looking at a bug from chris kenyon and wasn't quite "getting it" :) forgot about the message notifications [22:53] Chipaca: oh yeah, that is definitely blurry [22:58] CardinalFang, why?