#ubuntuone 2010-01-01 <jml> hello <jml> anyone around? <FreeNom> hi <FreeNom> how to sync changes in a note to ubuntuone? <FreeNom> ... can't make it work <FreeNom> and how to delete a note on server without deleting the same note automatically locally afterwards? <FreeNom> any detailed written help somewhere? <FreeNom> thanks in advance :) <dobey> jml: hey. what's up? <Izinucs> Is auto sync pre-setup on kubuntu like it is on a fresh install of ubuntu 9.10? <jml> dobey, I asked my question on the couch db list <jml> errr... desktopcouch list, rather <jml> I'm mucking around with desktopcouch again. <jml> dobey, mostly, I'm interested in finding a real-world example that uses desktopcouch <verterok> jml: hi <jml> verterok, hello <verterok> jml: bindwood it's a real world example <jml> verterok, ok. I'll take a johncrosby@example.net. <verterok> jml: also evolution contacts sync <verterok> jml: but none of those are python :/ <jml> sad. <jml> verterok, are there no Python examples? <verterok> jml: I don't know :( <verterok> jml: have to run, bbl * verterok --> off <jml> verterok, thanks. bye. #ubuntuone 2010-01-02 <nomnex> need help with definition and usage of ubuntuone (cloud?) Do you have 5 min.? <dobey> jml: gwibber <jml> dobey, is Gwibber in Python? <dobey> yep <jml> dobey, I'll have a look. thanks. <dobey> jml: i think the desktopcouch stuff for it is still in a branch, but ryan was definitely looking at using it to store data <jml> dobey, ahh ok. <jml> dobey, there's a GTG branch, but it's not very helpful. <dobey> but it should be on launchpad either way <jml> dobey, does ubuntuone use desktopcouch at all? <dobey> and tomboy will be using it at some point <dobey> jml: the file sync service doesn't, no. but the other services do <jml> hmm. <jml> how do you define a view such that group=True? <dobey> tomboy doesn't use it locally yet, but we store the notes in couchdb on the server, so they're already in the local couchdb if you've set up ubuntu one to sync stuff <dobey> that i don't know <jml> hmm. <jml> I'm getting a very strong sense that this is very early days for desktopcouch. <jml> dobey, is there source available for the desktopcouch-using services? <dobey> well it's not very old yet, that's for sure :) <dobey> jml: yes, all the desktopcouch stuff and our client code using it, is all open source <dobey> jml: bindwood is on launchpad <dobey> i think evolution-couchdb talks to couchdb directly with couchdb-glib, rather than using the desktopcouch api though <dobey> but the record format is standardized <dobey> anyway, i gotta go make dinner <jml> dobey, ok, thanks. <jml> dobey, I'm looking at python-couchdb itself now. I think I'm going to have to start using that. <dobey> jml: i'm not sure what you're wanting to do exactly, but aquarius, chad, et al. will know more about that when they're back on-line again <jml> dobey, sure. <jml> dobey, although, I won't be in a good timezone to talk with aquarius for a good three weeks :) <dobey> ah, well. :) <dobey> back in oz for the time being? <jml> yeah. then off to NZ for linux.conf.au <jml> then, finally, back home. <dobey> ah, cool <jml> in this particular case, https://bugs.edge.launchpad.net/desktopcouch/+bug/497143 addresses my problem <ubottu> Ubuntu bug 497143 in desktopcouch "CouchDatabase.execute_view should take an optional extra parameters dictionary" [Undecided,In progress] <jml> dobey, fwiw, there's no obvious python in bindwood, which means it's not using desktopcouch AIUI <jml> anyway, you're at dinner :) <jml> given that the bug looks fairly basic to me, I'm wondering where desktopcouch is actually being used. <dobey> jml: bindwood isn't particularly obvious, as it's a firefox extension, and mostly javascript, but there's a bit of code that calls out to python <jml> dobey, ahh, ok. <dobey> later :) <jml> http://www.freedesktop.org/wiki/Specifications/desktopcouch/Documentation/DesignDocsFilesystem <-- what do I have to do to make that work? <voytech> Hello I'd like to ask if someone knows an application which app data could be synchronized in ubuntu one, and which is not available to sync data as for now(there is no plugin which uses desktopcouch to sync data) ? I'd like to make one of linux application capable to sync its data. But do not know what application to chose. <voytech> share with your ideas. Which application could I extend to make it capable to sync its data across computers in ubuntu one ? <homeasvs> what testtools version are dc hackers using ? I have 0.7.8, but testtools.TestCase is not there <dobey> i have revision 16 <homeasvs> dobey, of upstream testtools ? <homeasvs> it was at 281 2 years ago <dobey> python-testtools: Installed: 0.1~r16-0ubuntu1 Candidate: 0.1~r16-0ubuntu1 <dobey> that's what is in karmic... <homeasvs> huh, weird, maybe it's not even the same package then <homeasvs> do you ahve an upstream url for that pkg ? <dobey> https://launchpad.net/testtools <dobey> hmm <dobey> i see 0.9.2 is in lucid though <homeasvs> ok, so I guess there are two projects called testtools under python, neat <dobey> what's the url for the one you have? <homeasvs> http://testtools.python-hosting.com/ <dobey> heh <dobey> that's now called fixture <dobey> and the testtools on launchpad supercedes that testtools, it appears <dobey> gotta go <dobey> later #ubuntuone 2010-01-03 <oly_> hi, is there any way to tell ubuntu one to ignore .pyc files it keeps creating conflicts on these files between machines <XiXaQ> are notes and contacts on Ubuntu one supposed to be synced with my evolution? <XiXaQ> oh, my contacts are synced. Great. But what about notes? I can't find anything about it in Evolution. <dobey> notes are tomboy notes <dobey> https://wiki.ubuntu.com/UbuntuOne/Tutorials/Notes <XiXaQ> there <XiXaQ> there's that one again... <XiXaQ> I always thought Ubuntu were supposed to ship one application per feature. <CardinalFang> XiXaQ, Maybe. If you have evolution-couchdb package installed. <XiXaQ> I don't understand why anyone would want to replace Evolution with tomboy... It's an annoying piece of software. Breaks the feel of ubuntu desktop as well. <dobey> XiXaQ: unfortunately there is some overlap, because evolution is more like several applications in one, rather than an application per task <XiXaQ> right, but then we should replace all of it with wiki-applications instead. <XiXaQ> there is already a wiki-based task-manager, right up the alley with tomboy. <dobey> tomboy isn't a task manager though :) <XiXaQ> and we can switch to a web based mail client and a web based calendar, then we don't need evolution johncrosby@example.net. <dobey> i can't agree with that :) <XiXaQ> then you don't think the philosophy of having one application per feature is nice? <dobey> i don't think the web is nice <XiXaQ> I'd like to have a RSS feed manager, but we can't have that because Firefox already supports it. <XiXaQ> I'd like to have alarm clocks, but I can't have that either, because Evolution can do that. What the hell makes Tomboy so damn special? It's annoying :) <dobey> we can have it, because firefox isn't an rss reader. it's a web vm <XiXaQ> and xchat can't be included because Empathy supports IRC? <dobey> i don't know about xchat <XiXaQ> no, we can't have it. I've been working on getting that for years. <dobey> i don't use xchat or empathy <XiXaQ> xchat cannot be included because Empathy supports IRC.. It was the same with Pidgin. <XiXaQ> I'm not talking theory here. All those ideas have been actively dismissed because of these reasons. <dobey> eh. i don't know who you have been arguing with about them <XiXaQ> hmm? <dobey> but dismissal does not constitute invalidity <dobey> evolution can also do rss, btw <XiXaQ> this is not just me. From time to time, on the mailinglists, these discussions have popped up over the years, and have been shot down. <dobey> sounds like health care :) <XiXaQ> I've always agreed with the philosophy. I still do, which is why I don't like having Tomboy as a glaring exception to a nice rule. <dobey> i rather think that evolution is the exception. but perhaps the right arguments have yet to be made, to get the changes done <dobey> granted, any such changes are highly unlikely to happen in lucid, given it's an LTS <dobey> i have to run for a bit, later :) <XiXaQ> oh, I love Evolution, I use it all the time. <XiXaQ> this is getting off topic anyway, I think. :) <XiXaQ> I got the answer. Thanks :> <Dont-Hate> hello <Dont-Hate> I need a little help , any body here to share with me some tips <Izinucs> What's the status with kubuntu and the ubuntu one service.. is kubuntu setup to autosync with ubuntu one like ubuntu is? <Dont-Hate> any body there #ubuntuone 2010-01-04 * jamesh changed the topic of #ubuntuone to: Have a question? Ask jamesh | https://one.ubuntu.com | https://launchpad.net/ubuntuone | Please honk if you want a music store <repete> Hi all <repete> Can anyone tell me how to force the syncing of file? <repete> Nautilus says it is synced, but I don't see it in the web UI <aquarius> hey repete. <aquarius> you can't actually *force* a file <repete> aquarius, hey, dude :-) <aquarius> when you say "nautilus says it's synced", what exactly do you mean there? that it has the emblem, or that you got a notification? <repete> aquarius, well there's two thing there... 1) Yes, nautilus has the green check mark icon next to the file, and 2) I got a notification that "1 file finished syncing", but that doesn't tell me which file <repete> aquarius, I added a directory, then two folders underneath, then added a file to each of those two folders <aquarius> the check marks are, as I understand it, not reliable at the moment (rtgz has written a patch for that, but I don't think it's released yet) <aquarius> do the logs show anything that looks like a failure? <repete> aquarius, not afaict <repete> aquarius, there is a notice that one of the files synced <repete> but nothing about the second <aquarius> strange. <aquarius> I...don't know, then, which is not very helpful, I know :( <repete> aquarius, well, when I say "force" what I mean is create the conditions under which U1 decides the file has changed and must be synced again <repete> aquarius, any idea there? <aquarius> when that happens to me (which it hasn't for a while, which is nice) I copy the file :) <repete> I already tried touch <rtgz> who what where when? <repete> create a copy and rename it? <jamesh> repete: I take it you tried reloading the web UI? <repete> jamesh, yes... * rtgz waits 8 minutes until ubuntulog sends the log to the irclogs... * repete tries again <jamesh> IIRC, change notification isn't fully implemented for the web UI <repete> Should I be johncrosby@example.net? <repete> yea, reloading the page doesn't work. :-/ <aquarius> rtgz, repete's got a file which isn't being synced to the web (and the emblem lies about it, which I think you've fixed but isn't released yet?) <jamesh> well, if you have another computer with the UbuntuOne client installed and configured, that would be a better indication that things are synchronising properly <repete> jamesh, unfortunately don't have that <rtgz> repete, u1sdtool --info $full_path_to_file - is there server-hash? and what is the filename? <repete> rtgz, that gives me a traceback :-/ <rtgz> aquarius, the emblems for regular files once dobey reviews the branch, then files are no longer utime()d and they are happy. <rtgz> repete, huh? Then it means that syncdaemon did not get to that file, i.e. 1) inotify dir handles limit reached, 2) syncdaemon crashed and does not want to recover <rtgz> repete, KeyError with the filename as the argument? <repete> rtgz, exactly <rtgz> repete, what is the file name, does it contain some accented characters? <repete> rtgz, no, but it contains underscores <rtgz> repete, underscores... and no colons, ":" ? <repete> though the other file that did sync also contains underscores <repete> no, none of those <rtgz> in Ubuntu One dir: find -type d | wc -l <rtgz> just to check how many directories you've got <rtgz> repete, ^ <repete> rtgz, 9 <rtgz> repete, not interesting. Okay, let me read the logs, so that I don't ask duplicating questions.. <rtgz> ah, not much to read :) <aquarius> rtgz, yeah, we'd only just started when you rocked up :) <rtgz> so, my first guess is to 1. save the logs from ~/.cache/ubuntuone/logs to some safe location. 2. u1sdtool -q, 3. u1sdtool -w, 4. Connect via applet, 5. Check that file is being uploaded <repete> rtgz, will do that, but how do I do #5? <rtgz> repete, however the logs in syncdaemon.log copied to paste.ubuntu.com might help as well to diagnose the real reason <rtgz> repete, u1sdtool --info $full_path_to_file <repete> ah... <repete> thx <rtgz> emblems... They give a false hope now :( <rtgz> repete, btw, u1sdtool -w will timeout with DBus error, this is "OK" for now <repete> rtgz, oh right. Ok. :-) <repete> rtgz, is that in the form of a traceback? <rtgz> repete, checking... <repete> rtgz, yea `u1sdtool --info ${full-path-to-file}` returns the same KeyError trackback <rtgz> repete, re: traceback: "Oops, an error ocurred: ... org.freedesktop.DBus.Error.NoReply:" <rtgz> rtgz, could you pleeeease share the file name with us? or privately, in order to check what might go wrong with the file name... Additionally, what locale are you using? <rtgz> repete, ^ <rtgz> rtgz, happy new year! <rtgz> repete, what version of u1 client are you using? just to try reproducing such condition? <repete> rtgz, 1.1.0+r294-0ubuntu1~ppa1~karmic <repete> rtgz, where do you want the logs? <repete> u1 share? ;-) <rtgz> repete, paste.ubuntu.com might be a better idea.. <aquarius> :) <rtgz> hm... U1 log sharing... <repete> rtgz, right. syncdaemon.log? <rtgz> we need group sharing! <rtgz> repete, yup <rtgz> however it looks like categories are not yet implemented for evolution backend .. <rtgz> summary: restart of syncdaemon log helped. The file got uploaded. no accented characters, colons or anything that might have prevented it from uploading <rtgz> the folder was initially called "untitled folder", then it was renamed to "v2.0", afterwards the file was put in v2.0 directory but it was not picked up by syncdaemon (inotify watcher not applied? ) <rtgz> reproduced <rtgz> ERROR: The path /home/rtg/Ubuntu One/untitled folder of this watch <Watch wd=42 mask=3064 auto_add=False proc_fun=None path=/home/rtg/Ubuntu One/untitled folder dir=True > must not be trusted anymore <rtgz> no, this error is not related, sorry <rtgz> Here's my log: http://paste.ubuntu.com/351172/ <repete> rtgz, thx for your help, btw <rtgz> repete, you are welcome, since there is virtually nothing done by me :) * jamesh changed the topic of #ubuntuone to: https://one.ubuntu.com | https://launchpad.net/ubuntuone | Please honk if you want a music store <leny_> The second computer (a Karmic UNR box) that I have connected to ubuntuone is (unlike the first, a desktop Karmic) not syncing evolution contacts. In the desktop-couch-replication.log is see multiple entries like this "2010-01-04 11:35:45,803 DEBUG static pairings are []" . Plus some starting and finishing replication messages. It appears I have a setup error but am unsure as to how to correct it. Help please? <rtgz> leny_, do you have access to that UNR box now? <leny_> rtgz speaking from it <rtgz> leny_, ok, lets restart couchdb from terminal so that you will get a link to login to database frontend web page and check whether there are any contacts there. <rtgz> /usr/lib/desktopcouch/desktopcouch-stop <rtgz> /usr/lib/desktopcouch/desktopcouch-service <aquarius> desktopcouch-stop is a bit unreliable... <rtgz> (regular user, not root). after you launch desktopcouch-service, you will be given a link to html page. Open it in the browser and it should redirect you to futon (couchdb web frontend) running on localhost <rtgz> aquarius, erm... if it does not stop, then we will sigmurder it <aquarius> http://www.freedesktop.org/wiki/Specifications/desktopcouch/Documentation/Troubleshooting describes the right way to do that :) <rtgz> leny_, yes, in case desktopcouch-stop is finished but ps auxw| grep desktop-couchdb still shows up, then kill it <rtgz> aquarius, hm, docs! <aquarius> rtgz, yes indeed. I wasn't sure if you knew about the DC docs <aquarius> http://www.freedesktop.org/wiki/Specifications/desktopcouch/Documentation is being built up as I get more and more time <rtgz> aquarius, killall beam.smp... erm... Casual user might not have anything else running by erlang, right... <aquarius> rtgz, yeah. It's a bit dodgy, but I figure that if you're running any other erlang programs as your user account then, well, you'll know enough to look at that command and think: hm, I won't do that. <aquarius> desktopcouch-stop not working properly is most annoying. That needs fixing, which I shall discuss with thisfred and cardinalfang when they arrive ;) <leny_> rtgz, had to kill the service. Now restarted and I am at the http://localhost:44173/_utils/ web page. <rtgz> leny_, ok, now browse to contacts db <rtgz> and see whether there are any contacts <leny_> rtgz, I'm there. it's showing no entries <rtgz> ok. <rtgz> now shut down evolution completely <rtgz> evolution --force-shutdown <rtgz> and start evolution from terminal * rtgz discovered that ASUS has also started their cloud file storage... <rtgz> leny_, ^ (not about ASUS, but before that :) ) <leny_> rtgz, done. I've discovered I was one "Design Documents" before on the browse page. I'm now on "All Documents" and it's showing the one locally entered record I have (to see if it would go up) <rtgz> leny_, so, is anything created in local evolution instance shows up in couchdb? <leny_> Yup, but nothing goes between couchdb and ubuntuone in either direction. Though my other machine is fine. The failing machine is the second added to ubuntuone. I have prior to coming on irc done the restart described in http://www.freedesktop.org/wiki/Specifications/desktopcouch/Documentation/Troubleshooting <leny_> Further I see the empty static pairings message unlike the log in Bug #471805 <ubottu> Launchpad bug 471805 in desktopcouch "Evolution contacts don't sync to Ubuntu One" [Undecided,Incomplete] https://launchpad.net/bugs/471805 <rtgz> leny_, management db, are there any records? <leny_> rtgz, Yes a _design/get_records_and_type and a hex stamped record with a self_identity field in it. * leny_ honks for a music store <aquarius> leny_, working on it :P <jblount> leny_: :) <leny_> rtgz, Don't know if it's related but the evolution terminal window has several copies of this message in the startup "** (evolution:3934): CRITICAL **: atk_object_set_name: assertion `name != NULL' failed" <rtgz> leny_, no, that's accessibiliti toolkit errors <rtgz> *accessibility <leny_> rtgz, Thanks, thought I better mention it just in case <rtgz> leny_, so... when you start the evolution, you see the local entry in CouchDB addressbook, but that entry is not visible online, right? <rtgz> and you are able to create local entries, but they are not replicated <aquarius> leny_, you don't have an entry in desktopcouch to pair it with Ubuntu One. The applet is meant to put that in, and it must have failed before. If you restart the applet, it should be added; try killing the applet (killall ubuntuone-client-applet) and then restarting it (Applications > Internet > Ubuntu One) <aquarius> and then look in your desktopcouch management database again; there should then be a new record, relating to Ubuntu One. <rtgz> aquarius, you mean the record_type .../paired_server ? <aquarius> rtgz, yep. The applet, when it starts up, looks to see if desktopcouch is paired with U1, and if it isn't, the applet adds a pairing record for U1 <aquarius> rtgz, but from the sound of it, leny_'s desktopcouch was being weird, so the applet may have tried and failed to add the pairing record <leny_> aquarius / rtgz, now have 4 records in management db. Inclusing design and what looks like the pairing details for ubuntuone . Waiting 10 minutes for a sync <aquarius> haha! excellent. <rtgz> leny_, awesome. Ok, aquarius, is there any bug report describing such "unable to add record to db, and nobody cares, so act happily" condition? <aquarius> rtgz, there isn't, at the moment, so adding one would be good. (Part of the reason is that it's not clear what to actually do in that situation; telling the user isn't useful, since they don't know how to fix it, nor should they) <aquarius> unless CardinalFang knows differently and there already is a bug report <rtgz> "There appear to be a problem with Ubuntu One server pairing sequence. You might want to [try this task again] or gather required info using [apport]" <leny_> rtgz, aquarius, Sync HAS taken place, records now in Evolution. Many thanks <rtgz> but applet sitting there showing "me is connected!" when a part of the system is broken is... misleading... Much like the emblems :)... dobey dobey dobey :) <aquarius> rtgz, ah, but you can't try the task again, since you can't manually trigger the add-a-pairing-record sequence, and if it hasn't worked then clearly there's a bug somewhere else preventing it (like, desktopcouch was unresponsive). Fixing *that* bug should stop the problem <leny_> A footnote: As well as doing the killall mentioned I killed this as well /usr/bin/python /usr/lib/ubuntuone-client/ubuntuone-syncdaemon <rtgz> aquarius, why can't I trigger the "PAIR NOW!" sequence? <aquarius> rtgz, because you shouldn't ever, ever have to manually trigger it, therefore manual triggering isn't exposed <aquarius> rtgz, if you want to, you can run desktopcouch-pair, in the desktopcouch-tools package, to manually add an Ubuntu One pairing record <aquarius> (or to pair with a LAN desktopcouch) <rtgz> btw, is there a dedicated dc irc room? <rtgz> I've got some questions regarding record updates... <thisfred> rtgz, there is, but more people are here <thisfred> rtgz: #desktopcouch currently has me, and __lucio__ who are both here as well\ <thisfred> and this channel is fine for discussing all things d-c <statik> hi thisfred, hows life? <thisfred> hey statik, pretty good, actually <thisfred> how are you? <CardinalFang> rtgz, the application should treat it like any other IO error. What does it do if the disk is read-only? Something like that for problems with desktopcouch. <statik> thisfred, i'm happy and more dangerous than ever <thisfred> a powerful combination ;) <statik> thisfred, could you look at https://answers.launchpad.net/ubuntuone-servers/+question/96145 and tell me if I need to be worried? <thisfred> on it <urbanape> aquarius: had a really crazy set of revelations about the manifest stuff for Bindwood last week. <thisfred> statik: hmm, I think we'll need more infor for that one. I don't know a lot about the web ui side of things. It may be an underlying couchdb problem, but I'll need to look at the logs. <aquarius> urbanape, oh? do tell? (HNY btw!) <thisfred> statik: in the meantime, teknico might have an idea <aquarius> thisfred, there is currently a problem with notes and couch; rodrigo_1 and, I think, CardinalFang are looking at it <thisfred> aquarius: aha, way ahead of me * rtgz is holding a big banner /[Say no HTML for Tomboy Notes today!]\ <urbanape> aquarius: I wrote it up as a rambling conversation with myself. I'll send it along. <statik> urbanape, you write rambling conversations with yourself too? i feel better knowing i'm not alone ;) <urbanape> statik: well, it started as a straightforward "let's get out what we have left to do" and then I started questioning that, and it turned into a bunch of Q: and A: paragraphs. <urbanape> maybe I'll send it to the internal list. <urbanape> anyway, the main upshot is that the manifest isn't necessary *except* to support the web ui. <urbanape> so long as we add a bit of hackery to the records' schema <rodrigo_> hey statik <statik> hola rodrigo_, did you have a fun holiday? <rodrigo_> statik: yeah, lots of fun :-) <rodrigo_> statik: when you have time, could you re-review https://code.edge.launchpad.net/~rodrigo-moya/libubuntuone/bring-music-store-live/+merge/16426 please? <rodrigo_> statik: and you? or you did not take vacation? <statik> rodrigo_, I did! it was great. wrote a jabber bot and a weird django file downloading experimental thing, and read lots of books and ate so much delicious food <rodrigo_> statik: oh, more productive than me then, just ate delicious food :) <statik> rodrigo_, I still get u1-marshal.h not being created <statik> i'm on revno 8 <statik> i made a totally clean branch, ran ./autogen.sh and didn't see errors, then ran make <rodrigo_> statik: and you have glib-genmarshal installed, right? <statik> yep, when i cd into libubuntuone and run make u1-marshal.h that works fine, and then the compile completes successfully <urbanape> thisfred: are you a guru on the _changes feed? <rodrigo_> statik: weird, it works for me on a clean branch without hassle <rodrigo_> statik: the rules in the Makefile.am seem to be ok <aquarius> thisfred, CardinalFang, urbanape: some desktopcouch things have come up over the break, which I'd like to lay out for you if you're all available at some point today <urbanape> I'm up for it <thisfred> urbanape: somewhere between guru and clueless, I'd say <urbanape> we're switching to MySQL? <aquarius> urbanape, nah, just csv files <thisfred> aquarius: sounds good <urbanape> w00t! <thisfred> aquarius: ZODB ? :) * aquarius shoots thisfred. In the face <statik> believe it or not MySQL has a csv engine <rtgz> aquarius, raw random access block devices <rtgz> the real black box... <thisfred> aquarius: tsss, the ZODB is awesome. And quite similar to couchdb in some respects <urbanape> thisfred: I had been asking CardinalFang over the break, and he was pretty sure it didn't exist, but I thought I'd ask you: do you know if you can get field-level granularity in the _changes feed to see which fields have changed in a given revision? <thisfred> it's just the 12 million zope layers on top that vary in usability <aquarius> rtgz, you implement oauth as a kernel module and I'm all over it ;) <thisfred> urbanape: I too am pretty sure you can't <thisfred> urbanape: but let me triple check <aquarius> urbanape, nope, you can't. <statik> rodrigo_, i just approved the branch. when do we get packages for this uploaded to ubuntu? <urbanape> this book: http://books.couchdb.org/relax/reference/change-notifications talks about the style=all_docs option to "get more revision and conflict information in the changes array for each result row." <aquarius> the couch people are Unkeen on the idea of telling you what's changed. you're supposed to hit the document. annoying but true. <rodrigo_> statik: as soon as I get this and another branch merged <urbanape> what additional info does that give you? Nothing that I've been able to tell... <rtgz> aquarius, and filesharing via DRBD.. <urbanape> aquarius: but using documents as the change message is pretty lousy. <rodrigo_> statik: you have superpowers to merge the branches in tarmac, right? <urbanape> aquarius: did you read my ramble? <aquarius> urbanape, I did. I am mulling it over to be sure that I understand it <urbanape> so, alternately, we could make Bindwood always stamp the bookmark's current location on any document that it sends back to Couch (which is somewhat counter to the idea that we're only observing granular changes locally) <statik> rodrigo_: i'm running tarmac on libubuntuone now <urbanape> and always update every field when we bring in a changed bookmark from Couch. <rodrigo_> statik: could you then please merge https://code.edge.launchpad.net/~rodrigo-moya/libubuntuone/bring-music-store-live/+merge/16426 and https://code.edge.launchpad.net/~rodrigo-moya/libubuntuone/python-bindings/+merge/16543 ? <rodrigo_> statik: cool, thanks <urbanape> I don't mind my .application_annotations.field_changes notion, but I wish there were a better place for that annotation to go (like on the revision itself, somehow) <rodrigo_> statik: btw, in one of the few productive moments I had while on vacation, I was thinking if it would make sense to merge libubuntuone into ubuntuone-client? <rodrigo_> dobey: what do you think? <thisfred> woohoo, nostalgy for TB3 is out. This will make email catch up about a gazillion times faster and less frustrating <rodrigo_> TB3? <rodrigo_> ah thunderbird? <thisfred> thunderbird, sry <rodrigo_> then, nostalgy? :D <urbanape> sent it all to the list. thisfred and CardinalFang: I'd appreciate your thoughts as well. <thisfred> urbanape: will look at it as soon as I get there <urbanape> danke <urbanape> statik: yeah, I find I actually get a lot more written when I pretend it's a conversation. I get some structure out of it, and I can explore all the aspects of what I'm talking about. <urbanape> (or think I'm talking about) <statik> hey aquarius, rodrigo_: are you guys available for a phone chat about the music store in 1 hour and 22 minutes? <aquarius> yep <dobey> rodrigo_: i think my brain is frozen :) <jcastro> jblount: when you're around I'll need the graphic for the forum badge. <rodrigo_> statik: yeah <rodrigo_> dobey: too much snow? :D <dobey> rodrigo_: about 2 hours of sleep last night, thanks to having to take the early flight <urbanape> dobey: early flight? where you at? <dobey> urbanape: burlington.ma.us <urbanape> gonna get your ski on? <urbanape> ah, I was thinking of burlington, vt <dobey> not really anywhere to ski here... and i hate snow anyway <rodrigo_> dobey only skies on sand :D <statik> i always pictured dobey as more of a wingsuit man http://en.wikipedia.org/wiki/Wingsuit_flying <dobey> if i were going to ski, it would probably be on water <dobey> liquid water <rtgz> web guis: http://yui.yahooapis.com/2.8.0r4/build/connection/connection-min.js is loaded by /notes/new from https ui. Causes firefox to drop "Secure" status for the page <aquarius> rodrigo_, I have updated https://blueprints.edge.launchpad.net/ubuntu/+spec/lucid-ubuntu-one-musicstore so do please correct me if I've missed anything :) <rodrigo_> ok <dobey> i think hotels use a different metric for "speed" with regards to internet <rodrigo_> statik: ah, found the u1-marshal.h problem on another clean branch, will submit a fix with the debian package one <statik> rodrigo_, great! are you including the debian/ dir with the branch? i've seen that discouraged generally, but i've also seen people recently on planet ubuntu saying thats a frustrating rule to have <rodrigo_> statik: hmm, I usually don't include the debian/ dir int he code branch, so I guess I'll do it on a separate package branch then? <statik> the general practice seems to be doing a release tarball without the debian/ dir, yeah <statik> i'm not 100% sure how to bootstrap the packaging branch to work with the UDD branches, james westby would know for sure <dobey> distribution-specific things in tarballs is generally frowned upon upstream <CardinalFang> Desktop+ MEETING BEGINS. Say 'me' to claim a slice of the stand-up meeting, then take your turn by saying DONE/TODO/BLOCKED. <dobey> rodrigo_: not sure about merging libubuntuone <rodrigo_> statik: well, I wouldn't include the debian/ dir in the tarball, just in the source branch <rodrigo_> dobey: well, the nautilus plugin would use the contacts-picker widget, that's why I thought about it <rodrigo_> dobey: and also, we could include other stuff, I guess <rodrigo_> dobey: for packaging, it would be on a separate package though <dobey> debian dir in code branches is a pain to maintain <rodrigo_> statik: https://code.edge.launchpad.net/~rodrigo-moya/libubuntuone/fix-marshal-generation/+merge/16783 <rodrigo_> statik: can you try it please? <statik> rodrigo_, this is a good page to read https://wiki.ubuntu.com/DistributedDevelopment/ <statik> yep, I'll try it now <rodrigo_> statik: ok, reading <rtgz> btw, is there any info on what is causing the global outage of note sync for all u1 users? <rodrigo_> rtgz: yes, a problem with _rev AFAIK <dobey> rodrigo_: packaging is irrelevant if we merge them. library would be separate binary packages anyway <rodrigo_> dobey: yeah <rtgz> any ETA? Cause this is a substantial part of life that UbuntuOne is aimed to backup <statik> rodrigo_, it works! i approved the merge, if you set the commit message i'll run tarmac <rodrigo_> statik: done <rodrigo_> dobey: well, the thing is I'm about to start packaging libubuntuone, so either I do it on a separate package branch, or merge it with u1-client and add needed stuff to u1-client's packaging branch <rodrigo_> dobey: that would make it easier, since we won't have to run over the approval process for new packages <rodrigo_> dobey: so, what do you think, shall I merge it? <dobey> CardinalFang: you need to be more proactive about that i think :) <CardinalFang> I guess so. <CardinalFang> Fear, Fire, Foes, Awake! <CardinalFang> ...maybe that only works for Hobbits. <rodrigo_> me :D <CardinalFang> me <rtgz> me? <CardinalFang> Are we still having these? Desktop+ MEETING BEGINS. Say 'me' to claim a slice of the stand-up meeting, then take your turn by saying DONE/TODO/BLOCKED. <aquarius> me <dobey> not me, upstream connection is too slow to type with :( <rtgz> dobey, internets is slow today here as well :( <rtgz> the whole world is checking their emails, downloads updates and visits their social networking sites <dobey> maybe me <urbanape> me <dobey> rodrigo_: i think it should probably stay separate. would arther it be separate, than decide to move it back out later. :) <rodrigo_> dobey: well, nautilus plugin is the main user of the library <rodrigo_> s/is/will be <dobey> rodrigo_: music store <dobey> rodrigo_: and ideally third party apps :) <rodrigo_> dobey: right, but part of u1 still <rodrigo_> dobey: I really don't see a reason to have it separate really <dobey> yes but it's a separate projects <dobey> well we might add more to it later <rodrigo_> given that we have, in u1-client, several subprojects <rodrigo_> dobey: but all related to u1 :D <dobey> well all of gnome-foo is related to gnome... <rodrigo_> so, do we start the standup? <dobey> please <dobey> before i can't type again <dobey> rodrigo_: go :) <rodrigo_> â¢ DONE: Vacation. Mail/music store catching up. Merge 2 libubuntuone branches. Started work on debian package for libubuntuone. Fixed marshalers generation code <rodrigo_> â¢ 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? johncrosby@example.net. Add envvar to override music store default location <rodrigo_> â¢ BLOCKED: no <rodrigo_> CardinalFang: go <dobey> Chipaca is going through immigration right now i suspect :) <CardinalFang> DONE: Gregorian new year. <CardinalFang> TODO: Help educating Tomboy to write with revisions to desktopcouch. Finally make boss happy and put work ideas in bugs and blueprints. <CardinalFang> BLOCKED: Nein. <CardinalFang> rtgz, if you have something to say... <rtgz> DONE: Some nautilus module debugging, corrected weak ref notify to be removed on module shutdown, waiting for merge. Standalone note sync script for GNote/Tomboy to local CouchDB sync. <rtgz> TODO: Get a real job, update diagnose client with something, <rtgz> BLOCKED: Sick <rtgz> aquarius, to infinity and beyond! <aquarius> â DONE: submitted initial fake music store and music store for review; worked out file delivery API; specced file delivery; consumed the European mince pie mountain <aquarius> â TODO: package rhythmbox plugin; work out why decorators don't work on HttpResponseRedirects; allow OAuth to web UI; make music store views better; make workitems of outstanding todo items; make tomboy first-sync experience nicer <aquarius> â BLOCKED: <aquarius> dobey, you're up <dobey> âº DONE: Reviews, Fixed #485824, Fixed #499850, Bug triage, Moved logging config to a separate generated conf file <dobey> â¹ TODO: More new UI code, Lean training, <dobey> â¹ BLCK: None. <dobey> urbanape, jblount: somebody pick up the phone :) <urbanape> DONE: Made some great (on paper) progress on Bindwood, ready to be implemented. <urbanape> TODO: get 'er done <urbanape> BLOCK: None <urbanape> jblount: europe <dobey> brb <dobey> hrmm, i need to find me some food * rtgz found that one line merges tend to get better review approval than multi-line :) <dobey> one line changes tend to be easier to review <aquarius> - UBUNTUONE_SERVER_URL = "https://one.ubuntu.com" <aquarius> + UBUNTUONE_SERVER_URL = "http://yepishev.name" <aquarius> :-) <CardinalFang> Not easier to accept, aquarius . * aquarius grins <CardinalFang> Just review. <rtgz_> aquarius, I have been thinking about registering that domain for 3 years... I guess I know what I'll do with it now :) * aquarius grins <rtgz_> _very_ personal cloud <dobey> i had a cloud once, then it evaporated <rtgz_> web ui people, please please please implement file searching... * rtgz_ emitted too much "please please please" feature request today, shutting down <dobey> filename searching, or file contents search? <rtgz_> dobey, file name for now, content search is something that will make u1 web ui really stand out. * rtgz_ tested ASUS WebStorage * rtgz_ did not like the UI, it is scaaary <dobey> well, it's a privacy issue unfortunately <dobey> is launchpad really slow right now? <rtgz_> and now the final q for the web guys (no please please please) - why are the links pointing 1) to _new window, 2) the URL does not contain the filename so that when new tab IS opened, the original filename becames visible only on download <aquarius> statik, rodrigo_? <rodrigo_> aquarius: ready <statik> rtgz_, I don't know why they are pointing to _new, thats annoying. The URL doesn't have the filename because of addressing, but we could stick the filename in and just ignore it in the download server, that would be more userfriendly. Should probably also add the filename in a tooltip. <jblount> rtgz_: I think they point to _new because those links were opening the file (instead of downloading it). This is a bug. <jblount> Oh, and sorry I missed the standup. I mis-judged how long my run would take me after taking two weeks off :( <jblount> DONE: Holiday, Email triage <jblount> TODO: Public file links! <jblount> BLOCKED: Nope <thisfred> urbanape: I'm having trouble understanding the email, which likely means I'll have to read it more thoroughly, but I still wonder if there isn't a simpler, stupider solution to the problem. As an analogy, over the holidays, I worked on a pet project that deals with audio files, and I kept searching for a way to fingerprint just the audio content of a file, mostly so I could see if it was the same file when it was moved, and/or w <thisfred> hen its id3 tags were modified. <thisfred> urbanape: in the end, it turns out that this is almost impossibly hard <rtgz_> statik, _new != _blank, re- filename appended to the download hash - agree <thisfred> and instead, I gave up on the first part, and just use the full path to the file as an id everywhere <thisfred> which gave me everything else I needed <thisfred> and it turns out *I* at least, don't move my mp3s around all that much <rtgz_> re: music store - ogg/mp3/mp3-only/ogg-only/DRM ? <thisfred> rtgz_: I think mp3 no DRM <thisfred> urbanape: I wonder if there is some way to do the same for the bookmarks: using the "path" as (part of) the couchdb id <rtgz_> htere was an earlier discussion about syncdaemon not picking up the files when they are put into dirs. I managed to reproduce that, anybody interested? <rtgz_> with TRACE log level <urbanape> thisfred: but moving a bookmark (changing its path) doesn't change *the bookmark* <urbanape> they're orthagonal aspects. Its location is metadata, not the data itself. <urbanape> I'm not at all surprised that it's hard to read. It was mostly just a stream of consciousness kind of thing. <urbanape> but I wanted to get some feedback from other Couch-y types. <dobey> rtgz_: i don't think record labels generally release music as flac/ogg/etc... mp3 is the standard <thisfred> urbanape: Of course in an ideal world, content and metadata of this kind would be cleanly separated, but to couchdb, it's all data <dobey> man it is cold in here <urbanape> thisfred: sure, which is why I am proposing this kind of hackishness. <thisfred> urbanape: also, in any other database system, they will tell you not to use semantically meaningful ids <urbanape> the ids I'm proposing aren't semantically meaningful <thisfred> urbanape: rereading <thisfred> urbanape: yeah I know, I'm saying, in couchdb, it seems to be fine to use such ids <urbanape> I'm suggesting that instead of using Couch's generated ids, and annotating the record with a locally produced uuid, we just use the uuid as the id and be done with it. <urbanape> thisfred: ah <urbanape> yes, it does turn some traditional db conventions on their ears <thisfred> note that it may not be the solution you're looking for at all, but I'm saying that challenging almost all your assumptions sometimes gets you a very simple 99% (i.e. good enough) solution in couchdb <thisfred> of course that's not a mode one can work in all the time <urbanape> okay, so partly, I'm also looking for affirmation that this might not necessarily be "hackish" but could, in fact, be a conventional way of doing things in the CouchDB world. <urbanape> since we have to rely on the document being the message, and all. <thisfred> urbanape: On second reading I'm thinking that yes, it may be the couchish way <thisfred> I'm not worried about the upgrade that much, if we can generate the manifest for a new user, we can do it for existing users too, right? <thisfred> urbanape: yeah, I think this is a good idea. Possibly even having 1 manifest per folder. In couchdb splitting things up into multiple documents makes them less fragile often <thisfred> hmm, I'm not sure I'm getting it yet <thisfred> what is the manifest? <thisfred> urbanape: Is it not a couchdb document in your vision? <thisfred> I would make it one, but rather than have manifest, have a bookmark and a folder record type <thisfred> folder record types, have just one field: contents, which is a list of ids (of folders and bookmarks) <thisfred> or have I now unsolved the actual problem? <urbanape> thisfred: so, the manifest as originally envisioned is a single JSON doc that represents the entire bookmarks tree, but only in terms of the structure. <urbanape> a tree of uuid nodes <thisfred> ah ok, so I got that right <thisfred> having multiple folder documents instead, and the tree structure implicit, makes the chance of conflicts smaller <urbanape> I can see that, I guess. <thisfred> I'm just thinking out loud, so by no means I'm saying this is the one solution to rule them all and in darkness bind them <urbanape> the problem I uncovered (I think) is that for Bindwood clients, the manifest is useless, but it seems essential for decent responsiveness on the web ui (where we don't want to seek to rev 0 and walk the entire history) <urbanape> sure <urbanape> the upgrade or migration is just about the people who've been using it to date. "Blow away your database and start over" is a solution I'd like to avoid. <thisfred> urbanape: right, so writing a view that reproduces the tree should not be that hard <thisfred> urbanape: right, but since they have a folder structure in their firefox, we can generate the tree from that <thisfred> and hopefully not nuke their other clients <urbanape> I think my prediliction had been towards fewer document types in the database: records (bookmarks and folders) and ancillary material (manifests and design views) <urbanape> thisfred: yes, but there will need to be a migration step. The structure can always be recreated, so long as they're doing it from the "canonical" location <thisfred> I agree with non-proliferation of document types <urbanape> (since if you currently use Bindwood, your secondary machines won't necessarily reflect your organization) <urbanape> thisfred: and that's where I came up with one JSON doc for the entire manifest tree. <urbanape> but I'm open-minded. <dobey> brb <thisfred> urbanape: I would think folders and bookmarks would do it, what does the manifest add that folders can't do? Or do we need a root that isn't a folder? <urbanape> so, in the case of normal Bindwood clients, each maintains its own state of the last known rev it's seen. <thisfred> aquarius: feel free to weigh in, since you're quite good at blowing holes in my theories ;) <urbanape> the web ui won't have that luxury (without resorting to HTML storage or something) <urbanape> so we'll want something to short circuit the "go to rev 0 and walk the history to arrange everything as it should be" <thisfred> urbanape: but will the web ui need to? the web ui doesn't have the problem that it stores things in two places, couchdb will just *be* it's storage <urbanape> walking all the folders is closer to that in my mind than "get this one document" <thisfred> urbanape: so it won't need to track changes at all <urbanape> thisfred: that's true <urbanape> we want our web uis to be responsive and "real time" though, don't we? <thisfred> and it may be possible to write a single smart view that gives you the tree <urbanape> I imagined the web ui would also be tracking _changes after it built up the initial view <urbanape> but that would be nicer, too. <thisfred> you mean constant ajax updates? Could work, but it could also just ask the database for the view again <urbanape> hm. okay, but moving from the manifest to each folder record maintaining a list of its children still means multiple records getting updated if a bookmark is moved from, say, one folder to another. <urbanape> rather than just the bookmark and the manifest being updated. <thisfred> urbanape: yes, you'd be updating the two folder documents <thisfred> wait, why would you need to update both? <urbanape> because both of their children lists would change <thisfred> do you have links going both ways? <thisfred> no I mean in your scenario <urbanape> want to move this to voice? <thisfred> if you move the document from one folder to another, that would only mean an update to the manifest or not? <thisfred> urbanape: sure, but in that case I definitely want aquarius in too :) <urbanape> in my proposed scenario, moving any bookmark anywhere entails updating two documents: the bookmark itself with its new location (parent uuid and index) and the manifest <aquarius> hang on, just got off a phone call <thisfred> hmm, I would keep the location information in one place only <aquarius> give me five mins to review the scrollback and get tea <thisfred> right <thisfred> awesome <urbanape> the manifest remains a static document representing the current canonical structure. It would be updated after every add, delete, and move (but not on an internal bookmark change (title, uri, &c)) <thisfred> right <thisfred> so a bookmark document itself would not know from location <thisfred> or need to <urbanape> what you proposed would also update two documents: the old parent and the new parent <thisfred> right <urbanape> but not the bookmark itself <thisfred> and that's fine <urbanape> yeah. <urbanape> and in the case of simply reordering a folder, only one document <thisfred> updating two documents is nothing. I'm just saying with the manifest it could be one <urbanape> See, this is what I missed working this out alone. <thisfred> but the benefits of having it be multiple documents outweighs the efficency of updating just one IMO <urbanape> I'm glad I came to my epiphany before I got too much written with JSON diffing libraries, though. Lord what a pain. <urbanape> I'm liking this approach. <urbanape> and we still wouldn't need the manifest, even for the web ui. <thisfred> ok, good, then there's a chance aquarius won't say bollocks <dobey> bbiab, lunch and mobility <urbanape> okay, so, since documents are the change medium <urbanape> a bookmark move is represented by (at most) two folder revisions in the _changes feed <urbanape> a delete and a create <urbanape> I wonder if we'll want to encapsulate that somehow in a higher-level language. <urbanape> that the client can interpret <thisfred> urbanape: actually, two updates (if the folders already exist) <urbanape> right, but only one update if the move was internal to the folder (changing the order of bookmarks) <urbanape> at most, it will ever be two folder updates. <thisfred> pseudocode: folder1.contents.remove(docid); folder2.contents.insert_at(position, docid) <thisfred> yep <urbanape> yes, but we need to recognize that we're not just deleting docid from folder1 <urbanape> we're moving it. <urbanape> maybe <thisfred> well, the docid stays the same <urbanape> maybe it doesn't matter that we'd recreate it from scratch with the same docid. <thisfred> so we can deduce it, if need be <thisfred> if the docids are uuids <urbanape> the order of those events probably matters. <urbanape> oh, duh <urbanape> so the client needs to recognize a move <urbanape> and then it can make the local gesture. <thisfred> not really, because the document isn't modified <thisfred> (re order) <thisfred> so the worst could happen is: temporarily, it's in two folders, or in none <urbanape> yeah, but there's no semantic way in Firefox to have a bookmark be multi-present <urbanape> and there's already a move API. <rtgz> nautilus smb sharing tab is called "Share". In case file is shared using Ubuntu One it is not clear how to "unshare" the folder.. <urbanape> we need to have a way of saying: "If this rev represents the order of the children changing or if this and the next (or previous) represent a bookmark moving from one folder to another: make the move gesture locally" <rtgz> hey, how to unshare the folder from ubuntuone nautilus plugin ? <thisfred> urbanape: ah right <thisfred> so we need to translate _changes to firefox actions. <urbanape> thisfred: which would be easy, if we had that language in a revision annotation <urbanape> yeah <urbanape> which made me wonder about the field-level granularity in _changes <thisfred> simplest is to do the delete and add <thisfred> in that order <thisfred> and not worry about using move, unless this breaks firefox in some way <urbanape> the only thing it might break (and upset some power users) is that it might mess up internal accounting for last visited or number of visits, or something. <thisfred> urbanape: right. If it does, we should store that information in couchdb as well <thisfred> (or perhaps we should do so regardless) <urbanape> yeah, we've not been keep track of it today. <urbanape> to date, rather <urbanape> does batch
{'channel': 'ubuntuone', 'month': 1}