=== jamesh_ is now known as jamesh [09:07] hi, can anyone tell me if i can make ubuntuone ignore files with certain exstensions ie .pyc files ? [13:21] adiroiban, I've got the dc dbus and keyring code almost done [13:21] will commit after lunch [13:21] * rodrigo__ -> lunch [13:22] no hurry. I still need a lot of work to convert my ids from int to string [13:22] I will be happy to test it :) [14:06] I hate how firefox treats json. [14:14] jblount, install the jsonview extension [14:16] aquarius, got some questions for you regarding DC on windows, mind if I ask? [14:16] * jblount had a suspicious that aquarius would have a solution [14:16] mandel, go for it [14:19] aquarius, ok, well one of the issues I have had to work with is the fact that couchdb is not a very nice citizen on Windows. that is, the default bin package just installs a batch project that uses the erl vm to launch couchdb. Which is a pain.... [14:19] so anyone around who can answer me if theres a way to black list file extensions ? [14:19] mandel, that's OK, though, surely? just use that to start couch. /usr/bin/couchdb is a shell script too :) [14:21] I have been taking advantage of the that desktopcouch uses the COUCHDB environment var to get the command for couchdb and creates a windows service that will launch couchdb when requested. The service uses WCF so I can implement several protocols to query the port etc... the only thing is that I have an issues with the security [14:22] you have to start the couchdb instance per user but you have to ensure that the owner of the process is the user, otherwishe other machine users can stop the instance [14:22] yep, that makes sense so far (although I don't know what wcf is) [14:22] I've been thinking of using NTLM but it performs at least 5 requests per call to auth [14:23] WCF (Windows Communication Foundation) just a lib [14:23] how does using ntlm help here? confused [14:23] can services run as a user? [14:24] oh, hang on, what you're saying is: you have one service, running as system, and the user says "please start couch for me" to that service? [14:24] can't the user just run it themslves? [14:24] no you can just have one instance of a windows service [14:24] so you can not ask the same service to be started more than once... a bit lame [14:25] there is a hack to do it but involves reflection and it is not nice [14:25] you can have one service that starts the processes but then you need auth to set the user that owns the process [14:26] that adds 5 request per call when addressing the service that provides the couchdb instance info (port etc..) but no over head to the apps using couchdb [14:26] do I make sense? [14:26] that's fine, I think. [14:26] asking for a port is allowed to take a little time [14:26] and it's more important to get it working and optimise later :) [14:31] ok, that is some work I had to do in C# which will have to be installed with desktopcouch. I does not add any new dependencies to the system AFAIK. Another issue I've got is related with the stderr and stdout of the running instance of couchdb [14:32] when a process is started programatically I cannot redirect its stdout and stderr to a file but to a buffer that whoudl be later be written to a file, this means that if the machine crashes the data is lost.... [14:32] this is a limitation coming for C# :( [14:34] oh, that's a bit unideal. [14:34] why not, instead of starting it direct from c#, have c# start a bat file? [14:36] which part of ubuntu one is written in c#? [14:37] same thing, the batch stout and stderr will not be redirected but I could do something like that as a work around.... [14:37] dark, I'm porting desktopcouch to work on Windows and there is some work done in c# that is all [14:37] dark, a widows service that uses WCF not too much work [14:42] aquarius, anyway, I've got the instance of couchdb per user running as well as a number of ways to query the port etc.. hopefully in a few days I'll be able to give you better new [14:42] nice! [14:44] we can talk later on how to distribute it, I'll be back laters [14:44] that sounds cool! [14:45] ah, missed you :) [14:50] hey chad, aquarius: any recommendations for email, irc, ssh, or other essential or fun apps on android? [14:51] email: I use the gmail client. IRC: DaraIRC. ssh: connectbot. Others: see http://twitter.com/sil/status/7513217053 :) [14:51] statik: http://twitter.com/sil/status/7513217053 [14:52] statik: Did you get a Nexus One? [14:52] i have a nexus one in my hand, i'm not sure how it got there [14:52] Heh [14:52] aquarius, thanks! [14:55] aquarius: can I borrow your brain a bit after the standup? [14:55] sure [14:56] I'm very close to finishing the new Bindwood for its vanilla code paths. [14:56] but I'm getting hung up on this one issue. [14:58] statik: you moving to T-Mobile, or using it on AT&T edge? [14:58] urbanape, aquarius, rodrigo__: Are you all planning on doing tarball releases/packages for Lucid Alpha 2 today? [14:59] dobey, no, we're not going into alpha2 [14:59] dobey: I'd like to, but I think it might slip. [14:59] urbanape, right now i'm experimenting with at&t edge, we'll see how i'm getting along with android after a few weeks [15:00] dobey, I'll do it after alpha2, when I finish the contacts picker use in u1-client [15:00] dobey, which, btw, I found that the dbus call for sharing just allows one email, but the contacts picker allows several [15:00] aquarius: what about desktopcouch et al? [15:00] dobey, so, before I change it, where else is it used? [15:00] rodrigo__: and what about evo/glib stuff? [15:00] ah, I'm not sure about dc. cardinalfang has made some changes, I think [15:01] dobey, no changes for the stable branches, and the unstable is under heavy changes right now [15:01] rodrigo__: is unstable targetted to be in lucid? [15:01] ah, well, yes, there are changes not submitted to karmic [15:01] dobey, I hope so, there are lots of improvements [15:01] dobey, but we'll see, for now the stable branch should be what we use [15:02] rodrigo__: if it doesn't break things as it is, we should get it in as early as possible [15:03] dobey, it breaks the API, but evo-couchdb is in synchrony [15:03] say what's the time? IT'S TIME TO GET ILL [15:04] Desktop+ folks: MEETING STARTS MEETING BEGINS GETTING OUR MEETING ON. Say 'me' to get your place in line. [15:04] rodrigo__: i think bump the soname, and getting the new versions into lucid alpha 2 would probably be best then, no? [15:04] dobey, as soon as it doesn't crash like crazy, yeah :D [15:04] me [15:05] adiroiban is helping me to test the new changes, so should be soon [15:05] me [15:05] me [15:05] ok [15:05] me [15:05] me [15:05] me [15:06] DONE: Cleaned up the changes pulling, record type dispatching, and event notification handlers for new Bindwood. [15:06] TODO: Get over the hurdle caused by using a profile filter for the changes feed, get migration handler working. [15:06] BLOCK: I want to punch %2F in the throat. [15:06] rodrigo_: go go go [15:06] • DONE: Fixed several couchdb-glib master issues. On-call review. Made nautilus plugin use contacts picker widget. Added desktopcouch-specific code to couchdb-glib. Land Ken's b [15:06] • TODO: Conflict resolver tool in pair tool. Look at becoming a MOTU (https://wiki.ubuntu.com/UbuntuDevelopers). Make sandy's snowy test suite work with our server (http://git.gnome.org/cgit/snowy/tree/api/tests.py). Discuss with jdo and aquarius about oauth token per app, not per machine? Send Otto (otto.greenslade@canonical.com) a screencast of contacts picker. Add libubuntuone dependencies to dev deps. [15:06] • BLOCKED: no [15:06] go jblount go! [15:06] DONE: Got public files showing up in the web interface locally [15:06] TODO: Hook up publish / stop publishing buttons, review day [15:06] BLOCKED: Nope [15:06] aquarius: YOUR THE MAN NOW DOG [15:06] me [15:07] ⚀ DONE: some spec for downloader; got helped by vds about storm; talk to mandel about DC on Windows [15:07] ⚁ TODO: continue to spec file delivery downloader daemon; have music library page send message to downloader daemon; make workitems of outstanding todo items; make tomboy first-sync experience nicer [15:07] ⚂ BLOCKED: [15:07] dobey, you're on [15:07] s/your/you're (i hate myself) [15:07] ☺ DONE: LEAN training, Started working on new tests for GUI code [15:07] ☹ TODO: Releases for Lucid A2, More new UI code and tests [15:07] ☹ BLCK: None. [15:07] teknico: i guess that means it's your turn [15:07] DONE: planning work with chipaca and vds, more configuring funambol for sending sms messages with vds (#418048), failed unlocking phone with code from mattgriffin [15:07] TODO: landing two branches for configuring funambol for sending sms messages (#418048), start implementing the mobile sync REST API for client app (#504689), finish setting up a development environment in a virtual machine [15:07] BLOCK: none [15:07] next: CardinalFang [15:09] DONE: Some debugging of notes->couchdb revision problem. I think I've found the problem. [15:09] TODO: Test and fix it. [15:09] BLOCKED: None, except new medication makes me unable to concentrate. Got to change it. [15:09] end? [15:10] looks that way. [15:10] EOM. Thanks, folks. Let's be careful out there. [15:14] aquarius: brb, then I'd love to pick your brain [15:14] kk [15:14] sorry for not being 'me', caught a cold or virus or trojan, whatever... [15:20] any idea what should I do to have a „standard” format for a desktopcouch task document type ? Like we have for notes and contacts [15:21] in evolution we also have tasks and having a standard desktopcouch format for that would be nice [15:21] and there are also some other Getting things done apps [15:24] adiroiban, you don't have to do anything, just invent it -- there's no "approval" process. It's a good idea to post your suggested specification to the desktopcouch mailing list for discussion, though [15:25] aquarius: thanks. I will send a sugestion [15:27] another question: where should desktopcouch apps store their specific data? in management or create a database for each app? [15:29] btw, if subject is about format - I remember the podcast about ubuntuone - Floss Weekly 99 podcast with Ubuntu One developer Stuart Langridge. And there was a pretty good thing mentioned - the format of the contacts document. How was that modeled? Was it modeled after evolution, vcard/xcard or mozilla ldiff format? [15:32] adiroiban, database for each app [15:32] adiroiban, don't store anything in management; that's for desktopcouch's own use [15:32] rtgz, cor, that Stuart Langridge chap sounds like a pretty clever guy. Handsome, too. [15:32] :-) [15:32] aquarius: ok. thanks! [15:32] hey, aquarius, I'm back. [15:33] :) [15:33] rtgz, the contacts format was sort of distilled from all of those, but intentionally stripped down to not try and include absolutely everything [15:38] me [15:38] (yes sorry I'm very late ) [15:38] DONE: finished sms work, some clean up is still needed but sms are working! :) Helped aquarius with storm, long discussion with funambol support about the best way of include funambol in our working and deployment env. Discussed RTs for funambol and fx deployment, planned some work after the funambol restart, arrangements for sprint in London. [15:38] TODO: vacations [15:38] BLOCKED: nope [15:40] urbanape, go for it [15:42] so, aquarius. Dunno if you saw me mentioning it in #couchdb. [15:42] I didn't, soz [15:42] did you work the changes methods for desktopcouch? [15:42] urbanape, whence came the name "bindwood"? [15:43] CardinalFang: it's a local nickname for ivy. Something that ties a lot of stuff together. [15:43] Huh. [15:43] and is notoriously hard to get rid of. [15:44] would have named it kudzu, but I think there's software out there with that name already. [15:44] or maybe CardinalFang is a better brain to pick for this. [15:44] * CardinalFang eyes his garden, where the sweet-potatoes have declared hegemony. [15:45] changes what? I had a hand in that. [15:46] CardinalFang: it doesn't look like the get_changes method takes any additional options or params. [15:47] like filters, or request params. [15:48] adiroiban, ok, desktopcouch code in master now, so please feel free to test [15:48] f'rinstance, in Bindwood, I've got a filter that matches the profile name in the request with the profile name in the record, so you can limit the changes poll to records that you care about. [15:48] adiroiban, I've just added a very simple test that connects to the DC instance, nothing more [15:49] and you call that with : couch_client.changes({since:25, filter:"bookmarks/profile", profile:"default"}, null) [15:49] that gets translated to: dbname/_changes?since=25&filter=boomarks/profile&profile=default [15:50] except, of course, that the Couch folks love putting '/'s in as meaningful separators in ids, view names, &c, and it gets URI encoded by the client library, so Couch doesn't understand it. [15:51] why isn't couch doing proper uri decoding? [15:51] rodrigo__: thanks. i start building and testing [15:51] so it's not actually translated to that at all? it's translated to dbname/_changes?since=25&filter=boomarks%2Fprofile&profile=default ? [15:51] aquarius: correct [15:51] dobey: I don't know. [15:52] urbanape, That's right. It's stateful. It only gets new items. One never has to send "since". Adding conditions breaks the state. dc.get_changes() gets a list of things, where dc.report_changes(f) calls f(seq, id, changes_struct) for every change record, where I presumed one could filter or return if one's conditions are not met. [15:52] CardinalFang: k, I'm just checking that you didn't have to similarly tackle such a situation. [15:53] rodrigo__: i guess debian/control should be also updated [15:53] urbanape, so far, we have only functions that try to be very helpful and also restrictive as a side-effect. We could add a function that gives raw access. [15:53] dobey: but it's pretty easy to test, calling both URLs results in success in one case (with /), and failure in the other (with %2F) [15:53] adiroiban, well, debian/ should be removed, the packaging is done on another LP branch [15:53] * rodrigo__ removes it [15:53] CardinalFang: that's okay, was just looking to see if it had been solved elsewhere [15:53] Rgr. [15:53] solved/worked around [15:54] urbanape, what did the couch people say? [15:54] "don't escape it"? [15:54] aquarius: "Seems like a client bug" [15:54] aquarius: that's what I'm doing now. Explicitly unencoding %2Fs in the URI encoded extra bits. [15:54] urbanape: sounds like couch needs to be fixed to unescape properly [15:54] which seems very much like putting live ammunition in a prop gun. [15:55] dobey: I'd agree. [15:55] that, to me, sounds like a couch bug; you're not supposed to care whether a URL is escaped or unescaped. [15:55] okay, so the choir has been preached to. [15:55] on the other hand, it's not like we could roll out a fix instantly, even if they could be convinced :) [15:55] so we need to work around it. boo hiss, etc [15:55] this also, is true. [15:55] dobey, so where else is the create_share dbus call used? [15:56] dobey, I'm going to change it to support a list of strings for emails [15:56] rodrigo__: did you managed to make install it ? I got this http://paste.ubuntu.com/353521/ [15:56] rodrigo__: it doesn't have to be e-mails [15:56] adiroiban, hmm, I tried this morning [15:56] adiroiban, looking [15:56] dobey, sorry? [15:56] rodrigo__: it can be either an e-mail or an ubuntuone username [15:57] rodrigo__: and then 2 different paths are taken based on that [15:57] well, right now it does emails, so I'll do the same [15:57] well, no, it does either [15:57] the contacts picker returns the emails, not the u1 username [15:57] which it doesn't know [15:58] so, where else is it used? [15:58] rodrigo__: yes, well, my point is that you have to change the piece of code that handles the e-mails, and not the abstract piece [15:59] u1sdtool --create-share i guess calls it too [15:59] it's a dbus call, anything can call it [16:00] right, I meant in our code :-) [16:01] adiroiban, installs fine for me [16:01] rodrigo__: it was a glitch [16:01] i did a make clean [16:01] and tried again and everhing was ok [16:01] oh [16:02] strange... as I build it in a flesh git clone [16:02] gotta rebootie. brb. [16:06] adiroiban, did you ,/autogen.sh again? [16:06] rodrigo__: after the clone. yes [16:06] adiroiban, I saw that with missing -version-info values, so maybe it wasn't getting the correct values [16:06] adiroiban, let me know if it happens again [16:06] well, that was painless. [16:06] sure [16:08] rodrigo__: i am sure that the u1sdtool share create option uses it, yes [16:09] dobey, yes, seems so [16:20] rodrigo__: the new library is desktopcouch or desktopcouchdb ? [16:21] desktopcouch-glib-1.0.pc is configured as -ldesktopcouchdb-glib-1.0 [16:21] desktopcouch [16:21] ah, wrong, fixing it [16:22] np [16:22] fixed [16:32] rodrigo__: can you add a name to the structure from couchdb.h ? [16:33] and define a macro COUCHDB_IS_THATNAME(obj) [16:33] yeah, I plan to call it connection [16:33] the same for Desktopcouch [16:34] otherwise I don't know how to do dynamic casting in vala [16:34] oh [16:34] maybe I can tweak the vapi file [16:34] but right now the dynamic casting is trying COUCHDB_IS_CONNECTIOn [16:35] as I named it CONNECTION [16:35] I'm going to rename it anyway, not sure now why I called Desktopcouch like this instead of ..Connection [16:36] or you can name it Couch :) [16:38] :) [16:38] since right now desktopcouch_new is returning a clean couchdb object [16:39] I would like to use couchdb in my code... to make it more generic [16:40] maybe I'm doing something wrong in my code [16:40] but I still think that structure should have a name [16:43] rodrigo__: I added COUCHDB_IS_CONNECTION in couchdb.h and everhing looks fine. [16:43] Thanks! [16:43] adiroiban, ok, for now it works for you, but we shouldn't have the macros named different to the object itself [16:44] so will rename them this weekend [16:44] rodrigo__: yes. maybe this is a problem in vala [16:48] adiroiban, well, it's a problem with the naming, I had to do some CouchDB->Couchdb renaming also for introspection [18:13] Dang, missed rodrigo. [18:15] thisfred, how evil is this? https://code.edge.launchpad.net/~cmiller/ubuntuone-servers/notes-revisions/+merge/17036 [18:18] go go go [18:18] looks evil [18:20] That's not bad. def the_entire_test_so_I_can_test_what_happens_when_we_run_it_thrice(): ... [18:21] * thisfred scans for evil [18:22] CardinalFang: should that not be a separate test that runs that test thrice then? [18:23] dobey, you're distracted. Keep reading. That's not the interesting part. [18:24] CardinalFang: I'm not sure I understand what the problem is you're solving [18:25] tomboy internally has something like a revision number? [18:26] CardinalFang: I have to go in 4 minutes, but would like to discuss this. [18:26] thisfred, yes, tomboy has an integer. It doesn't plan for couchdb style updates. [18:26] There could be a thousand version "42"s. [18:26] CardinalFang: and if we just store that as part of application annotations, where do things go wrong? [18:27] CardinalFang: so tomboy isn't built for distributed use, basically [18:27] and we have to solve this? [18:28] If we're reimplementing Snowy, we do. [18:28] CardinalFang: but how does snowy handle it? [18:28] or that is just a single backend, and doesn't synchronise dbs? [18:28] Bingo. [18:29] ok, but so are we, for tomboy, or no? [18:29] do local tomboys talk to desktopcouch? [18:30] ok, I have to go [18:30] thisfred, good question. I think there is a plugin or something. I do not know. [18:30] Later. [18:30] I will ping when I'm back [18:30] Okay. Thanks. [18:31] hey, you's two. [18:31] oh, well, just CardinalFang then [18:31] so, I tested this behavior with my system Couch [18:31] and Couch seems to decode the %2F just fine. [18:34] I've got couchdb 0.10.0-0ubuntu3 and desktopcouch 0.5.1-0ubuntu1 [18:34] urbanape, The / %2F encoding is a bit of a mystery to me. I remember something like "/foo/bar/baz%2Fwith%2Fslashes being necessary somewhere, and it annoyed me for an afternoon. [18:34] hmm. I've got to run a quick errand. I'll be back in a bit. [18:35] * CardinalFang makes people flee, just by talking to them. [18:37] heh [18:46] from what i can tell, tomboy always uses the snowy REST api [18:47] never talks to local desktopcouch [18:48] Ah, thanks. Good to know. [18:48] sandy was open to the idea of creating a storage backend in tomboy that talked to couchdb directly, but it's still just an idea [18:49] tomdroid and conboy also use the REST api, so there's likely some desire to keep it stable if possible [19:20] urbanape: automatic de/encoding of the slashes works a lot of the time (I forget where, but I think there's still one or two places in couch where you do have to send encoded urls. design documents?), but the OAuth signatures need to be computed against the same url, client and server side, so that's why we use %2Fs everywhere. [19:20] I think. [19:22] CardinalFang: so: back to your branch: we use a single backend. The fact that it is synchronised to the desktop is nice, but since desktopcouch does not implement the tomboy REST API, somewhat irrelevant for now. Was there something going wrong in the wild that your branch is fixing? [19:26] thisfred, our servers implement tomboy API. See jdo's message to Discuss two days ago, "Lots of ResourceConflict OOPS reports". [19:27] tomboy <-> ubunet <-> desktopcouch [19:28] 3500 Oops in Jan, as of that day. [19:49] thisfred: aha! Yeah, I bet it's the oauth. [19:49] I remember when I was trying to deal with the design docs [19:49] crap pooper tastic [19:52] CardinalFang: and we know this is because of out of whack tomboy version numbers? [19:52] because if we're the only backend, I wonder how that happens. [20:16] hello, how can i change ubuntu one account mail address? thanks [20:33] OK, I found [20:57] dobey: so, as I'm sure is obvious, an updated Bindwood probably won't make it into alpha2 [20:58] urbanape: ok. you still have monday to do it for a2. i'm more interested in aligning releases of our different projects, than specifically getting stuff into alpha2. [21:23] dobey: thanks. [21:26] statik, http://andialbrecht.wordpress.com/2009/05/09/when-merging-fails/ [21:29] CardinalFang, thats great! Kathy Sierra suggested at a FOWA talk a couple of years ago that all software should be video recording the user when it gives an error message [21:29] this is such a cool practical exploration of that idea [21:45] yeah, love that kind of thing === mr_ian_ is now known as mr_ian