[13:34] <jblount> Morning everyone!
[14:00] <jan____> hi, how is file-storage / file backup handled in the ubuntuone backend? (say I want to create custom client) are there docs I should read?
[14:05] <Chipaca> jan____: less than I would like
[14:05] <Chipaca> jan____: there is the protocol spec, and the clients are free software, and you can ask here
[14:05] <jan____> Is there somebody I can talk to? :)
[14:06] <Chipaca> jan____: me, for starters
[14:06] <Chipaca> if anybody else volunteers, it's up to them :)
[14:06] <jan____> alright, what's the underlying design? something like webdav? or are files managed by ubuntuone-client?
[14:07] <Chipaca> jan____: by underlying design, you mean the protocol?
[14:08] <jan____> Chipaca: more like how the user interacts with the client software and how the client software interacts with the user's system
[14:08] <Chipaca> jan____: I ask because there is no "underlying design" common to the two free software clients in existence
[14:09] <Chipaca> jan____: and webdav has no underlying design of the type you describe, so I don't follow :(
[14:09] <jan____> sorry
[14:09] <jan____> let's start over
[14:09] <Chipaca> me too :)
[14:10] <Chipaca> jan____: let me start
[14:10] <jan____> I already started!
[14:11] <jan____> (just preflight checks, basically) I understand that ubuntuone lets me backup personal files from my ubuntu system. it also syncs contact data and bookmarks, but that I am not interested in, right now.
[14:11] <jan____> is that correct?
[14:11] <Chipaca> ah
[14:11] <Chipaca> those are two different beasts: the file sync is one, contact and bookmarks is another
[14:11] <jan____> that's what I thought
[14:11] <jan____> I'd like to know about the fil sync
[14:11] <Chipaca> at some point they might share more infrastructure (that is the Plan, or was), but for now, no
[14:11] <jan____> (I work on CouchDB, I think I understand the bookmark sync :)
[14:11] <Chipaca> jan____: at the lowest level, the protocol is a binary protobuf protocol, described in protocol.proto, which you can find in the source package for ubuntuone.storageprotocol
[14:12] <Chipaca> jan____: i.e., right now, file sync uses no couchdb at all
[14:12] <jan____> Chipaca: right
[14:13] <Chipaca> jan____: in fact, ubuntuone.storageprotocol is all you theoretically need to write your own client, in your language of choice (as long as it's supported by protobuf)
[14:14] <jan____> I'm more interested in higher level things. Like how the protocol works as opposed to the details of its implementation. Are you basically re-inventing (no offence!) rsync?
[14:14] <Chipaca> no, because rsync has no concept of sharing
[14:15] <Chipaca> and,  also, the protocol doesn't require both ends to be fully synchronized
[14:15] <jan____> right, how does that work with ubuntuone then?
[14:15] <Chipaca> the clients don't implement it (yet!), but you could have a directory partially downloaded
[14:15] <jan____> makes sense
[14:15] <Chipaca> (i.e. only download files smaller than 1M, or whatever)
[14:15] <jan____> sorta like rsync with excludes, but user-friendly :)
[14:16] <Chipaca> ...more or less
[14:16] <Chipaca> also with the ability to throttle or reorder the transfer of data
[14:16] <Chipaca> but that's all done client-side
[14:16] <Chipaca> could you give me an example of "how the protocol works"?
[14:16] <jan____> right, cool.
[14:17] <jan____> hu?
[14:17] <jan____> I don't know how the protocol works :)
[14:17] <jan____> oh
[14:17] <Chipaca> right, but I'm not going to read protocol.proto in english to you :)
[14:17] <Chipaca> and there's not much more to it than that
[14:17] <jan____> I think I now know all I wanted
[14:18] <jan____> or not.
[14:18] <Chipaca> ah, ok :)
[14:18] <dobey> the "protocol" is just some special messages using Google Protocol Buffers
[14:18] <Chipaca> yes
[14:18] <Chipaca> things like
[14:18] <jan____> does the ubuntuclient track changes on on the client's machine or
[14:18] <dobey> the syncdaemon uses inotify to watch for changes to files, yes
[14:18] <jan____> are files placed in a special folder that the u1client maintains?
[14:19] <dobey> u1sync works a bit differently
[14:19] <Chipaca> "get this file/directory", "create this file/directory", etc
[14:20] <jan____> okay, thanks a lot!
[14:20] <Chipaca> jan____: as dobey mentioned, we use inotify in syncdaemon; u1sync works more like ftp
[14:20] <dobey> file watching/etc... are really extra details of how one might implement some extra features on the client side though, and really don't have anything to do with ubuntuone itself
[14:21] <Chipaca> jan____: you could for example write a client that used fuse to do that instead of inotify
[14:21] <jan____> right, got it, that's pretty smart design
[14:22] <jan____> the memcached approach ("I store stuff") and the smarts are in the clients.
[14:22] <dobey> well no, fuse doesn't do file change notification really. you have to implement the inotify stuff on top of your fuse backend, so that inotify queries to your filesystem work correctly
[14:23] <dobey> been there, done that, it's not fun :)
[14:23] <Chipaca> dobey: you're thinking of notifying out from fuse, not getting notifications of file creation from inside fuse :)
[14:23] <Chipaca> dobey: yes, that was why we dropped fuse, wasn't it
[14:25] <dobey> well yes, but you need to send proper notifications back out, so that eg. nautilus will work correctly
[14:25] <dobey> it might work better if done in C, though. not sure
[14:34] <Chipaca> according to a friend who did his thesis with fuse, the problem is the synchronous fuse wrappers, not fuse itself
[14:37] <dobey> you mean the Python bindings? i think there might have also been some issue in the kernel
[14:39] <tcole> hi
[14:39] <tcole> the issue was that the kernel interface provides no way for a fuse filesystem to push inotify notifications back out
[14:40] <tcole> full stop
[15:00] <jblount>  MEETING BEGINS
[15:00] <jblount> A "me" will get you in to this, Monday edition of the Ubuntu One Desktop(+) developers standup. DONE/TODO/BLOCKED is the format, and you get bonus points for witty hand off phrases.
[15:00] <dobey> meh
[15:00] <vds> me
[15:01] <teknico> me
[15:01] <jblount> me
[15:01] <jblount> CardinalFang, urbanape ?
[15:01] <urbanape> me
[15:01] <CardinalFang> me
[15:02] <jblount> dobey: tag
[15:02] <dobey> ☭ DONE: Chat with Martin, Reviews, Lots of bug triage, #376687
[15:02] <dobey> ☭ TODO: UI Hacking, Tarmac AMI
[15:02] <dobey> ☭ BLCK: 1.0a on server side (pending oauth.py upstream 1.0a patch approval)
[15:02] <dobey> vds: ciao
[15:03] <vds> DONE: code review, landed branches to fix some FX production params and finally the snapshot one.
[15:03] <vds> TODO: next branch
[15:03] <vds> teknico: go
[15:03] <teknico> DONE: one week holiday, put the stuff back on the acer notebook because the dell one has been delayed further :-/
[15:03] <teknico> TODO: testing the subscription check when syncing a phone
[15:03] <teknico> BLOCKED: none
[15:03] <teknico> next: jblount
[15:03] <jblount> DONE: Lots of review, a little code.
[15:03] <jblount> TODO: Move a few bugs to new milestone (w15 ended last Friday btw), try to knock some more of the ui into shape for /files/new/, write some javascript to truncate stuff for the interface because firefox is lame
[15:03] <jblount> BLOCKED: Nope.
[15:03] <jblount> urbanape: Oh you delightful monkey, what have you been up to?
[15:03] <urbanape> DONE: So long ago, I don't even remember. Instrumenting the hell out of bindwood, with an optional DEBUG flag that we can turn off to keep console messages from overflowing on a release.
[15:03] <urbanape> TODO: Trying to track down the not-fully-fleshed-out bookmarks getting into Couch.
[15:03] <urbanape> BLOCK: None
[15:03] <urbanape> CardinalFang, the comfy CHAIR!
[15:03] <CardinalFang> No!
[15:03] <CardinalFang> DONE: Finished, hopefully, Spawning and Gwibber desktopcouch patches.  Proposed for merging.
[15:03] <CardinalFang> TODO: Fix Gwibber icon caching bug, necessary for karmic release.
[15:03] <CardinalFang> BLOCKED: None
[15:03] <CardinalFang> jblount, end?
[15:04] <jblount> CardinalFang: cnfrm
[15:04] <jblount> MEETING ENDS
[15:04] <jblount> Thanks everyone, you are the true heroes.
[15:35] <shadeslayer> hey,in KDE whats the command to start the ubuntuone-client?
[15:36] <jblount> shadeslayer: does ubuntuone-client work?
[15:36] <shadeslayer> nope
[15:37]  * shadeslayer wonders if theres a Qt client
[15:37]  * jblount hides because he is out of ideas
[15:37] <jblount> teknico: ping ^^
[15:38] <teknico> jblount, hi :-)
[15:38] <dobey> shadeslayer: we don't have one yet right now. ubuntuone-client-gnome is required
[15:39] <shadeslayer> dobey: but how do i run this client in KDE ?
[15:39] <teknico> shadeslayer, jblount, I use "ubuntuone-client-applet"
[15:39] <joshuahoover> shadeslayer: i've run the ubuntu one client in kubuntu in the past...haven't tried it recently, but it has worked just fine in the past for me
[15:39] <shadeslayer> and why are you guys partial to KDE :)
[15:39] <dobey> shadeslayer: it should be in the menu, and the applet is ubuntuone-client-applet
[15:40] <shadeslayer> dobey: cant find it
[15:40] <dobey> shadeslayer: do you have ubuntuone-client-gnome installed?
[15:40] <shadeslayer> :o
[15:40] <shadeslayer> nope
[15:41] <shadeslayer> still doesnt work :P
[15:41] <dobey> ?
[15:41] <shadeslayer> bash: ubuntuone-client-gnome: command not found
[15:41] <shadeslayer> dobey: i installed bash: ubuntuone-client-gnome: command not found
[15:41] <dobey> shadeslayer: apt-get install ubuntuone-client-gnome
[15:41] <shadeslayer> dobey: i mean i installed the package
[15:42] <shadeslayer> its alreadyt there
[15:42] <dobey> shadeslayer: ok...
[15:42] <dobey> 10:39 < dobey> shadeslayer: it should be in the menu, and the applet is  ubuntuone-client-applet
[15:42] <shadeslayer> dobey: found it
[15:42] <dobey> :)
[15:43] <shadeslayer> w00t
[15:43] <jblount> Hooray!
[15:43]  * jblount pats dobey on the back
[15:44] <shadeslayer> thanks every one :)
[15:44] <shadeslayer> hope you can get a qt client out
[15:44] <teknico> jblount, ehi, no pat for me? ;-P
[15:44] <jblount> teknico: For you too!
[15:44] <dobey> pat.fwd(teknico)
[15:44]  * jblount gives the double pat on the back for teknico 
[15:45] <teknico> jblount, thanks, that's better ;-)
[15:45] <jblount> teknico: I'm right in remembering that your rock KDE on your laptop, yeah?
[15:45] <teknico> jblount, right sir, it's been ten years now :-)
[15:46] <dobey> i used kde about 10 years ago
[15:46] <dobey> actually no, i think it might have been longer than that
[15:46] <jblount> KDE for me is similar to what happened with emacs
[15:47] <jblount> I tried to rock vi for 6 months, then try emacs for 6 months and couldn't do the switch.
[15:47]  * jblount needs more brain-power
[15:48] <teknico> jblount, don't get me started about vi ;-P
[16:27] <jdo> For some reason, I no longer have the menu item Applications > Internet > Ubuntu One...and reinstalling does not resolve this issue (Karmic)
[16:36] <dobey> jdo: you missing ubuntuon-client-gnome?
[16:37] <jdo> dobey, got it
[16:37] <dobey> jdo: it's installed and the menu entry is still missing?
[16:38] <jdo> it's fixed
[16:39] <dobey> ah ok
[17:35] <statik> hello hackers
[17:39] <urbanape> hello, mr. video card
[17:41] <dobey> i wish my ibook would power on
[17:41] <dobey> but alas
[17:49] <jblount> Should we be keeping a list of archs / distros that the client has been successfully used on?
[17:52] <dobey> probably not
[17:53] <jblount> dobey: Any reason to avoid documenting that?
[17:53] <dobey> at least, i probably wouldn't put it on ubuntuone.com... maybe on the wiki.ubuntu.com/UbuntuOne page, or a sub-page of that
[17:54] <jblount> dobey: Yeah, I was thinking of putting it somewhere on the dev.ubuntuone.com site I've been thinking about. Not on the front-facing site. Good thought.
[17:55] <dobey> anywhere on ubuntuone.com, i think we should only list things we actually provide packages for
[17:57] <jblount> I mostly agree.
[20:06] <BUGabundo> boas
[23:10] <sdg> Hi.
[23:10] <sdg> Is Ubuntu One free?
[23:11] <jblount> sdg: There are many different definitions of this word 'free', which one are you talking about?
[23:11] <sdg> jblount: Gratis.
[23:12] <jblount> sdg: There is a gratis and a paid subscription available: https://ubuntuone.com/plans
[23:12] <statik> sdg: all the client and protocol code is open source, there are some closed server bits
[23:12] <sdg> jblount: Yeah, I guess I should read the FAQ.
[23:12] <jblount> sdg: I'm happy to answer questions, dinner is taking a long time in the oven :)
[23:13] <sdg> jblount: And my Karmic installation is taking some time.
[23:13] <sdg> jblount: Would my data be secure with Ubuntu One?
[23:13] <jblount> statik: How secure are we?
[23:14] <statik> sdg: all the data is transmitted securely over SSL, there is a high-priority bug open right now about adding additional levels of encryption in the server side to defend customers against anyone who broken into the servers, and for max security you would encrypt the files yourself before putting them into ubuntu one, i've heard that some people are using encfs
[23:15] <sdg> What is the free storage capacity?
[23:15] <jblount> sdg: 2GB
[23:15] <statik> i gotta run for now, have fun trying it out
[23:16] <sdg> Hmmm I'm thinking of how I can use it.
[23:16] <sdg> It's too small for an online music collection.
[23:16] <sdg> I wouldn't trust it with a backup of my documents.
[23:16] <jblount> sdg: Unless you like really, really, really short songs!
[23:16] <sdg> Unless maybe if I encrypt it myself.
[23:16] <sdg> jblount: I have lots of FLAC music.
[23:17] <sdg> jblount: It'd need to be at least 100GB to serve as an online music collection for me.
[23:17] <jblount> sdg: I'm pushing 120GB at this pint, I feel your pain.
[23:18] <sdg> jblount: I did have quite a few songs, but Musicbrainz Picard couldn't find a perfect match for everything so it filtered 1/3 of my collection.
[23:18] <sdg> But I'm about to acquire lots more music soon enough.