[08:50] <leoquant> !connection
[14:41] <tcole> Good morning
[14:41] <tcole> how's everyone doing today?
[14:46] <artir> \o/
[15:06] <tcole> pretty quiet in here
[15:07] <tcole> everyone still waiting on invites?
[15:07] <tcole> invite processing should speed up soon, but at present we're still turning the crank very slowly
[15:07] <tcole> trying to avoid scaling too quickly and being the next twitter :)
[15:22] <gnomefreak> invite?
[15:22] <tcole> invitations, for the service
[15:22] <gnomefreak> oh i didnt think it was needed. Unless the email i got was the invite when it first surfaced
[15:26]  * artir wants access to the API :)
[15:28] <tcole> which API did you have in mind?
[15:30] <tcole> (is what you're looking for not available in the ubuntuone-client package?)
[15:47] <artir> i want to do something like
[15:47] <artir> import ubuntuone
[15:48] <artir> and after init sth, do self=ubuntuone.get_items()
[15:48] <artir> print self
[15:48] <artir> or stuff like that
[15:48] <artir> or ubuntuone.push("/home/lol/cheese.png")
[15:55] <lamalex> i like that you have a user named lol
[15:55] <artir> of course
[15:55] <artir> who doesn't? :P
[15:56] <greg-g> o/
[16:00] <artir> greg-g: check your /home
[16:00] <artir> there is a hidden lol user put there by canonical
[16:01] <artir> nobody can see it, not even root
[16:01] <artir> it's part of their plan to take over the world, nothing bad at all :)
[16:01] <greg-g> artir: then how am I supposed to find it? :)
[16:02] <artir> you can't mwahahaha
[16:03] <tcole> so really a simplified wrapper API on top of the raw API
[16:04] <artir> canonical will probably release it for the OSCON conference
[16:04] <artir> it think
[16:04] <tcole> release what?
[16:10] <dobey> uhm. well
[16:10] <dobey> ubuntuone-storage-protocol /is/ that api
[16:11] <dobey> there will be additional APIs for new services as they are necessary and added, though
[16:12] <tcole> well, it isn't really
[16:12] <tcole> it's not that easy to use
[16:12] <tcole> but it is the raw API
[16:13] <dobey> well, it's not trivial. but ubuntuone.push() could mean a vast number of things for ubuntu one. (and i don't see how for the storage service, it would be any different than just moving a file into the My Files directory)
[16:14] <tcole> that assumes you can run the syncdaemon, or want to
[16:15] <tcole> anyway, anyone can use the API we have now
[16:15] <tcole> but I do maintain that it needs a nicer wrapper on it so it is easier to use
[16:17] <dobey> i really wish fuse wasn't awful
[16:18] <tcole> indeed
[16:18] <tcole> boxbot is terrible
[16:19] <dobey> what is boxbot?
[16:21] <tcole> nobody likes boxbot
[16:21] <tcole> http://www.gunnerkrigg.com/archive_page.php?comicID=205
[18:55] <toros> I see we have an unshare feature \o/
[18:55] <toros> thank you guys!
[18:59] <tcole> we're slowly getting there :)
[19:00] <tcole> (and you're welcome)
[20:41] <sladen> wii #ubuntuone
[20:42] <sladen> Could somebody assist me in getting a general overview of u1 and how it fits together
[20:42] <sladen> The first thing I'm after are the clear names for the separate componets/layers
[20:43] <sladen> Rather than just "Ubuntu One"
[20:47] <tcole> hm
[20:47] <tcole> well
[20:47] <tcole> Ubuntu One is destined to be a suite of services
[20:47] <tcole> the only one currently on offer is the dropbox-like file storage + sharing
[20:47] <tcole> but more are in development
[20:47] <tcole> for the storage service in particular
[20:48] <dobey> i think he's looking for clear definition between "suite of services" and "what those services are"
[20:48] <dobey> ie, during the CC meeting, there was lots of confused discussion about "what is the platform" and "what are the services"
[20:48] <dobey> because they are all "Ubuntu One"
[20:48] <tcole> hm, I'm not even sure how to answer that really
[20:49] <tcole> there are several different ways to categorize things depending on what perspective you're coming from
[20:50] <tcole> I mean, as a developer, I know how I'd split up the components/layers
[20:50] <tcole> but that may not be what you're asking?
[20:50] <BUGabundo> guud evening
[20:51] <dobey> hi BUGabundo
[20:51] <dobey> BUGabundo: i got the weight conversion backwards. the u820 is about 0.8KG
[20:51] <dobey> Kg even
[20:52] <BUGabundo> you know
[20:52] <sladen> tcole: dobey:  okay, so you specifically mentioned the dropbox-like functionality.  When you're drinking coffee next to the water cooling, how do you verbally refer to that 'corner'
[20:52] <BUGabundo> I read it on identica, and already knew you were wrong
[20:52] <BUGabundo> lol
[20:52] <tcole> sladen: storage
[20:52] <dobey> sladen: 'storage'
[20:53] <dobey> BUGabundo: i just got it backwards, but eh
[20:53] <sladen> what a boring name.  (Thank you for the clear answer though).
[20:54] <tcole> the code name was hammertime
[20:54] <sladen> tcole: that's precisely the answer I'm looking for
[20:54] <tcole> we don't call it that now though
[20:54] <dobey> well, storage is storage
[20:54] <BUGabundo> I'm just waiting for the *extra* features
[20:55] <dobey> if we implemented chat, we'd call it chat, not storage :)
[20:55] <BUGabundo> right now, I don't see U1 being more then a poor Dropbox clone
[20:55] <sladen> it helps to have an arbitary term to refer to 'X' that is not 'X' and therefore would not occur in general conversation when talking the generic implemetnation of Xs
[20:56] <dobey> well, it's 'ubuntu one storage' then
[20:56] <sladen> BUGabundo: I don't.  But such confusion occurs when there is only one application, one protocol, one server and one implementatino of each of those
[20:56] <dobey> dropbox works ok as 'dropbox' because they only do one service
[20:56] <BUGabundo> yep
[20:56] <BUGabundo> and they do it darn *good*
[20:56] <tcole> we actually used to have the opposite problem with Launchpad
[20:56] <tcole> we gave everything individual product names
[20:56] <BUGabundo> of course they have been longer doing it
[20:57] <dobey> and i remember everyone used to call 'evolution' "ximian" :(
[20:57] <tcole> and then nobody knew what things were
[20:57] <tcole> so eventually it just became Launchpad code, Launchpad bugs, etc...
[20:57] <sladen> BUGabundo: if you think back to the introduction of "remixes" for Ubuntu diverivatives, lots of people (journalists) got confused and saw 'remix' as the brandname for the first example (Netbook _Remix_) because there was only one
[20:58] <sladen> tcole: dobey: I've filed several bugs at  https://launchpad.net/ubunet/  because that's where I came across the first bug report
[20:58] <sladen> which "bit" is 'ubunet'
[20:59] <tcole> that's a private project for backend stuff basically
[20:59] <BUGabundo> sladen: yeah I remember that
[20:59] <dobey> ubunet is the server and is only temporarily ubunet. we'll be renaming it soon
[20:59] <tcole> any user-visible things are associated with ubuntuone-client, including the web UI
[20:59] <BUGabundo> but ppl do mixed up OS with Distro too... but that OT here
[20:59] <sladen> tcole: so ubunet is the implementation of a $something server
[20:59] <tcole> well, no
[20:59] <dobey> BUGabundo: yes, people just say 'that linux thang' and have no idea which distro they mean
[20:59] <BUGabundo> sladen: I have the same prob! I'm not sure what is what, and where to file bug for each
[21:00] <tcole> it's really a blanket for all the backend stuff for all the services
[21:00] <BUGabundo> dobey: they say "that DOS thingy"
[21:00] <sladen> tcole: is ubunet the project?
[21:00]  * BUGabundo we need a *good* FAQ
[21:00] <dobey> BUGabundo: mostly i just see people say 'microsoft' when referring to any product of theirs
[21:00] <Chipaca> sladen: ubunet was the "we need to start working on this, call it something until the Name is Decided"
[21:00] <dobey> BUGabundo: FAQs don't help because nobody actually reads them.
[21:01] <sladen> BUGabundo: yeah, it's been 2.5 weeks, so that's what I'm trying to undertake in a roundabout way.  Which is why I'm in here asking dumb(tm) questions
[21:01] <dobey> sladen: ubuntuone is the project. it is the parent project for all the related projects
[21:01] <BUGabundo> or Windows! anything is windows... oh and Internet is IE.... just lan or any app using the "internet" is not net! :\\
[21:01] <dobey> sladen: ie, http://launchpad.net/ubuntuone
[21:01] <BUGabundo> dobey: 3rd thing I read....
[21:01] <BUGabundo> 1st is site look, 2nd about, 3rd FAQ
[21:02] <dobey> BUGabundo: well, yes. you. but 1/6bln isn't very much :)
[21:02] <BUGabundo> sladen: no question is dumb... only answers
[21:02] <BUGabundo> dobey: ehehehh
[21:03] <dobey> brb, need to reboot... hal has gone crazy again and won't open the pod bay doors
[21:03] <sladen> dobey: tcole: so (although it does contradict the statement above), 'ubunet' is what I would have to replicate if I wished to use a completely Free stack
[21:03] <BUGabundo> mieszkoslusarczyk: Pity there is no kde client for ubuntuone.
[21:03] <BUGabundo> mieszkoslusarczyk: But I think It'll be easier to create one for ubuntuone;)
[21:04] <sladen> dobey: tcole: eg. everything that is internal/proprietary is contained with the perimeter of 'ubunet'
[21:05] <sladen> dobey: tcole: or perhaps another way to phrase that.  What is the command that is run to start a daemon listening for incoming $somthing requests
[21:05] <tcole> sladen: ubunet corresponds pretty well to the proprietary bits
[21:06] <tcole> in terms of LP projects, ubuntuone is the umbrella project, with ubunet, ubuntuone-client and ubuntuone-storage-protocol as subprojects
[21:06] <sladen> BUGabundo: if I understand it, There is _not_ a GNOME client for 'storage' (hammertime?), there is a _Nautilus_ client
[21:07] <tcole> no, not really
[21:07] <sladen> BUGabundo: and there could be a fuse client, etc?
[21:07] <tcole> the client is just a user daemon which watches a folder
[21:07] <tcole> it exposes a dbus interface which a nautilus extension interacts with
[21:07] <tcole> but you don't need to run nautilus to use it
[21:07] <tcole> (there are some Gnome dependencies like gnome-keyring at the moment though)
[21:08] <tcole> we actually did implement a fuse client
[21:08] <tcole> it was a disaster
[21:08] <BUGabundo> tcole: aah
[21:08] <BUGabundo> why ?
[21:08] <sladen> tcole: that's good to know, it demonstrates it's not quite single-implemtnation
[21:08] <tcole> several different reasons, but performance and stability
[21:08] <tcole> sladen: in addition to the syncdaemon, we do also ship a very simple/stupid commandline client
[21:09] <sladen> which bit(s) in the current stack was "the fuse client" equivalent to?
[21:09] <tcole> sladen: which works a bit differently than the daemon
[21:09] <tcole> the syncdaemon replaced the fuse client
[21:09] <sladen> tcole: funky, hadn't spotted that (I'm trying to analyse this without actually being able to use it---I can't agree to the T&C for the beta)
[21:10] <tcole> anyway, the two clients we currently ship are the syncdaemon and u1sync
[21:10] <dobey> i don't know that i would call syncdaemon and fuse filesystem equivilent
[21:10] <tcole> sladen: you should be able to grab the packages/source from the ubuntuone-client project without worrying about the beta T&C
[21:10] <sladen> did it have a name at the time it existed/was a disaster
[21:10] <tcole> sladen: those bits are simply AGPL, IIRC
[21:10] <tcole> sladen: storagefs
[21:10] <sladen> tcole: yeah, those bits are fine/clean/etc
[21:11] <tcole> sladen: well, ubuntuone-storagefs; we didn't want to pollute the fs name namespace
[21:11] <tcole> sladen: but we just called it "storagefs"
[21:11] <tcole> sladen: you can tell we are very creative with names :)
[21:12] <sladen> the generic names (to me with my developer mind) make it quite hard to know what the scope is
[21:12] <BUGabundo> 4 more invites sent! I'm rolling tonight
[21:12] <sladen> it's like trying to hammer home "Ubuntu 9.10"... people don't, they refer to Karmic
[21:12] <dobey> the scope of a storagefs is not contacts... seems pretty simple to me :) storage == storage
[21:12]  * BUGabundo calls 8.10 ibex... interpid is just too long
[21:13] <sladen> dobey: so it's actually  u1-plugin-storage  and u1-plugin-storage-nautilus ?
[21:13] <dobey> we don't have plug-ins no
[21:14] <dobey> well the nautilus bits are a nautilus extension, so that's a plug-in to nautilus
[21:14] <sladen> stoage is an /optional/ addition to the $something API/database/wire setup?
[21:14] <dobey> storage is a service which you may optionally subscribe to
[21:15] <sladen> 'storage' is a service which presents a DBus API on one side, and which does magic $something on the other?
[21:15] <dobey> there's not really any other api/db/wire bits at the moment
[21:15] <dobey> sladen: it's not magic. it uses ubuntuone-storage-protocol which is AGPLv3
[21:16] <dobey> sladen: it uses google protocol buffers to implement the wire protocol for storage
[21:16] <sladen> woohoo!
[21:16] <sladen> let me go and research what those are
[21:17] <tcole> the dbus API is just for controlling the syncdaemon
[21:17] <tcole> the syncdaemon itself is the actual client
[21:17] <tcole> and of course u1sync is the other client we ship
[21:17] <BUGabundo> dobey: optionally? but rigt now U1 is just that: storage
[21:17] <tcole> that will change
[21:17] <dobey> BUGabundo: yes, and it is optional
[21:18] <tcole> I mean, we will have more than just storage
[21:18] <dobey> BUGabundo: you are in no way obligated to subscribe to the storage service
[21:18] <BUGabundo> google protocol buffers ? 1st time I heard that
[21:18] <BUGabundo> tcole: I know that! if you read a bit back, I said im waiting on the rest!
[21:18] <sladen> http://code.google.com/apis/protocolbuffers/docs/overview.html  <-- for anyone listening to the scroll
[21:18] <BUGabundo> dobey: so currently what would I have wihtout storage?
[21:19] <dobey> BUGabundo: an account that doesn't do anything for you :)
[21:19] <BUGabundo> ahahaha
[21:19] <dobey> BUGabundo: assuming you log in to ubuntuone.com anyway
[21:19] <BUGabundo> yeah that's what I though
[21:19] <BUGabundo> tcole: dobey so what is the timeframe for the so mentioned changes?
[21:19] <tcole> sladen: something we need to do soon is document the *semantics* of the protocol buffer messages; at present you pretty much have to look at one of the existing open source clients to see that
[21:20] <dobey> BUGabundo: but it's still entirely optional, whether or not it actually provides any utility to you :)
[21:20] <BUGabundo> dobey: :)
[21:21] <sladen> tcole: yeah, we're getting to the stage where I can go and read the code effectively without banging my head against a wall wanting a high-level overview
[21:21] <tcole> I'd probably say that u1sync is easier to understand than syncdaemon
[21:21] <tcole> though I'm a little nervous saying that
[21:22] <tcole> because u1sync is something I basically threw together over a weekend
[21:22] <tcole> not great code
[21:23] <sladen> dobey: tcole: so the wire-protocol is application specific Google protocol serialisations updating an object database using REST over HTTPS?
[21:23] <tcole> minus the REST part
[21:23] <sladen> tcole: next time, write two demo clients, it's solve 95% of the confusion ;-)
[21:24] <BUGabundo> LOL
[21:24] <sladen> tcole: since you'll be forced to give them different names otherwise they both won't compile!
[21:24] <tcole> in all seriousness, I may do more, time permitting
[21:24] <tcole> but not for that reason
[21:25] <sladen> joking aside, it's not REST.  Are the references to REST that is is RESTful in style?
[21:25] <sladen> tcole: u1sync is the command lline tool (correct)
[21:25] <sladen> ?
[21:26] <tcole> correct
[21:26] <tcole> I'm not sure where the REST references are coming from
[21:26] <tcole> the storage protocol is fairly stateful
[21:27] <tcole> now
[21:27] <tcole> we do have a "structured storage" thing in progress
[21:27] <dobey> what REST references?
[21:27] <tcole> which is based on CouchDB
[21:27] <tcole> and that does do RESTy things
[21:27] <tcole> but that is distinct from "file storage"
[21:27] <tcole> which is what we have out there now
[21:30] <sladen> dobey: no idea, I've come across them somewhere.
[21:30] <sladen> dobey: probably Chinese whispers
[21:31] <sladen> and CoudchDB is this thing that requires installing 45MB of erlang
[21:31] <tcole> yep
[21:31] <tcole> needless to say that didn't fly very well with the distro folks, who are rather scarce for space on the CD :)
[21:31] <tcole> so we are working on fixing that whole 45MB of erlang part if we can
[21:32] <tcole> I am not closely involved with that part of things though
[21:34] <sladen> tcole: CouchDB is talked to over a JSON/HTTP interface.  What is it that is doing the talking?
[21:35] <tcole> I think it's a CouchDB running locally
[21:35] <sladen> I presume there's an instance of CouchDB running (once?) per machine and once again one the server end
[21:35] <tcole> but I don't work on that service right now, and it hasn't been released yet
[21:35] <tcole> something along those lines
[21:36] <sladen> confused.  is CouchDB actually in use at this point in time?
[21:36] <dobey> not in ubuntuone yet
[21:36] <sladen> if it's not, I can completely ignore as it doesn't reflect what's there at the moment, only vague future vapourware
[21:36] <dobey> and it will be couchdb-per-user
[21:42] <BUGabundo> ok now you guys went to a too geeky point
[21:42] <BUGabundo> I can't keep up
[21:43] <kklimonda> :)
[21:50] <tcole> sladen: right, vapourware and lies :)
[21:53] <dobey> heh
[21:56] <Chipaca> sladen: u1sdtool is also the command line tool
[21:56] <Chipaca> sladen: in fact, I wouldn't call u1sync the commandline tool :)
[21:56] <tcole> u1sdtool is a CLI way to interact with syncdaemon via dbus
[21:56] <tcole> it is a commandline tool
[21:56] <Chipaca> yes
[21:56] <tcole> but it is not a commandline client
[21:56] <tcole> syncdaemon and u1sync are the two clients
[21:56] <Chipaca> right
[21:57] <Chipaca> sorry if I read the wrong half of the conversation :)
[22:01] <sladen> u1sync is the commandline sync client;  u1sdtool is the commandline control interface.  syncdaemon is the daemon?
[22:01] <sladen> which is the nautilus plugin client?
[22:02] <tcole> syncdaemon doesn't have anything to do with nautilus
[22:02] <tcole> although there is a nautilus extension which can talk to it
[22:02] <sladen> which is the nautilus _extension_ that can talk to syncdaemon
[22:02] <tcole> u1sync is a minimal commandline client, syncdaemon is a full-featured client which runs as a background daemon
[22:03] <sladen> oh
[22:03] <sladen> clients of *what*?
[22:03] <tcole> u1sdtool is a commandline control interface for syncdaemon, there is also a gnome panel applet which controls syncdaemon, as well as a nautilus extension
[22:03] <tcole> the storage service
[22:03] <tcole> file storage service
[22:03] <BUGabundo> tcole: aren't you tired of exlaing it over and over?
[22:03] <BUGabundo> write a FAQ instead
[22:03] <BUGabundo> eheh
[22:03] <sladen> BUGabundo: I'm trying.
[22:04] <tcole> sladen's already doing that, which is why he's asking me
[22:05] <BUGabundo> ahhhhhhhhhhhhh
[22:05] <BUGabundo> great
[22:05] <tcole> not that I have an objection to writing a FAQ myself, but seeing as he's already started
[22:05] <tcole> I won't steal his thunder :)
[22:06] <sladen> BUGabundo: since that's the only way myself and other people are going to understand "it".  Understanding "it" (and being able to effectively talk and point and the specific areas) is hopefully the stepping stone to enabling proper discussion about any wider issues
[22:06] <BUGabundo> humm
[22:06] <BUGabundo> this will be a _nice_ FAQ long
[22:06] <BUGabundo> from a POV of a user
[22:06] <BUGabundo> lots of user assumptions
[22:10] <sladen> so u1tool == ncftp and syncdaemon == rsync.  Both connect straight out to   someserver.ubuntuone.com  without passing Go! and without collecting 200 GBP
[22:10] <tcole> hm, not really quite
[22:10] <tcole> u1sync is a little bit like s3sync
[22:10] <tcole> syncdaemon is like the dropbox daemon
[22:11] <tcole> they both connect to (right now) fs-1.ubuntuone.com
[22:11] <tcole> and speak the protocol defined by the stuff in the ubuntuone-storage-protocol package
[22:12] <tcole> u1sdtool, the gnome panel applet, and the nautilus extension are just control interfaces for syncdaemon
[22:12] <tcole> does that make sense?
[22:13] <tcole> will you be putting the FAQ on the Ubuntu wiki?
[22:13] <tcole> we have a page here already which is rather unenlightening -> https://wiki.ubuntu.com/UbuntuOne
[22:13] <sladen> http://s3.amazonaws.com/ServEdge_pub/s3sync/README.txt  <-- for anyone following the scroll
[22:14] <tcole> u1sync is a little different to s3sync in several respects, one of them is that you have a separate "init" step, a bit like "bzr init" or something
[22:14] <tcole> basically associating a local directory with some directory tree on the server
[22:14] <tcole> after which u1sync in that directory does a sync without needing any arguments
[22:14] <sladen> and that relationship is recorded by a hidden file/uuid linking those?
[22:15] <tcole> yep
[22:15] <sladen> cunning guess.  What's the name of this file?
[22:15] <tcole> well, it's a directory
[22:15] <tcole> .ubuntuone-sync
[22:15] <sladen> so the directory is called  12341234-1234-1234-a-ba-234?
[22:16] <tcole> the directory has a number of individual files under it
[22:16] <tcole> which contain things like the root UUID, the path, and so on, of the subtree you are mirroring
[22:16] <sladen> So at the moment, a user ends up with   ~/Desktop/Ubuntu One/{myfile{1,2,3},.ubuntu-sync/*}
[22:17] <tcole> no, the syncdaemon operates very differently
[22:17] <tcole> u1sync is basically for "checking out" a copy of your files in a place separate from where the syncdaemon works (or would work -- you can opt not to use it)
[22:17] <sladen> so that _one_ instance of  '.ubuntuone-sync/'  lives at  ~/.ubuntuone-sync/
[22:17] <BUGabundo> tcole: dobey: so what is the timeline for the so called new _features_ other then storage?
[22:17] <tcole> nope
[22:17] <dobey> BUGabundo: when they're ready. :)
[22:17] <BUGabundo> come on!!
[22:18] <sladen> BUGabundo: shhhh.
[22:18] <tcole> u1sync puts .ubuntuone-sync in a the directory you initialized for use with it
[22:18] <BUGabundo> don't do that to me again
[22:18] <dobey> BUGabundo: but we are working on them to get stuff deployed asap, because there are things we want working in karmic
[22:18] <tcole> we don't really like to go into details about unreleased stuff becuase it confuses people (as sladen rightly pointed out)
[22:18] <dobey> u1sync behaves sort of like a vcs in respect to how it functions
[22:18] <tcole> and also until it's actually released and people have the client source code it's all lies anyway :)
[22:18] <BUGabundo> tcole: I can't confuse me
[22:18] <BUGabundo> AHAHAH
[22:19] <BUGabundo> I'm an alpha tester
[22:19] <tcole> sladen: .ubuntuone-sync is a lot like the .bzr directory that bzr creates in a checked-out tree
[22:19] <BUGabundo> I run cutting edge on anything, and am more the used to stuff changing without notice
[22:19] <tcole> sladen: the syncdaemon works very differently, and keeps all its metadata under ~/.cache/ubuntuone
[22:20] <sladen> so stuff checked out with u1sync is not compatible with syncdaemon  (I would instead have to use u1sdtool to direct syncdaemon to undertake the action(s))
[22:21]  * BUGabundo is being ignored .... 
[22:21] <tcole> sladen: that's the simple version yes
[22:21] <sladen> u1sync is roughly   bzr init || bzr clone || bzr push
[22:22] <sladen> s/||/xor/
[22:22] <tcole> sladen: kind of
[22:23] <sladen> BUGabundo: okay, I'll ask you a couple of question as you've got more hands on experience than me
[22:23] <sladen> BUGabundo: can you describe what "Ubuntu One" is in less than 10 words
[22:23] <tcole> BUGabundo: I'm trying not to ignore anyone, but I'm not sure what else to say and I have limited brain
[22:23] <sladen> BUGabundo: because I can't, yet
[22:24] <BUGabundo> ok sladen
[22:24] <tcole> best I can do: Ubuntu One is online services. Just file storage to start.
[22:24] <tcole> (10 words)
[22:24] <dobey> sladen: i can, but i don't think you'll accept my ingenuity with it :)
[22:25] <BUGabundo> U1 is a Cloud implementation, providing right now Free and Paid Online Storage, to Ubuntu GNU/Linux Distro
[22:25] <tcole> I think maybe cloud is misleading
[22:25] <BUGabundo> dobey: please tell us
[22:25] <kklimonda> BUGabundo: it's at least 14 words ;)
[22:25] <dobey> cloud is a silly buzzword
[22:25] <tcole> because then people start imagining we're offering an EC2 clone or something
[22:25] <dobey> BUGabundo: 1 word: awesome
[22:25] <sladen> BUGabundo: what's a cloud?
[22:25] <dobey> :)
[22:25] <tcole> (which I keep getting asked about!)
[22:25] <BUGabundo> dobey: I know. that's why I used it
[22:25] <BUGabundo> its like Web 2.0 duh
[22:25] <dobey> sladen: the giant grey things hovering over my city at the moment
[22:26] <BUGabundo> dobey: LOL
[22:26] <BUGabundo> sladen: providing web services for data
[22:26] <tcole> hm
[22:26] <sladen> dobey: duded, I didn't realise those bits had names, I thought it was all just "One Sky" ;-)
[22:26] <dobey> cloud has nothing to do with services
[22:26] <tcole> have we ever said anything about web services?
[22:26] <tcole> in this entire discussion?
[22:26] <dobey> cloud is just a stupid term that means "internet"
[22:27] <BUGabundo> sladen: dobey: isn't that on cities: SM>OG?
[22:27] <BUGabundo> *SMOG
[22:27] <tcole> well, maybe "abstracted server farm over the internet"
[22:27] <tcole> but a lot of people do just mean "vaguely internet somehow" by it
[22:27] <dobey> BUGabundo: smog doesn't produce rain. it just produces bad air
[22:27] <BUGabundo> dobey: Cloud: is Remote... no need for internet
[22:27] <tcole> actually smog particles can nucleate raindrops
[22:27] <kklimonda> tcole: do they breed new servers on this farm? ;)
[22:28] <tcole> sure
[22:28] <tcole> we have an entire division at Canonical dedicated to server husbandry
[22:28] <sladen> I'm hoping it's a "remote-access secure object storage database"
[22:29] <sladen> I'm hoping it's a "remote-access secure object storage database over Google buffers"
[22:29] <tcole> what we currently offer is file-based rather than object-based
[22:29] <tcole> at least as an abstraction
[22:29] <sladen> anyway.  I don't think anyway succedded.  nil point all around
[22:29] <tcole> the implementation behind the scenes looks a bit different
[22:30] <BUGabundo> tcole: come on... raise the curfue a bit, and let me know what you guys have in store
[22:30] <sladen> tcole: ooooh.  So the far end is nothing more than an directory and you could run the rest over FTP, or WebDav?
[22:30] <sladen> BUGabundo: I doubt they know.
[22:30] <BUGabundo> FF intregration? mail intregration (does anyone need that?), contacts ?
[22:30] <tcole> sladen: it's (sadly?) more complicated than that by far
[22:31] <tcole> sladen: but we have discussed the possibility of offering a WebDAV view into the storage
[22:31] <sladen> tcole: it's more complicated because it's versioned?
[22:31] <kklimonda> BUGabundo: first we need a decent mail client ;}
[22:31] <sladen> tcole: or because it's abstracted
[22:31] <sladen> tcole: or because it's structured?
[22:31] <tcole> versioning will be an issue eventually
[22:32] <tcole> but that's not something we expose right now
[22:32] <sladen> what makes (at this point in time) it more complicated than an FTP directory?
[22:32] <BUGabundo> sladen: Versinaged!!?!!?!?!?!
[22:32] <tcole> principally the sharing stuff
[22:32] <BUGabundo> KEYWORD alert!
[22:32] <dobey> BUGabundo: relax man
[22:32] <BUGabundo> damn ... "eventually"
[22:33] <BUGabundo> dobey: :))
[22:34] <sladen> tcole: with regard to the platform only (not any storage/syncdaemons running over the top), what makes the platform more complicate than an FTP directory with ACLs
[22:34] <tcole> from whose point of view?
[22:34] <tcole> I guess one major difference is push notifications of changes
[22:35] <tcole> when a client connects, you are given the UUID of the root node of your storage, as well as the roots of any shares available to you
[22:35] <sladen> tcole: so at the start of the session, I login, subscribe to a bunch of stuff, and then get proactively poked when something gets updated (which if there is only one user accessing at a time, means never)
[22:35] <tcole> yes, that's about right
[22:36] <tcole> minus the subscription part
[22:36] <tcole> you get poked about anything you have access to
[22:36] <sladen> ahhhh
[22:36] <BUGabundo> talking about UUIDs
[22:36] <BUGabundo> when are the Computer names getting improved?
[22:37] <sladen> so I can DOS the system just by offering 10 million public shares and writing a string of 1-byte updates that than get amplified and PUSHed to every single connected user?
[22:37] <BUGabundo> LOLOL
[22:37] <BUGabundo> sladen: I'm very close to that
[22:38] <BUGabundo> I have a shared folder with an HUGE amount of users
[22:38] <dobey> BUGabundo: nowhere near 10 million. you probably have ~100
[22:38] <BUGabundo> tcole: dobey: care to run a count on the DB on that folder?
[22:38] <BUGabundo> I'm to lazy to count them by hand
[22:38] <dobey> we don't have access to the db
[22:38] <BUGabundo> you don't?
[22:38] <sladen> BUGabundo: don't try it, it's probably against the T&C.  And remember, you agreed to cover all costs related to your use, or misuse of the server when you subscribed
[22:38] <BUGabundo> so how does?
[22:38] <BUGabundo> sladen: I already did
[22:38] <BUGabundo> U1 died on me
[22:38] <BUGabundo> had to user Web to fix it
[22:39] <BUGabundo> let me put a 1GiB file on that folder
[22:39] <BUGabundo> LOL
[22:39] <sladen> BUGabundo: the local syncdaemon client died?  Or the remote FTP^W ubunet instance?
[22:39] <dobey> sladen: well you probably can DOS that way, but you will also probably very quickly get banned as well. just the same as if i constantly sent 1 byte e-mails to 10 million users through your smtp relay
[22:39] <BUGabundo> :~/Ubuntu One/My Files/bla$ touch dobey_see_this.txt
[22:40] <dobey> sladen: the server didn't die
[22:40] <BUGabundo> humm can't connect
[22:40] <BUGabundo> damn
[22:40] <BUGabundo> you guys are blocking me alread :))
[22:40] <tcole> sladen: only the users who are have accepted the shares will get notifications
[22:40] <dobey> at least, i don't think it died
[22:40] <sladen> BUGabundo: not yet
[22:40] <BUGabundo> restarting
[22:41] <BUGabundo> humm it won't open
[22:41] <BUGabundo> LOLOL
[22:41] <BUGabundo> how can I start it from CLI and debug this further?
[22:41] <tcole> anywa, regarding computer names
[22:41] <sladen> tcole: so you can offer/invite shares to anyway, but they do ultimately have to accept/subscribe
[22:41] <tcole> sladen: yes
[22:41] <sladen> tcole: if they don't do that subscription at login, when does it happen
[22:41] <tcole> that process happens via email right now
[22:42] <tcole> you get an email, click on the link, accept the share or no
[22:42] <tcole> eventually the plan is to have gnome UI for that as well
[22:42] <tcole> and probably some kind of (non-intrusive) notification setup
[22:42] <dobey> yeah, the server isn't down afaict
[22:42] <tcole> regarding computer names, there are two pieces to it
[22:43] <dobey> BUGabundo: you can just look at the logs in ~/.cache/ubuntuone/log/
[22:43] <tcole> one, the clients currently do not communicate the computer name to the server when registering
[22:43] <BUGabundo> dobey: and how can I start it ?
[22:44] <sladen> does syncdaemon communicate the cookie (delivered in the email) to ubunet, or does Firefox communicate the cookie (delivered by email) to the ubunet webservice by normal HTTP request?
[22:44] <tcole> and I think the second thing is for the server to put the hostname in the description field for the token rather than a UUID
[22:44] <tcole> sladen: that part is all HTTP
[22:44] <dobey> BUGabundo: start what? the logs already have data. getting the same log info over and over again isn't going to actually give you any more data... just take up more bytes on the disk :)
[22:44] <BUGabundo> too many logs for me
[22:44] <tcole> sladen: there are facilities to list and accept/decline shares via the protocol though
[22:44] <tcole> sladen: you can use them via u1sdtool or even u1sync
[22:44] <dobey> BUGabundo: syncdaemon.log is probably what you care about
[22:44] <BUGabundo> oh its just dates
[22:44] <tcole> though I'm not sure I've added accepting/declining to u1sync yet
[22:45] <BUGabundo> its empty
[22:45] <BUGabundo> all of them are
[22:45] <BUGabundo> zero byts
[22:45] <BUGabundo> except oauth-login.log
[22:45] <dobey> tcole: for computer names, i think we can already handle it on the server (and i thought the client was changed at the same time to send it, but perhaps it wasn't)
[22:46] <tcole> the last I checked, the clients were still only sending UUIDs
[22:46] <dobey> BUGabundo: eh? what does running ubuntuone-syncdaemon say then?
[22:46] <BUGabundo> $ ubuntuone-syncdaemon
[22:46] <BUGabundo> Traceback (most recent call last):
[22:46] <BUGabundo>   File "/usr/bin/ubuntuone-syncdaemon", line 33, in <module>
[22:46] <BUGabundo>     from canonical.ubuntuone.storage.syncdaemon import dbus_interface
[22:46] <BUGabundo>   File "/usr/lib/python2.6/dist-packages/canonical/ubuntuone/storage/syncdaemon/dbus_interface.py", line 21, in <module>
[22:46] <BUGabundo>     from canonical.ubuntuone.storage.syncdaemon.event_queue import EVENTS
[22:46] <BUGabundo>   File "/usr/lib/python2.6/dist-packages/canonical/ubuntuone/storage/syncdaemon/event_queue.py", line 100, in <module>
[22:46] <BUGabundo>     evtcodes.IN_CLOSE_WRITE: 'FS_FILE_CLOSE_WRITE',
[22:46] <BUGabundo> AttributeError: type object 'EventsCodes' has no attribute 'IN_CLOSE_WRITE'
[22:46] <tcole> oh, FFFFFUUUUU
[22:46] <BUGabundo> humm should have pastebin that
[22:46] <dobey> tcole: well, actually the client doesn't send anything for that. it's just the oauth access token wheich we gte from the server anyway
[22:46] <tcole> I just got that
[22:46] <dobey> BUGabundo: oh that.
[22:46] <tcole> after upgrading
[22:46] <tcole> and syncdaemon doesn't start
[22:47] <BUGabundo> tcole: yep
[22:47] <dobey> BUGabundo: there is an update in the works (i think it's in nightlies already)
[22:47] <kklimonda> weird..
[22:47] <dobey> it's because pyinotify broke stuff in 0.8 which is now in karmic
[22:47] <BUGabundo> can/should I downgrade?
[22:47] <BUGabundo> I would like to DOS ^W use U1 again
[22:47] <tcole> I'm afraid I need to head out for a little bit
[22:47] <dobey> you can downgrade pyinotify maybe
[22:48] <dobey> or just install the r37 package from the nightlies
[22:48] <sladen> tcole: ta for now
[22:48] <tcole> sladen: where's the FAQ going again, out of curiosity?
[22:48] <dobey> err
[22:48] <dobey> r38 i mean
[22:48] <sladen> tcole: oh, somewhere on wiki.ubuntu.com
[22:49] <tcole> ok, cool
[22:49] <sladen> tcole: it's currently in a local copy of emacs
[22:49]  * tcole nods
[22:49] <sladen> tcole: or rather it isn't.  My shorthand notes are
[22:49] <sladen> thekorn: and some jottings in Inkscape
[22:50] <BUGabundo> dobey: lp branch link please
[22:50] <BUGabundo> I'll get trunk
[22:50] <dobey> lp:ubuntuone-client
[22:50] <tcole> sladen: ok, be sure to link it from the UbuntuOne page on the wiki when you put it up
[22:50] <sladen> tcole: just as soon as ubuntuone.com is sure to link to ubuntu.com
[22:51] <tcole> ?
[22:51] <sladen> (I support "read the FAQ ---> here" would kind of force that ;-)
[22:51] <sladen> s/support/suppose/
[22:51] <BUGabundo> dobey: branching now
[22:52] <tcole> that came up actually
[22:52] <BUGabundo> dobey:  sudo python setup.py install next?
[22:52] <tcole> we're going to be making some changes so that there are clearer links to Ubuntu proper generally
[22:52] <tcole> as far as our web presence goes
[22:52] <sladen> tcole: https://bugs.launchpad.net/ubunet/+bug/376130 "Webservice does not link to Ubuntu.com"
[22:53]  * tcole nods
[22:53] <dobey> BUGabundo: i don't know that installing into your system from trunk would be a particularly wise idea, no
[22:54] <dobey> BUGabundo: and in any case, you need to do ./setup.py build first
[22:54] <BUGabundo> $ ./setup.py
[22:54] <BUGabundo> usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
[22:54] <BUGabundo> error: no commands supplied
[22:55] <BUGabundo> error: invalid command 'first'
[22:55] <BUGabundo> LOLOL
[22:55] <BUGabundo> first is not  the command
[22:55] <BUGabundo> ehjehe
[22:55] <BUGabundo> __main__.NotFoundError: You need icontool to generate the icons for Ubuntu One.
[22:55] <BUGabundo>   File "./setup.py", line 209, in <module>
[22:55] <dobey> and you need to install icontool :)
[22:55] <dobey> it's in the ubuntu one beta ppa
[22:56] <tcole> I depart now
[22:56] <tcole> bbl
[22:56] <sladen> BUGabundo: I tend to find that if you stick to building packaged versioned, it's alot easier to hop around test versions, to know that any mess has been cleanly installed and to fetch new depends when they are introducted/revved
[22:56] <dobey> likewise, i'm out as well
[22:57] <BUGabundo> Get:1 https://private-ppa.launchpad.net jaunty/main icontool 0.1.0-0 [10.3kB]
[22:57] <BUGabundo> ohh
[22:57] <sladen> tcole: dobey: special appreciations to both of you for your time
[22:57] <BUGabundo> don't leave me just yet
[22:57] <BUGabundo> generating icons
[22:57] <BUGabundo> sh: inkscape: not found
[22:57] <sladen> BUGabundo: sudo apt-get builddep $thingy
[22:58] <sladen> BUGabundo: otherwise  sudo apt-get install inkscape
[22:58] <BUGabundo> ~$ sudo apt-get build-dep ubuntuone-client
[22:59] <BUGabundo> The following NEW packages will be installed:
[22:59] <BUGabundo>   inkscape libwmf-bin python-all python-all-dev python-dev python-lxml python-renderpm python-reportlab  python-reportlab-accel python-uniconvertor python2.5 python2.5-dev python2.6-dev
[22:59] <BUGabundo> $ ubuntuone-syncdaemon
[22:59] <BUGabundo> Traceback (most recent call last):  File "/usr/local/bin/ubuntuone-syncdaemon", line 33, in <module>
[22:59] <BUGabundo> so trunk doesn't fix it for me
[23:12] <tcole> I'm back for a minute
[23:12] <tcole> that's distressing
[23:13] <tcole> Karmic-specific breakage as far as I can tell, but we need to get it sorted out
[23:13] <tcole> BUGabundo: ping
[23:13] <BUGabundo> pong
[23:13] <tcole> hmm
[23:13] <BUGabundo> tcole: ok. I'll wait for tomorows batch of updates
[23:13] <tcole> /usr/*local*/bin/ubuntuone-syncdaemon?
[23:14] <tcole> why do you have a syncdaemon in /usr/local?
[23:14] <BUGabundo> humm python setup ?
[23:14] <tcole> ah
[23:14] <tcole> I think what dobey meant was for you to build the .debs install thouse
[23:14] <BUGabundo> installing from trunk
[23:14] <tcole> not sure he explained that well
[23:14] <BUGabundo> to get R38
[23:14] <tcole> yes, you can do that from trunk
[23:15] <BUGabundo> he didn'ti do this all the time with gwibber
[23:15] <BUGabundo> alias gwibberbzr='cd /tmp/;bzr branch lp:gwibber;cd gwibber; sudo python setup.py install'
[23:15] <tcole> hm
[23:15] <tcole> well, it is going to be a problem that you have a version of the client in /usr and a version in /usr/local
[23:15] <tcole> I think what's happening here is that you're getting a mixture
[23:16] <BUGabundo> let me purge it all
[23:16] <tcole> most likely (with the python changes in Karmic particularly), you're getting the syncdaemon from /usr/local/bin and the libraries from /usr/lib
[23:16] <BUGabundo> $ sudo apt-get remove --purge ubuntuone-*
[23:16] <BUGabundo> Note, selecting ubuntuone-ppa-beta for regex 'ubuntuone-*'
[23:17] <BUGabundo> there goes the PPA info
[23:17] <BUGabundo> lol
[23:22] <sladen> BUGabundo: what's gwibber?
[23:23] <tcole> gwibber is a Gnome twitter client thingy
[23:23] <BUGabundo> tcole: FAIL
[23:23] <BUGabundo> Gwibber is Social Network and µblog client
[23:23] <tcole> BUGabundo: I wouldn't expect it to work now that you've purged ubuntuone-client-protocol....
[23:24] <BUGabundo> it support many more services then just twitter
[23:24] <BUGabundo> which is Close Source btw
[23:24] <BUGabundo> tcole: I doesn't
[23:24] <tcole> isn't that what apt-get remove --purge ubuntuone-* did?
[23:24] <BUGabundo> $ ubuntuone-syncdaemon
[23:24] <BUGabundo> Traceback (most recent call last):
[23:24] <BUGabundo>   File "/usr/local/bin/ubuntuone-syncdaemon", line 32, in <module>
[23:24] <BUGabundo>     from canonical.ubuntuone.storage.syncdaemon import logger
[23:24] <BUGabundo> ImportError: No module named canonical.ubuntuone.storage.syncdaemon
[23:24] <BUGabundo> s/I/it/
[23:24] <tcole> yeah... python doesn't look in /usr/local most of the time
[23:25] <tcole> what I had meant for you to do was to purge the copy from /usr/local
[23:25] <tcole> install the regular packages
[23:26] <dobey> or run it from the tree
[23:26] <tcole> and then use debuild to build a new client package and install that
[23:26]  * tcole finishes doing just that
[23:26] <BUGabundo> wait
[23:26] <BUGabundo> calm down
[23:26] <tcole> Traceback (most recent call last):
[23:26] <tcole>   File "/usr/bin/ubuntuone-syncdaemon", line 36, in <module>
[23:26] <tcole>     from configglue import configglue
[23:26] <tcole> ImportError: No module named configglue
[23:26] <tcole> argh
[23:26] <tcole> ...dobey, am I the only developer on Karmic right now?
[23:26] <BUGabundo> ahaha
[23:27] <BUGabundo> LOLOLOL
[23:27] <sladen> cat ubuntuone-storage-protocol/README   ho ho ho
[23:27] <dobey> tcole: i have karmic on my laptop
[23:27] <dobey> tcole: i don't know why you're missing configglue though
[23:27] <BUGabundo> tcole: what do I need to rm -rf from /usr/local/ ?
[23:27] <tcole> sladen: oh my.  I'm glad not personally responsible for that one
[23:28] <tcole> BUGabundo: hm, do a find /usr/local -name '*ubuntuone*'
[23:28] <tcole> BUGabundo: as long as that doesn't turn up anything that obviously shouldn't be deleted, do:
[23:29] <BUGabundo> tcole: $ find /usr/local -name '*ubuntuone*' | pastebinit  http://paste.ubuntu.com/189287/
[23:29] <tcole> find /usr/local -name '*ubuntuone*' -exec rm -rf {} \;
[23:29] <tcole> ok, that should all go
[23:29] <BUGabundo> find: `/usr/local/lib/python2.6/dist-packages/canonical/ubuntuone': No such file or directory
[23:29] <tcole> also nuke /usr/local/bin/u1sync and /usr/local/bin/u1sdtool
[23:30] <tcole> oh, right, I'm an idiot
[23:30] <tcole> find is doing preorder traversal
[23:30] <BUGabundo> done
[23:30] <tcole> and rm -r is removing stuff before it gets to it
[23:30] <tcole> anyway, now try installing the client package bits again
[23:30] <BUGabundo> humm ?
[23:31] <BUGabundo> trunk and then build?
[23:31] <tcole> the actual PPA packages
[23:31] <BUGabundo> or from PPA?
[23:31] <BUGabundo> ok
[23:31] <dobey> well install ubuntuone-storage-protocol from PPA
[23:31] <BUGabundo> let me see if I still have them
[23:31] <dobey> and then run the syncdaemon from the source tree
[23:31] <dobey> like "PYTHONPATH=`pwd` ./bin/ubuntuone-syncdaemon'
[23:31] <BUGabundo> yeah, as I though
[23:31] <dobey> s/'$/"/
[23:31] <BUGabundo> the PPA info was removed by --purge
[23:32] <tcole> sladen: regarding the protocol README, what would be good to put there?  I'm thinking a brief overview of the protocol at least
[23:32] <dobey> yes of course
[23:32] <dobey> tcole: probably info about building/installing it, and what it is
[23:32] <BUGabundo> so I need to go to the web site and install again?
[23:32] <dobey> that's what tends to go in a README anyway
[23:32] <BUGabundo> sladen: want to do a wiki on installing from trunk too ?
[23:32] <dobey> BUGabundo: well you need to add the PPA again
[23:32] <dobey> BUGabundo: you can do via the web page, or the launchpad ppa web page
[23:33] <tcole> yeah, let me do a branch to fix that README, it's embarassing
[23:33] <BUGabundo> adding PPA now
[23:34] <BUGabundo> still getting jaunty deb
[23:34] <BUGabundo> when will karmic ones be released?
[23:34] <BUGabundo> oh wait I asked that just this week
[23:34] <BUGabundo> nvm then
[23:34] <BUGabundo> $ sudo aptitude install ubuntuone-storage-protocol
[23:34] <BUGabundo> done
[23:34] <BUGabundo> what's next dobey?
[23:35] <tcole> next I'd go to the trunk directory and use debuild -us -uc to build a client package
[23:35] <tcole> you might need to apt-get some bits to use debuild, I'm not sure
[23:35] <tcole> also need fakeroot
[23:35] <tcole> debuild isn't the right way to build a package for distribution (for that you'd use pbuilder), but it's nice for quick and dirty things like this
[23:36] <BUGabundo> already did that part of apt-get debbuild
[23:36] <tcole> ok
[23:36] <BUGabundo> $ debuild -us -uc
[23:36] <BUGabundo> This package has a Debian revision number but there does not seem to be an appropriate original tar file or .orig directory in the parent directory; (expected one of ubuntuone-client_0.90.1.orig.tar.gz, ubuntuone-client_0.90.1.orig.tar.bz2, ubuntuone-client_0.90.1.orig.tar.lzma or ubuntuone-client.orig)
[23:36] <tcole> say yes anyway if it gives you the opportunity
[23:36] <BUGabundo> doing so
[23:37] <BUGabundo> irk so many inkscape errors/warnings
[23:37] <dobey> sigh. i can't believe it takes 20 minutes to prepare a pizza to stick in the oven
[23:37] <BUGabundo> aahah
[23:37] <dobey> yeah, inkscape is buggy
[23:38] <BUGabundo> dobey: I ate tonight one of the best Pizzas in Porto
[23:38] <BUGabundo> I always do on fridays
[23:38] <BUGabundo> if any of you ever comes to Portugal on day, Pizza is on me
[23:40]  * dobey calls mark to let him know BUGabundo will take care of pizza for us at next UDS ;)
[23:40] <BUGabundo> ME WHAT?
[23:41] <BUGabundo> I'm unpleoid... feel free to let mark know he can get me a job as sysadmi or PR
[23:43] <sladen> BUGabundo: debuild -b -uc -us
[23:43] <sladen> BUGabundo: the -b says to only produce a binary package
[23:44] <BUGabundo> so now what?
[23:44] <BUGabundo> I dpgk install it?
[23:46] <dobey> yes
[23:47] <sladen> what's the significance of port 20101
[23:51] <dobey> significance where?
[23:53] <sladen> it's used in an example
[23:53] <sladen> is it the magic port that ubunet listens on, or something like that
[23:54] <sladen> it would be less confusing if 'ubuntuone-storage-protocol' were renamed  'python-u1storage'
[23:55] <dobey> yeah, we need to rename some of the packages
[23:56] <dobey> oh
[23:56] <dobey> the examples also refer to localhost, and the bits where that port is used, are commented out
[23:56] <dobey> those might need updating too
[23:57] <sladen> what is the origin of it?
[23:57] <dobey> i don't know where that port # came from
[23:58] <tcole> sladen: agreed, at least, it should certainly have the python- on there which it doesn't...
[23:59] <tcole> dobey, could you review? -> https://code.edge.launchpad.net/~tcole/ubuntuone-storage-protocol/better-readme/+merge/7134