/srv/irclogs.ubuntu.com/2009/12/01/#ubuntuone.txt

thomas_morning people10:43
=== thomas_ is now known as thomasvs
aquariushey thomas10:44
thomasvsaquarius: so my last standing 'bug' is 100% CPU on the applet, just filed that with an strace log10:44
aquariusthomas_, is it your quest to use every possible irc nick? ;-)10:45
thomasvsaquarius: sadly the applet doesn't seem to have a way to give me debug info to figure out what it's doing exactly10:45
thomasvsaquarius: heh :)10:45
thomasvsaquarius: I have three machines I regularly work from, my belgian desktop, my spanish desktop, and my laptop10:45
thomasvsaquarius: hence my interest in desktopcouch I guess :)10:45
aquariusah, hence many names, got it :)10:45
* aquarius laughs!10:45
aquariusyes indeed10:45
aquarius100% CPU, odd. Ah, just got the bug10:46
thomasvsok, I'm going to wait for dobey to wake up for that applet bug before I dig into it myself10:46
thomasvswhich means I"ll wait a bit more on doing the final test on this work desktop, but I just installed all packages and the applet popped up without throwing any error, and directed me to the u1 site, so stuff seems good10:46
thomasvsafter that last bug is fixed I'll make some noise about the final packages10:46
aquariusthe applet is a dobey thing, so he will have a stronger clue than I do10:47
aquariusah, you already know this :O)10:47
aquariuswow, so it's very close to being done. Thumpingly good work, that man :)10:47
thomasvsit's been a ride, but let's not claim victory just yet10:48
thomasvsI should find a machine to upgrade to f-12 too to check10:48
aquariuswhat sort of noise?10:48
thomasvsaquarius: blogging about it, then submitting stuff to fedora's repo10:50
thomasvsI've had quite a few pingbacks on doing this, surprisingly10:50
thomasvsit's almost as if people are interested10:51
thomasvsit feels strangely motivating10:51
aquariusoh, noise to alert people that you've done it, not noise at us about stuff beign wrong ;-)10:51
aquariusI am well pleased that people are interested; I think it's cool tech10:52
aquariusand already bringing it up on Fedora has shown areas where the code needs improving, which is immensely useful10:52
aquariusor where we accidentally did Ubuntu-specific things without knowing it, like the certificate stuff10:52
thomasvsyeah, the hardest part is taking it from 'works on one thing' to 'works on two things'.  from that point on it gets easier.10:57
aquariusI'll remind you of that if ever a Windows port comes along :)10:59
thomasvsheh, well, that's an other thing entirely, but good to see that you at least consider it :)11:00
aquariuscertainly if the archangel Michael arrived and said "here is a diff to make desktopcouch work on Windows too" we wouldn't refuse the patch. I'd like to see DC on Windows/Mac too, definitely, it's just not going to happen in the very near future if I'm doing it. :)11:03
=== JulioNeto is now known as julioneto
aquariusthisfred, you up for a conversation about design documents, or do you want to eat breakfast or something first? :)12:37
thisfredaquarius: in a bit: foundations standup, then shower, so around 8:30 maybe?12:44
aquarius*nod* (about 45 minutes?)12:45
thisfredright12:48
thisfredsry, for being US-centric, it rubs off quickly ;)12:48
thisfredaquarius:: ready when you are13:33
aquariusthisfred, this is actually something brought up by thomasvs. He's publishing CouchApps to his desktopcouch, and wants them on all his other desktopcouches13:34
aquariusbut...you can't write views to couchdb.o.u.c because you're not an admin13:34
aquariusso views don't get synced13:34
aquariusthus, fail13:34
thisfredaquarius: ah, that would be a feature request in couchdb then?13:35
thisfredwe specifically exclude only viws with the u1_ prefix13:36
thisfredweird though13:36
aquariusrly?13:36
thisfredusers are allowed to create and delete dbs13:37
aquariusso I should be able to write a design document to c.o.u.c?13:37
thisfredso creating views should work too13:37
thisfredaquarius: I think so13:37
thisfredas long as it's in one of your dbs13:37
thisfredobviously13:37
aquariusthomasvs says that when replicating, it doesn't replicate design documents. thomasvs?13:37
thisfredthat would be a bug, either in our validators, or in couchdb itself13:38
thisfredreplication by default does take ddocs along right?13:38
aquariusah, good. I wasn't sure whether we were explicitly stomping on design docs :)13:38
thisfredor do we need to flip something to allow that13:39
aquariusdon't you have to be an admin to write a design doc?13:39
aquariusand users are not admins13:39
thisfredaquarius: I don't have it all in my head, but I think we give users (damn near) admin rights in their own namespace13:39
thisfredaquarius: or they wouldn't be able to create dbs either13:39
aquariusI'm not sure exactly why this might not be working, which is why I wanted to make this problem part of your life :-)13:40
thisfredaquarius: I'll have a quick look for any obvious stupidity in the validator function13:40
thisfredme either, but we can find out13:40
thisfredaquarius: we need to ask thomasvs to try direct replication over lan, to eliminate one source of the problem13:41
thisfred(using d-c replication)13:41
aquariusyes13:42
thisfredaquarius: but if it's not that, I think it13:42
thisfreds fair to drop it on my plate13:42
aquariusI am starting to think that we need a proper replication test suite13:42
thisfredfunction(newDoc, oldDoc, userCtx)13:43
thisfred            {if (newDoc._id.indexOf('_design/u1_') == 0)13:43
thisfred                {throw({forbidden : 'system design document'})}}13:43
thisfredaquarius: +1 on that13:43
thisfredthe validator looks fine13:44
aquariusyeah, so that can't be the problem. weird. let's see what thomasvs has to say when he's free13:47
teknicoaquarius, seen mandel?13:56
aquariusnot today, nope13:56
aquariusapparently he has an actual job he has to attend to sometimes :)13:56
teknicohe does? :-)13:57
teknicojust did some more tortur^W reviewing of his branch :-)13:57
dobeyChipaca: hola. you rang?14:00
dobeyhmm14:01
thomasvsaquarius, thisfred: ok, I will doublecheck that it actually doesn't work, maybe I did something wrong.  It makes it harder seeing as I can't actually see what's in my u1 couchdb :)14:13
thomasvsaquarius, thisfred:  I will try the sync on my work desktop as soon as dobey has a solution for the 100% cpu applet thing :)14:13
thisfredthomasvs: yeah, I understand. aquarius is there a reason why we shouldn't publish something like webm0nk3y's web_api tool for debugging purposes?14:15
vdsit's time!15:01
vdsDesktop+ MEETING BEGINS15:01
vdsaquarius Chipaca__ dobey urbanape CardinalFang teknico jblount15:02
teknicome15:02
vdsyou know how it works15:02
vdsme15:02
vdsrodrigo_:15:02
CardinalFangme15:02
jblountme15:02
rodrigo_me15:03
Chipaca__𝗺𝗲15:03
=== Chipaca__ is now known as Chipaca
dobeyme15:03
aquariusme15:03
teknicoDONE: landed the branch updating the Funambol code to v. 8.0 (#403435), reviewed mandel's branch again15:04
teknicoTODO: expose SMS methods in Funambol Server API (#381398), triage my 20 bugs15:04
teknicoBLOCK: none15:04
tekniconext: vds15:04
vdsDONE: funally finished the two branches to port funambol v8 in sourcedeps, tried to start funambol on a random port to make funambol one of the server that starts with make start but no luck, I guess we'll start it only if we need it, triaged bugs, discussed about the status of the mobile sync, started a branch to wrap funambol sms api15:04
vdsTODO: finish the branch15:04
vdsBLOCKED: nope15:04
vdsCardinalFang: please15:04
CardinalFangDONE: reviewed mandel's branch.  Made draft desktopcouch API for attachments.15:05
CardinalFangTODO: throw it away and start over.15:05
CardinalFangBLOCKED: None15:05
CardinalFangjblount, what's for lunch, and your goals?15:05
jblountDONE: Bugs sorted, meetings, post-holiday fuzz worked through15:06
jblountTODO: I have some bugs to deal with on the /files/ ui, ping johnlea about some contacts stuff15:06
jblountBLOCKED: Nope15:06
jblountrodrigo_: !15:06
rodrigo_• DONE: Added couchdb-glib documentation to xdg page. Looked at music store API. Fixed a bug in Evolution contact preview widget. Music store architecture discussions and planning. Contacts picker15:06
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? Talk to John Lea about contacts widget mockup15:06
rodrigo_• BLOCKED: no15:06
rodrigo_Chipaca: go!15:06
ChipacaDONE: lots of emails and meetings. TODO: continue talking about music store, and nail down somebody or somebodies to fix NoAccessToken bugs. BLOCKED: nevah! NEXT: dobey15:06
dobey☺ DONE: Triage, Backporting, Arguing (it builds character, and teams)15:06
dobey☹ TODO: More backporting, Triage, Prepare releases/SRUs15:06
dobey☹ BLCK: None.15:06
dobeyaquarius: hit it15:06
aquarius⚀ DONE: music store planning15:07
aquarius⚁ TODO: look at oauth-enabling twisted; make tomboy first-sync experience nicer; continue work on desktopcouch developer docs; write up things learned at UDS/sprint; work with rodrigo on Music Store, much more music store architecture planning15:07
aquarius⚂ BLOCKED:15:07
aquariuschipaca, go15:07
aquariuser, oops15:07
aquariusnot Chipaca :)15:07
aquariusurbanape, ?15:07
Chipacaaquarius: you were the last 'me'15:09
aquariusI was indeed15:09
vdsso EOM I guess, thanks!15:10
thomastpdobey: let me know if you have time to look at that applet bug15:22
dobeythomastp: it's one of the hundreds of bugs i have to look at i guess, yes :)15:23
thomastpdobey: uh oh :)15:23
thomastpdobey: well, maybe a first feedback would help15:23
thomastpfor example, should the applet have logging ?15:23
dobeyit does, but i don't think it would help here15:24
CardinalFangaquarius, Attachments!15:25
aquariusCardinalFang, I can't send email, smtp.canonical.com keeps timing out :(15:25
dobeythomastp: the stable release only logs INFO and ERROR, and the only way to change it is edit the code to log DEBUG and worse15:25
CardinalFangaquarius, scenarios:  You are making a new record.15:26
dobeythomastp: if you change ubuntuone/oauthdesktop/logger.py to have logging.DEBUG for LOG_LEVEL instead of logging.INFO, you'll get more log messages, but probably nothing particularly relevant to your bug15:26
thomastpdobey: so, you'd accept a patch for example to add an option for that ?15:26
CardinalFangaquarius, r = Record(...); r.attach(f, "name"); db_obj.put_record(r)  ?15:27
aquariusCardinalFang, ya15:28
dobeythomastp: the applet will be going away soon.15:28
CardinalFangaquarius, Next scenario:  you already have a record.15:28
thomastpdobey: oh ?15:29
dobeythomastp: yes, we're going to be fixing the experience to not involve opening a browser, and to be more well integrated into the file manager/etc... and the applet won't exist.15:30
thomastpdobey: ok, so not much point focusing on improving it, and also unlikely you'll look at my bug :)15:30
CardinalFangaquarius, r = dbobj.get_record(record_id); r.attach(f, "name"); ... # then what?  dbobj.update_fields(record_id, d)  does not work.15:30
dobeythomastp: i have a feeling that the 100% cpu thing may very well be something with twisted15:30
CardinalFang"does not work" == "is ugly".15:31
aquariusCardinalFang, er, dbobj.put_record(r), no?15:31
thomastpdobey: me too15:31
aquariusCardinalFang, same as if I change a value15:31
dobeythomastp: well i haven't seen any complaints to that effect about the applet on ubuntu. but i will definitely put a fix for it in stable-1-015:31
CardinalFangaquarius, ah, I guess so.  Hrm.15:32
dobeythomastp: there are some other complaints too, that pulling twisted out of the applet would fix15:32
CardinalFangdobey, quit yer hatin' on Twisted.15:32
aquariusCardinalFang, so, fetch-record, add-attachment-to-record, put-record.15:32
dobeythomastp: does syncdaemon also use up 100% cpu in the same manner?15:32
thomastpdobey: nope15:32
thomastpdobey: I've had twisted+gtkreactor taking 100% cpu bugs before due to a bug in python, I thought I had a fix for that installed, but not sure15:33
dobeyCardinalFang: if it would only stop screwing with the main loop timing...15:33
thomastpdobey: screwing how ?15:34
dobeythomastp: the glib/gtk reactor alters some timing in the glib main loop15:35
dobeythomastp: so it wakes up once every 10 seconds at least15:35
dobeyeven if it doesn't really need to15:35
thomastpevery tenth of a sec you mean ?15:35
thomastpthat's pygtk I think15:35
dobeymaybe 10 times/second yeah15:36
dobeylet me see15:36
thomastpthat would be this bug: https://bugzilla.gnome.org/show_bug.cgi?id=48156915:37
ubottuGnome bug 481569 in gobject "Calling gobject.threads_init() causes a lot of wakeups" [Normal,Resolved: fixed]15:37
dobeybug 47544715:37
ubottuLaunchpad bug 475447 in ubuntuone-client "Ubuntu-One client/syncd cause 10 wake ups / second each" [Undecided,Incomplete] https://launchpad.net/bugs/47544715:37
urbanapeaquarius: sorry, out today watching the sick kid15:38
aquariusurbanape, no problem, I wasn't sure15:38
dobeythomastp: hrmm, interesting15:40
dobeythomastp: but twisted also does stuff15:40
rtgzWhat's the best way to store a date field in CouchDB? seconds-since-epoch, ISO 8601 or application-specific (bad-bad-bad). Empathy uses %Y%m%dT%H:%M:%S which is neither of the above and it looks ugly.15:41
thomastpdobey: what sort of stuff does twisted do that causes issues ?15:42
thomastpmy experience with twisted has been nothing but stellar15:42
dobeythomastp: the gtk2/glib reactor does some stuff with iteration timing15:46
dobeythomastp: see the doIteration and simulate methods in Gtk2Reactor15:47
CardinalFangrtgz, ISO 8601.16:04
CardinalFangrtgz, Empathy's is 8601 except for time zone?16:05
rtgzCardinalFang, it is missing the dashes between y,m and d + missing timezone16:05
rtgzCardinalFang, message time='20091029T18:25:15'16:05
rtgzCardinalFang, erm, it is defined by standard as well...16:06
CardinalFangAh.  Dang.  So close.16:06
CardinalFangrtgz, ah.  right.  """So a time might appear as either "134730" in the basic format or "13:47:30" in the extended format."""16:07
* CardinalFang hugs Wikipedia.16:07
rtgzCardinalFang, The extended formats are preferred over the basic formats not only for human readability, but because some basic formats can appear to be ambiguous to those unfamiliar with the standard.16:07
* rtgz is happy16:07
CardinalFangrtgz, Python datetime.datetime needs a striso8601ptime function.16:10
* CardinalFang wishes he could talk to aquarius.16:12
CardinalFangthisfred, you alive?16:13
thisfredCardinalFang: yessir16:13
CardinalFangthisfred, great.  desktopcouch and attachments.  On Record,  .attach(file, str), .detach(str).  How should we retrieve an attached blob?16:14
CardinalFangI'm trying to think of what's Pythony.16:14
rtgzCardinalFang, isoformat() looks fine to me... and fromtimestamp()...16:15
thisfredfrom the db? record.get_attachment(attachment_id) and have that return a file like object?16:15
CardinalFangthisfred, record doesn't know anything about the db.  It holds data.16:16
CardinalFangdb.get_attachment(record, attachment_name) ?16:17
thisfredCardinalFang: it could defer to a database method get_attachment(record_id, attachment_id)16:17
thisfredexactly :)16:17
thisfredor does it not hold a reference to the db at all?16:18
CardinalFangNone at all.16:18
thisfredIf so, it probably should. I'd like to be able to record.store(id=None) and record.load(id)16:19
thisfredor something16:19
thisfredunless there's a good reason not to have the reference16:19
thisfredI forget16:19
thisfredbut I don't think so16:19
CardinalFangAs it is, thisfred, one could get a record from one place and put it in another place.  We'd lose that.16:20
thisfredIdeally, a developer would not have to instantiate a database object in most cases16:20
* CardinalFang thinks.16:20
thisfredCardinalFang: we could make a copy of the object and change the underlying db16:20
thisfredperhaps16:21
thisfredoh noes, who broke the aquarius?16:21
thisfredCardinalFang: record as is is independent of couchdb, which is kinda nice16:22
thisfredbut probably not all that useful16:22
CardinalFangthisfred, How about this:  When I build a record, fabricate getter functions for those attachments, with the source DB object in the closure.16:25
thisfredCardinalFang: that could work, but it's more complicated than storing a reference to the db, and has no obvious (to me) advantages. I'd store the reference when we get a record from the db, and make the get_attachment method fail if self._db is None or some such16:28
__lucio__aquarius_broken, ping16:28
thisfredthen we could also have self.save(id=None)16:28
thisfredthat would call to the db.store_record() or whatever it's called16:29
CardinalFang"put_record"16:29
thisfredwe are creating a two way dependency between Database and Record, but I think that's ok, since they're in the same package16:29
=== Chipaca_ is now known as Chipaca
thisfredCardinalFang: either way, I'd like to hear aquarius_broken16:30
thisfredon the subject16:30
aquarius_brokenhey16:51
aquarius_brokensorry, stupid web client16:51
aquarius_brokenwhat would you like my opnion on?16:51
aquarius_broken__lucio__: pong16:52
CardinalFangaquarius_broken, thisfred suggests binding Record to CouchDatabase.  One can operate on Record directly and update a source database.16:53
aquarius_brokenI don't think so. I quite like that Records are independent, and you have to explicitly db.put_record to store them16:53
thisfredaquarius_broken: ok, but that means you'll have to do db.get_attachment(record_id, attachment_id) as well16:55
thisfrednot a big problem IMO, but not as pretty as record.get_attachment(attachment_id)16:55
aquarius_brokenwhy?16:55
CardinalFangaquarius_broken, I like that they're separate too, except I'm trying to decide on the best way to get attachments.  I attach() and detach() are on Record.  When we get a record, we don't want to download every attached BLOB so that we do not need the DB any more.16:55
aquarius_brokenI think that record.get_attachment should fetch the attachment when it's asked for16:55
aquarius_brokenagreed, so there's a binding there16:56
rtgzthere is a Russian joke about Chukchi. It states: There was a writers contest in some newspaper and one of the participants was Chukchi. When the editorial staff got to the text they could not understand anything. So they called that Chukchi and asked. "Have you even read the thing you mailed us?". And the response was "No, chukcha is writer, chuckchi is not reader".16:56
thisfredaquarius_broken: for that it needs a reference to the db16:56
aquarius_brokenbut basically a Record stores a reference to its attachments16:56
aquarius_brokenand then lazily fetches them on demand16:56
aquarius_brokenI admit that this slightly breaks the "be independent" thing16:56
* rtgz finished the prototype for Telepathy messages stored in CouchDB, Text only. Now he needs to find out how to read things back in a user-friendly fashion16:56
__lucio__aquarius_broken, do you have enough internet so we can discuss file sharing as a content delivery platform?16:56
CardinalFangaquarius_broken, thisfred, give me a while and I'll show you an idea implementation.16:56
aquarius_brokenbut we're only stepping away from that for performance reasons; think of this as a performance optimisation16:56
aquarius_broken__lucio__: I do, I think, as long as it's here16:57
aquarius_broken__lucio__: I can only get web access, and freenode has the web client16:57
thisfredCardinalFang: ok16:57
aquarius_brokenI hate my life, incidentally, in case it wasn't clear16:57
CardinalFangaquarius_broken, who's your Intertubes provider?16:57
CardinalFang...normally?16:58
__lucio__aquarius_broken, ok. so, i think that doing that with file sharing is interesting. but id like to have a bigger idea before we so one implementation. statik gave me a list of possible uses of content distribution16:58
aquarius_brokenCardinalFang: Virgin Media16:58
aquarius_broken__lucio__: yep16:58
__lucio__aquarius_broken, would we make all of this work around UDFs? whats the best user experience we can think of?16:58
statikbest user experience I can think of is music into ~Ubuntu One/Purchased Music or ~/Music/Purchased, and make rythymbox automatically notice music there16:59
aquarius_broken__lucio__: the best user experience *I* can think of is that clicking a song downloads it in the background; when it's downloaded it appears in your music library in yoru music player; songs are actually stored in a folder inside your current music library folder called "Ubuntu One Purchased Music", and that folder is a UDF17:00
statik~/Ubuntu One/Purchase Music is perhaps better because it makes it clear that the music is consuming storage quota, and that the user can copy music out17:00
statikto stop it being synced17:00
=== Chipaca` is now known as Chipaca
__lucio__aquarius_broken, what kind of notifications would the user get? general "file download" notification? or something better? like "you have finished downloading the album XYZ"?17:01
aquarius_brokenstatik: that's what emblems are for, though. If we think that people will be confused or not understand which folders are synced, then we need to solve that problem17:01
aquarius_brokenstatik: in order for UDFs to be acceptable17:01
statiksure17:01
__lucio__statik, i dont like magic folders inside ~/ubuntuone17:01
dobey:-/17:02
statikCardinalFang just started talking about bittorrent17:02
aquarius_broken__lucio__: the way I'm imagining it working is that when you buy a song, you'll be shown, inside the music player, which songs you've recently purchased and whether they're downloaded or not (so there'll be an "in progress downloading" page, much the same as Software Centre has an "In Progress" page, so we're consistent with them)17:02
Chipaca__lucio__: question: can we create a share owned and shared to the same person?17:02
statikalso i promised popey that we would give him free music17:03
statik:D17:03
__lucio__aquarius_broken, so, how would the music store know which files are actually the ones that are being downloaded?17:03
CardinalFangI like re-using syncdaemon code to download music.  I hate that it has anything to do with my ~/Ubuntu\ One directory.17:04
__lucio__aquarius_broken, do we do one UDF per song, per album, per purchase, for all the purchased music?17:04
jblountstatik: fabsh wants music too: http://twitter.com/fabsh/status/622944264417:04
aquarius_brokenbecause it knows which ones you chose, so it can look in the folder and see if they're there yet.17:04
__lucio__Chipaca, you dirty thing17:04
aquarius_broken__lucio__: I think your Purchased Music folder is a UDF17:04
Chipacayour honor, he's not answering my question17:05
__lucio__Chipaca, yes we can. it may have some side effects we have to hunt and kill.17:05
Chipaca__lucio__: correct me if I'm wrong, but wouldn't that be a quick-and-dirty non-documented way of getting a UDF?17:06
__lucio__Chipaca, that means that it will use double the disk space17:06
__lucio__Chipaca, and the location would be ~/Ubuntu One/Shared With Me/My Purchased Music17:06
Chipacahmmm17:06
* rodrigo_ needs to get out for a little bit, will follow the discussion from the log17:07
dobeyyeah, must go get food and do some errands17:07
CardinalFangLunch.  Back to yell about music in 1h.17:08
__lucio__aquarius_broken, we need soemthing better. when you install apps you have units that are bigger than single files, whole apps. so if i buy a disk, i dont want to follow every single file to know if it finished downloading.17:10
aquarius_broken__lucio__: yeah, but songs aren't like that.17:11
aquarius_brokenyou buy a song, it's a song.17:11
joshuahooverCardinalFang: should bug 442120 be fix released for the desktopcouch project (i assume it should be since it's fix released on the package/karmic)17:13
ubottuLaunchpad bug 442120 in desktopcouch "desktopcouch-service crashed with RuntimeError in find_port__linux()" [High,Fix released] https://launchpad.net/bugs/44212017:13
__lucio__aquarius_broken, albums are.17:14
aquarius_brokenso? look at, for prior art, the existing Amazon MP3 downloader; it shows you download progress per song, even if you buy an album.17:14
aquarius_brokenIf what you want is download progress for the whole album at once, that's not hard to do.17:15
__lucio__aquarius_broken, we could just change what we show client side. the downloads in progress already is code we have to do, right?17:17
__lucio__so we can have specific messages and everything appropriate for content delivery17:17
aquarius_broken__lucio__: yeah, but it's almost entirely trivial code. (for file in things_downloading: if os.path.exists(file): print "done"; else: print "waiting")17:18
aquarius_brokenand it can certainly be done with more detail than that if you want17:18
aquarius_brokenI'm just thinking about the minimum requirements here17:18
* rtgz posted http://blog.rtg.in.ua/2009/12/telepathy-logging-to-couchdb.html17:19
__lucio__aquarius_broken, you can use dbus and give better information17:19
__lucio__aquarius_broken, but yes, we can give whatever user experience we want as long as the music store app knows what files make each item/purchase17:19
aquarius_broken__lucio__: absolutely, and that'd be really good :)17:20
aquarius_broken__lucio__: and it will know17:20
__lucio__aquarius_broken, so, if we put stuff in ~/Ubuntu One/The music i paid for/ , what happens when we have UDFs? How do we get that into rhythmbox?17:22
__lucio__aquarius_broken, what if a user with a netbook wants to buy gigabytes of music?17:22
aquarius_broken__lucio__: ah, that's still to be decided. What *I* think is that we create a "Purchased Music" folder which is a subfolder of your music library folder (~/Music by default) and we make Purchased Music a UDF.17:23
aquarius_brokenusers with a netbook: what about them? That's no different to the case of "what if a user with a netbook wants to store 50GB of OpenOffice documents in U1", is it?17:23
__lucio__aquarius_broken, theres is real risk that we cant do UDFs for lucid.17:23
aquarius_broken__lucio__: yep, so if UDFs don't arrive then the folder is ~/Ubuntu One/My Purchased Music, and we add a symlink to that folder to the music library. A better solution would be to teach media players about multiple library folders, but I think that will be hard.17:24
__lucio__aquarius_broken, how about migration then?17:24
aquarius_brokenmigration?17:24
aquarius_brokenrtgz: sweet empathy work! I have a couple of questions about it once we've finished this discussion, if you have time later?17:25
aquarius_broken__lucio__: do you mean: if we set up that symlink for Lucid users, and then we get UDFs in lucid+1, should we make the folder a UDF automatically?17:27
aquarius_broken__lucio__: if so, I think no. Since at the moment we don't detect if someone's changed ~/Documents to be a symlink to ~/Ubuntu One/documents so they get their docs synced, we shouldn't try and be cleverer than that for music.17:28
__lucio__aquarius_broken, ok. what about the "content delivery api", is that a public api? internal api? is the serive just "give X to Y"? do we do it just because we dont want to touch the music store pprivate api? what exactly the benefit it gives to each party?17:30
aquarius_brokenthere isn't a "content delivery API". We have the ability, on the one.ubuntu.com server, to add new files to a user's Ubuntu One folder if they ask for them somehow (by purchasing some music from our music store, for example)17:31
aquarius_brokenthe benefits it gives for users are: they already understand Ubuntu One and how its files work; this is an extension of that. It means that things that they get from Ubuntu One are automatically Ubuntu One data, which means they'll act like other data they've put in Ubuntu One. It provides a consistent home and experience for all dealings with Ubuntu One services.17:32
aquarius_brokenBenefits it provides for us, the U1 team: we've already spent ages building a way of getting files from o.u.c to desktops, which is robust and clever and can cope with your net connection being flaky or limited bandwidth, so we're using it again rather than building a new thing which will *also* have to cope with those things17:33
rtgzaquarius_broken, sure17:35
__lucio__aquarius_broken, there is an api, i wont let you get your hands on the model code and just touch the db :)17:38
aquarius_broken__lucio__: ah, right, yeah, but that API will be called by code in the server from the web, it's not exposed as an actual API to the outside world. :)17:39
aquarius_broken__lucio__: I wasn;t planning on just writing sql, promise ;)17:39
__lucio__aquarius_broken, maybe its just the controller, and you have to take care yourself about getting stuff into s317:40
aquarius_broken__lucio__: yeah. I haven't thought massively about the exact detail of how that'll work yet17:41
__lucio__aquarius_broken, re: we still have to build something to get files from the store provider. so whoever does that can put them on s3 i imagine.17:43
aquarius_broken__lucio__: yeah, that, to be honest, sounds reasonable, although reusing the existing put-files-on-s3 code as much as possible would be good17:43
__lucio__aquarius_broken, it can be as easy as some_s3_lib.put(storage_key, content) m but it gets a bit more complex when you want streaming, resumes, etc17:46
aquarius_broken__lucio__: yeah. I don't know anything about the existing code that does this stuff, but obviously I am going to need to :-)17:46
__lucio__aquarius_broken, welcome to twisted17:47
aquarius_brokenyay17:47
aquarius_brokenbut my love for twisted aside, does the plan make a bit more sense now? SOrry if I didn't explain this in enough detail before :)17:50
aquarius_broken__lucio__: and does that cover your worry that syncdaemon wasn't right for the job?17:52
__lucio__aquarius_broken, yes, i like it now. i worry that the user experience may get a bit complex or we fail to provide good information to the user. but thats back to your field17:54
aquarius_broken___lucio__: I spend all day and night thinking about that, don't worry :)17:56
aquarius_broken___lucio__: so if it turns out rubbish after all, you can blame me, and then you can shoot me.17:56
__lucio__aquarius_broken, i only care about the shooring17:56
__lucio__shooting17:56
aquarius_broken___lucio__: haha! bring it on. I saw you with the handgun at UDS :)17:57
__lucio__:)17:58
aquarius_broken_right, good, I'm glad your worries have been alleviated :)17:59
__lucio__aquarius_broken_, but seriously, please think hard on how you are going to make sure we can provide enough information and still give a good ux. for example: having syncdaemon say "finished syncing" and the music store say "songs downloaded" at the same time may not be the best thing17:59
aquarius_broken_absolutely agreed18:00
aquarius_broken_I'm still mulling over how to indicate song download completion18:03
Chipaca__lucio__: you mean via notifications?18:03
aquarius_broken_need to prototype a couple of things, perhaps :)18:03
Chipacabecause syncdaemon notifications for success are going away18:03
aquarius_broken_indeed they are18:04
aquarius_broken_and I'm not sure I want to replace them with music-store notifications for success :)18:04
__lucio__Chipaca, whatever we show the user18:04
aquarius_broken_instead, I think the download progress page should do it18:05
aquarius_broken_but I need to prototype that just so people know what I'm talking about :)18:05
__lucio__Chipaca, no more: "you have X new files"?18:05
Chipaca__lucio__: yes, no more "downloaded 2156 of 1346563456678865"18:05
__lucio__Chipaca, what about "you have X new files"? its not the same18:07
Chipaca__lucio__: nope, sorry18:08
__lucio__Chipaca, why?18:09
Chipaca__lucio__: design says they suck (and I tend to agree)18:10
__lucio__Chipaca, design said we had to have them18:10
Chipacahmmm18:10
* aquarius_broken_ shows his trying-to-look-surprised face :)18:11
Chipaca__lucio__: when was that?18:11
__lucio__Chipaca, before karmic18:11
Chipaca__lucio__: give me a second18:12
Chipaca__lucio__: do you really want to read the spec?18:12
__lucio__Chipaca, will it give me more info apart from "notifications are sooooo last year"?18:13
* Chipaca reads18:14
Chipaca__lucio__: no18:14
__lucio__Chipaca, oh, well. your problem :)18:15
Chipaca__lucio__: yes18:15
Chipacajohn__: ping18:15
john__Chipaca, Hi18:17
Chipacajohn__: are _all_ u1 notifications going out?18:17
Chipacajohn__: I mean, in the spec as "we won't do this anymore"18:18
Chipacajohn__: if so, we'd like to know why; last year we had to put them in, so it would good if we could know the rationale18:19
john__I would also like to know the rationale as to why they were added last year ;-)18:19
Chipacajohn__: otherwise it would just sit there doing nothing18:20
Chipacathe notifications were actually welcomed, in general, even if they aren't 100% accurate some of the time18:21
john__one sec...18:21
john__Ubuntu One should not issue notifications in direct response the user's own actions. If a user has just saved a file, they don't need to be told that the file is synced. If the file fails to sync the user should be alerted to the error however this is a separate discussion.18:22
john__Ideally notifications should be issued when another user updates a file that the current user has access to (both when they have shared the file and when the file is shared with them). This is a means by which the user can receive situational awareness of other users interactions with data that falls within his or her scope. This is functionality is one element of a possible events framework that is not currently in scope18:22
john__basically we should not issue notification in direct response to a users own actions18:22
Chipacajohn__: and if a user needs to know if a file is sync'ed before, say, unplugging and going home?18:23
Chipacajohn__: we do notify them when they turned the music up, how is this different?18:24
john__The user should be able to check that the sync is complete if they need to, but we shouldn't push notifications continuously in response to user actions.  Knowing if the computer is currently: In sync, syncing or disconnected can be perhaps handled differently.18:25
aquarius_broken_Chipaca: isn't this what the emblems are for?18:25
aquarius_broken_Chipaca: files/folders that are partially synced have the partial emblem18:26
rtgzaquarius_broken_, Chipaca the users are not going to dive into their directories to find out whether a particular file is synced or not18:26
aquarius_broken_rtgz: but the notifications don't help with that either18:27
rtgzaquarius_broken_, if the bubble said "the files are synced" then I believe it. If I put a file into the directory and nothing tells me it is synced then it is not synced probably. And if I put the whole directory structure then I don't see infdividual emblems. It's not like remote nfs/sftp/smb connection when files are 'there' when they appear 'there'...18:29
thisfredbbiab, dogwalk18:30
john__Chipaca, good question.  I think the answer is historical and that it is the expected behaviour from TVs etc..  There is also the difference between a single purpose wigit where the user is adjusting a single parameter  and reporting more complex interactions which do not solely involve the changing of a parameter.  I think this needs to be articulated more clearly.18:30
aquarius_broken_rtgz: yeah, but a folder which is partially synced should have the partial emblem on18:30
rtgzsomething like 'current tasks' like in the Software Store...18:30
rtgz* Ubuntu Software Center18:31
john__aquarius_broken_: agree18:32
aquarius_broken_rtgz: wanna talk about the empathy thing? (great work on that, btw!)18:32
rtgzaquarius_broken_, erm, am I too boring regarding the notifications? :)18:32
aquarius_broken_rtgz: not at all, if you're staying involved in that discussion then I can wait :)18:33
dobeyhrmm18:34
rtgzaquarius_broken_, okay, so, re: empathy, telepathy and im logging. Currently only single user chats are implemented, it requires PPA version of mission-control.18:34
aquarius_broken_rtgz: you're storing details of chats, yes?18:35
dobeyarguing about notifications?18:35
aquarius_broken_rtgz: so it's not actually specific to empathy? pidgin could use it too, for example?18:35
rtgzaquarius_broken_, the main questions as I see it at the moment is how to DISABLE logging for particular conversation since Telepathy does not provide anything of such kind. Empathy guys added a gconf entry globally enabling/disabling the logging but it is weird for an external logger to peek into gconf for Empathy to find out the setting18:36
rtgzaquarius_broken_, it is Telepathy-specific client listening to DBus messages and reacting when telepathy sends notifications about new channels (new chats)18:37
aquarius_broken_rtgz: ah, sorry, I wasn't clear. YOur client is Empathy-specific, certainly. But if Pidgin decided to store its logs in desktopcouch, it could use the same record format, yes?18:37
dobeyjohn__: if you want to know why they were added, ask beuno/djsiegel18:38
artirhey, do you know if it's possible to have a U1 app you can feed with a string i.e. "chromium-browse,xmoto" and get that installed across all your computers?18:38
rtgzaquarius_broken_, the actual format for this record type is simply {  "_id": "e9db6404d7970a7869c00381f3c845b3", "_rev": "1-631d84ba5af857958138fef0666d66da",  "from": "en2pl@bot.talk.google.com",  "to": "roman.yepishev@gmail.com", "record_type": "http://www.rtg.in.ua/empathy-im-couchdb",  "time": "2009-12-01T20:15:46", "protocol": "jabber",  "message": "Bot Szanowni Państwo, let's chat!"}18:39
dobeyartir: no. but you could write a simple shell script to do it with ssh and apt-get18:39
artirdobey: and if my computer is out of my local network?18:40
artirand i don't want to have it on :)18:40
artiri waws thinking of storing the string in a desktopcouch, which gets replicated and then parse the string with python and install that (the program would need to run as root)18:40
rtgzaquarius_broken_, script snapshot: http://paste.ubuntu.com/332530/18:40
aquarius_broken_rtgz: yep, that's what I thought, so that'd work fine if pidgin wanted to store their logs too. So...could I suggest that you change the record type to be something more neutral? One of the things I want to do is to encourage different apps to collaborate by using the same record type for things18:41
aquarius_broken_rtgz: it'd be great if pidgin stored logs and then when I switched to empathy all the logs were still readable by empathy18:41
rtgzaquarius_broken_, sure, the main part was to find out how to get the data from telepathy, not how to put it into the CouchDB :)18:41
=== artir is now known as RainCT_
aquarius_broken_rtgz: yes indeed -- the bit I'm most impressed with is that you got the data from telepathy, but the bit I'm most concerned about being right is how it goes into desktopcouch ;-018:42
=== RainCT_ is now known as artir
dobeyjohn__: https://wiki.ubuntu.com/UbuntuOne/KarmicClient18:43
aquarius_broken_rtgz: also, it's a really good idea if the record_type URL actually points to a page which describes the record_type (some notes ni human-readable format are fine; it doesn't have to be a schema or anything)18:43
aquarius_broken_rtgz: although I note that you have a page there which says "see the blog", which is good :)18:44
aquarius_broken_rtgz: record types don't have to be defined at freedesktop -- they can be any URL18:44
aquarius_broken_rtgz: there's no "official register" or anything :)18:44
rtgzaquarius_broken_, Basically we need from, to, date and them message itself. However this list has to be extended for protocol, or account, etc. since there may be 31313 icq display name and... no idea who else wants to have such id in another network, but they are able.18:45
aquarius_broken_rtgz: yeah; you'll almost certainly want some indication of which protocol it was, I think?18:46
rtgzaquarius_broken_, They should be at freedesktop, cause telepathy is part of freedesktop, desktopcouch is part of freedesktop and I don't like that google site :)18:46
* aquarius_broken_ laughs18:47
rtgzaquarius_broken_, I suspect that the logs are of no use if nothing can read them so it is necessary to create a log reader that reads directly from couchdb and see what bits are missing18:47
aquarius_broken_rtgz: it would be good to bring up the format on the desktopcouch mailing list for discussion, perhaps, and mention it to a pidgin developer or amsn developer to get their thoughts into the discussion?18:47
rtgzaquarius_broken_, the guys at #telepathy had an idea to finally create external logger/framework some week or two ago (the only existing external logger so far is in Nokia's Maemo)18:49
aquarius_broken_cool!18:50
aquarius_broken_your work would be an excellent demonstration of that :)18:50
rtgzaquarius_broken_, ... and the fact that it will not work in karmic default install18:50
aquarius_broken_?18:51
aquarius_broken_won't it?18:51
aquarius_broken_oh, you mean because the telepathy logger stuff won't be there, right18:51
aquarius_broken_I thought you meant that desktopcouch was broken :)18:51
rtgzaquarius_broken_, the mission-control shipped with carmic has a bug preventing new channel notification if you were the one who originated the chat :(18:52
aquarius_broken_:(18:52
* rtgz either writes karmic or karmik, not carmic o_O...18:52
rtgzaquarius_broken_, so there is a PPA containing the updated mission-control18:53
rtgzaquarius_broken_, *whispering* actually it is possible to obtain all info w/o updates simply by sitting and listening to DBus traffic but they discouraged me from doing that :)18:54
* aquarius_broken_ laughs! yeah, probably best to do it the proper way :)18:55
rtgzokay, went searching for desktopcouch mailing list, pidgin and amsn...18:58
rtgzhey, we have gajim as well!18:58
aquarius_broken_:)19:02
rtgzaquarius_broken_, and they have really started doing things - #telepathy - http://telepathy.freedesktop.org/wiki/Logger19:07
thisfredback19:24
=== verterok is now known as hal
=== hal is now known as verterok
=== rtgz is now known as hal
=== hal is now known as DeviceKit
=== DeviceKit is now known as rtgz
BookmanI am having issues on every machine I have with Ubuntu One.  It does not seems to connect at all.  And on one machine, it has never synced up at all.  On another one, it used to sync up until around 10 November.  On another one, it used to sync up until a couple of days ago.19:54
BookmanIs this project dead?19:54
nessitaBookman: hi there19:54
nessitaBookman: not at all, we're working a lot on it.19:55
nessitaBookman: could you please paste in pastebin.com the config files you have? you ca find those at19:55
BookmanFrom all 5 machines?19:55
nessita~/.config/ubuntuone/syncdaemon.conf19:55
nessitaBookman: let's start with one :-)19:56
rtgzBookman, can you run the diagnostic script? just to make sure we are not searching for the needle that can be found by the script itself?19:56
rtgzBookman, wget http://ubuntuone-client-diagnose.googlecode.com/svn/trunk/ubuntuone-client-diagnose.py19:56
rtgzBookman, python ubuntuone-client-diagnose.py19:56
BookmanOk, I can only answer one thing at a time here.19:56
Bookmannessita, There is no file there with the name syncdaemon.conf19:58
nessitaBookman: ok, then run the script rtgz mentioned :-)19:59
BookmanOk, problem solved.  It does not work with anything other than NetworkManager.20:01
BookmanI cannot run that because it does not work with DSL modems anymore.  Since 9.1020:01
rtgzBookman, the PPA version contains the fix that ignores NetworkManager if it is not present20:02
rtgzBookman, however, the DSL problem is a bit weird, the NM contains the DSL tab, at least :/20:03
BookmanYes it sure does, but it does not connect to it20:03
BookmanReally broken20:04
BookmanIt caused me so many headaches...and still is aparently.20:04
BookmanThere is some work around but I'm not interested in work arounds.  They are a whole lot more work20:04
BookmanOk, a whole lot of stuff to read on that bug link but I'm still not sure what to do witht he PPA20:10
BookmanOk, never mind.  I'm going to switch back to Dropbox company wide.  Just easier and it works.  Maybe 10.04 will be better integrated.20:14
BookmanThanks for trying though!  I appreciate the timely response.20:14
rtgzBookman, Visit this link https://launchpad.net/~ubuntuone/+archive/beta and add it to your software sources20:14
rtgzBookman, then do the regular system update.20:15
CardinalFangBookman, yes, Ubuntu One still depends on Network Manager.  Your real bug is with Network Manager not supporting DSL properly.  It should.  That is its job.  We have a soft plan to make the synch service work without availability notifications from the manager of the network, but it is not (afaik) implemented yet.20:18
BookmanCardinalFang, Understood and not a problem.  Dropbox will work for now.20:20
dobeyCardinalFang: yes it is20:20
dobey(implemented)20:20
CardinalFangrawk.20:20
dobeyit's implemented in the code in karmic, but there was a bug20:20
dobeyand getting SRUs done isn't trivial, but the fix is in trunk and the beta PPA already20:20
CardinalFangdobey, good to know.  Okay, Bookman, try again in two weeks, or try our PPA.  (In terminal "sudo add-apt-repository ppa:ubuntuone/beta; apt-get update")20:24
BookmanCardinalFang, I will wait for 10.04.20:24
CardinalFangBookman, Okay.  Bye.20:25
* rtgz wishes he had a DSL connection for all sorts of NM testing after he was bitten by dial-up-not-supported in 8.10...20:49
rtgzokay, desktopcouch mailing list notified, pidgin is on hold until the managers approve my posting :(20:50
BookmanOk, from a users prospective, I just re-installed Dropbox and no issues at all.  You need to really copy this model.  Actually it works so well I'm not sure I understand why you are.22:55
BookmanSpend your time developing something else.  Something not done yet.22:57
BookmanI've seen my dropbox solution to ubuntu one over and over and over again on the web.23:11
rtgzsad23:17
rtgzI guess I'll need to add the real fix() in u1-diagnose for NM problem advising immediate u1 ppa register and update. Otherwise... I have to the bugreport queue and pretty much of the bugs reported are duplicates of known problems with fixes around the corner...23:23
rtgzAnd, btw, the bug #387308 is strange. Is storageprotocol/proxy_tunnel.py that far from completion?23:26
rtgzOn behalf of ubottu: https://bugs.launchpad.net/ubuntuone-client/+bug/387308 [Wishlist] Proxy Support23:27
* rtgz stops being sad and goes to bed. Bye!23:28

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