/srv/irclogs.ubuntu.com/2004/09/13/#launchpad.txt

justdaveman, doing a star-merge with an empty revlib on a 233 MHz machine is a pain in the butt.12:01
justdavepulling from rocketfuel back to the desktop machine since the laptop is getting dismantled so I can return the dead hard drive in it.12:02
=== limi [~limi@159.80-202-72.nextgentel.com] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== netjoined: irc.freenode.net -> tolkien.freenode.net
=== ChanServ [ChanServ@services.] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== justdave [~dave@24.247.63.44.gha.mi.chartermi.net] has joined #launchpad
=== elmo [~james@83.216.141.215] has joined #launchpad
=== SteveA [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
!dmwaters:*! Hi all, it looks as though one of our main rotation servers is having some network trouble.05:27
!dmwaters:*! This server was just pulled from rotation, and we're keeping an eye on it05:28
elmodoes something in gnome set there polling the CD drive?10:29
elmos/gnome/warty/ I guess since, I killed the X session10:29
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
=== netjoined: irc.freenode.net -> tolkien.freenode.net
=== justdave [~dave@24.247.63.44.gha.mi.chartermi.net] has joined #launchpad
elmohmm, not having a root password, makes mistake like typo-ing 'usermod -s $SHELL user' that much more painful11:25
carloselmo:  wrong channel?11:30
carlosspiv: ping11:32
elmocarlos: no? warty's the only system I know without a root password/user :p11:39
carloselmo: but this is the #launchpad channel, not #ubuntu :-)11:39
elmooh, so it is11:40
=== elmo goes back to sleep
carlos:-P11:41
luludaf: ping12:23
SteveAdaf, carlos, lulu: can we have a rosetta meeting in 20 mins?12:42
luluSteveA: yup - and Lalo and Limi?12:43
carlosSteveA: for me it's ok, but I think daf is not online now12:43
SteveAI had a chat with mark last night, and clarified some of the details of what we need to do with rosetta.12:43
=== netjoined: irc.freenode.net -> tolkien.freenode.net
=== justdave [~dave@24.247.63.44.gha.mi.chartermi.net] has joined #launchpad
luluSteveA: I'd  recommend we have the full team present, as we now need to lay down what is/what is not deliverable for each milestone. It would be good for Limi and Lalo to be present. Thoughts?12:55
SteveAI think me, you, carlos and daf will be sufficient to discuss my conversation with mark last night12:59
=== SteveA waits for daf to appear
luluSteveA: ok12:59
dafhi everybody01:20
dafI'm just going to grab some breakfast -- be right back01:20
luluhiya :o)01:20
dafok, let's start!01:22
carlosdaf: that was a fast breakfast :-P01:23
dafI'm still eating :)01:23
carlos:-)01:24
=== limi [~limi@159.80-202-72.nextgentel.com] has joined #launchpad
luluSteve's just on a call with Jane...01:25
luludaf: in the interim, could you check the rosetta server - it's down. cheers :o)01:32
SteveAhi, I'm back.01:37
carlosok, could we start then?01:38
carlosI should go out in about one hour 01:39
SteveAyep, let's start01:39
SteveAI want to clarify our immediate goals for rosetta01:40
SteveAI had a talk on the phone with mark last night, and we talked in some detail about what rosetta needs to be able to do01:40
SteveAFor our alpha, and beta releases, rosetta will be a "global rosetta"01:41
SteveAit will be available under rosetta.ubuntulinux.org01:41
SteveAthere will be a hard-coded page there that lists the packages in ubuntu that we most want translation help on, with links into rosetta01:41
SteveAbut, any packages/products will be available for translation in ubuntu's rosetta01:42
SteveAand if someone requests we add a product that isn't in ubuntu, that's fine, we can do so01:42
SteveAthe products will still be availalbe, but won't be directly linked to the ubuntu rosetta front page01:42
SteveAwe also want to put rosetta (same database, maybe even same app server) at rosetta.theshuttleworthfoundation.org or rosetta.tsf.org.za (or whatever it is)01:43
SteveArosetta will be "marketed" first of all as a TSF project.  TSF is mark's non-profit organisation in south africa.01:43
SteveATSF/mark will be approaching governments etc. in africa to get them interested in rosetta01:44
SteveAand in having a localized ubuntu01:44
SteveAthis too will be a "global" rosetta, but with no "we want help with these ubuntu packages" page01:45
SteveAlater on, after the beta, we'll want a rosetta.projectname.org, for example, rosetta.dia.org, for translating just the dia application.01:45
SteveASo, that's the context of the alpha / beta release.01:46
=== netjoined: irc.freenode.net -> tolkien.freenode.net
=== justdave [~dave@24.247.63.44.gha.mi.chartermi.net] has joined #launchpad
SteveAfor functionality, we need two things:01:46
SteveA1: A way for people to request new packages be added.  This can simply be a web form that emails daf, or emails the launchpad list.01:46
SteveA2: someone is able to translate an application into a language of their choice, or add translations to a language an application is translated into already01:47
SteveAthe overall functional test is "can I efficiently and effectively translate Dia into gaelic?"01:48
SteveAI'm done.  Does that make snese?01:48
SteveAor , sense, even01:48
=== limi nods
carlosSteveA: the point 2) should be almost ready, the 1) is a new feature, but I don't think it's difficult to do it01:50
limi1) is in there, but not wired up at the moment, I believe01:50
limiUI-wise :)01:50
carloslimi: perfect :-)01:50
limiof course needs HappyTalk Adjustment etc ;)01:51
luluSteveA: so we have global Rosetta with the top projects on the home page, rathjer than01:52
lulubeing dynamic, hard coded links to ubuntu packages01:52
SteveAright.  the ubuntu rosetta is a "global" rosetta, with a different homepage.01:53
luluand the search will reveal all projects in "global Rosetta"01:53
SteveAwe can make the software do this easily enough01:53
SteveAyes01:53
luluthat's fine - different to what Mark and I discussed yesterday.01:54
SteveAto make the software do this, we can have /rosetta and /ubunturosetta01:54
luluhow are we showing translation efforts then, as we have not got that sorted yet?01:54
SteveA /rosetta can be an object that provides IRosettaApplication and /ubunturosetta an object that provides IUbuntuRosettaApplication.  We register a different homepage for the latter.01:54
SteveAwe don't need translation efforts for the alpha or beta01:54
=== SteveA waits for daf to offer an opinion on the whole thing, and on translation efforts
=== limi gets breakfast/lunch
limibeing sick is no fun :(01:55
SteveAleakfast or brunch01:55
carlosSteveA: translation efforts is not finished, in fact is frozen until "post-beta" phase01:56
carlosso we don't need to care about it01:56
SteveAgood01:56
dafSteveA: the whole thing sounds fine01:56
dafand I believe translation efforts are not of concern at present01:58
SteveAdaf: do you need to re-visit your document, given the above?01:59
dafyes02:01
dafI need to add the requirement for being able to request new projects02:02
SteveAcan you do that now, and then we can talk about the revised doc a little later today02:02
dafsure02:02
carlosthen, is the meeting over now?02:04
SteveAdaf: great.  Shall we say in 1 hour?02:05
SteveAcarlos: yes, thanks02:06
carlosok, I will be back after lunch02:06
carloscheers02:06
luluSteveA: thanks for final definitive clarity.02:06
SteveAI had quite a long conversation about rosetta with mark last night02:07
dafSteveA: 1pm UTC?02:07
SteveAwhile he was walking around outside his parents' place, trying not to crush snails underfoot02:07
SteveAdaf: yep, 2pm your time02:08
SteveAis that okay?02:08
dafyep02:10
luluLimi needs to revise UI of the home page and place hard coded links on the page for all the Ubuntu applications. 02:10
luluis the definitive list on the wiki for warty?02:10
SteveAI think we'll have the list of applications stored in python code02:10
limiindeed02:10
SteveAso, the ubuntulinux front page will get that list, and display it appropriately02:10
=== limi will not add 9328746 applications in the HTML ;)
luluso limi - you can get to the app list then?02:11
limiyup02:11
limias long as there is a method that returns i02:11
limit02:11
lulugreat - can you do the ui for this page today?02:11
limiprobably, dashboard is also a priority02:12
SteveAdaf / carlos / lalo can do a mock-up that displays the data, and replace it with limi's golden version later02:12
limimy productivity is hard to predict, since I am not well yet02:12
limisometimes I have to lie down in the middle of the day02:13
limibut today has been good so far02:13
limiso let's shoot for that ;)02:13
lulugreat - so home page and dashboard is going for gold02:14
limiif not, a honorable silver ;)02:14
limithey should be functional, if not pretty02:14
SteveAwe'll insist on doping tests for whichever gets gold02:14
SteveAso, you never know... silver may get upgraded02:14
luluwe are due to launch on the 15th September guys - 2 weeks away, so we need to start testing this final functionality that is now our goal.02:15
=== limi would certainly not pass the doping test with this much vitamin C
lululimi: hope you feel better soon :o) - I know Vikings bounce back quickly!02:15
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad
SteveAdaf: how's the revision going?03:04
dafI've revised the document03:04
dafNotFoundError: (<RosettaProject at 0xb41dd74c>, 'title')03:08
dafeh??03:08
SteveAI'm reading through the document now.03:10
luluAt the conference, we agreed that the task board was very useful to keep track of daily tasks.03:11
luluand that we should have a meeting every day to track progress03:11
luluis the team in agreement that we should continue this?03:11
dafI foudn it very effective while we were physically together03:12
SteveAdaf: when we have this page that mails you to request a new project be included, how will you actually include the new project?03:12
SteveAdaf: what are the bugs in po import?03:13
SteveA#03:14
SteveASubmitting new/updated translations.03:14
SteveA    *03:14
SteveA      Partially implemented, being worked on by Daf.03:14
SteveAdo we have a list of things needed before this is fully implemented?03:14
dafI can't work on this because too many other things are broken03:14
daftraversals are broken03:14
SteveAlet's take one thing at a time.03:14
dafadapting principals to persons is broken03:14
SteveAfirst, bugs in po import03:15
SteveAdo you have a list of these bugs?03:15
dafthe PO import causes duplicate message IDs in PO files03:15
dafthat's the only one I can think of03:15
dafwe don't have a list03:15
SteveAok, please file that bug in bugzilla03:16
dafwhich Bugzilla?03:16
SteveAhttps://bugzilla.warthogs.hbd.com/bugzilla/03:16
SteveAthere's a rosetta product/component in there03:17
SteveAwho is going to fix that bug?03:17
dafLalo is03:18
SteveAis he working on it now?03:18
dafhttps://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=190503:19
dafI have no idea03:19
SteveAplease mail lalo, and give him that bug URL, and ask him to work on fixing that bug03:20
dafhe'll have already gotten mail when I assigned that bug to him03:20
SteveAbetter to mail him, and actually ask him to work on it03:21
dafI'll add a comment to the bug03:22
dafwhich he'll get by email03:22
dafdone03:23
SteveAok03:23
SteveAwhat are the bugzilla logins?03:24
SteveAI have my password, but I don't know what login id to use/03:24
dafthey are email addresses03:24
SteveAI tried that03:24
SteveAI guess I need a new password...03:24
SteveAwe need to note in the bug that we must have a unit test or a functional test for this03:26
SteveAalso, a description of how to reproduce the bug would be good, so we know how to empirically test that the bug is fixed.03:26
SteveAthis could be in the form of a doctest in the bug report.03:27
SteveAoh, I must show you the new zope3 functional doctests soon -- now with no need for set-up boilerplate!03:27
dafooh03:28
SteveAwe need to get lalo to estimate the task of fixing this bug03:28
dafgetting lalo would be a start...03:28
SteveAis it 1/2 day, 1 day, ...?03:28
dafno idea03:28
dafI don't know the import code well enough03:28
dafI don't have a test case03:29
SteveAlalo should estimate it, not you03:29
dafI just noticed it happening as I was fixing the ftests03:29
SteveAplease add to the bug's notes that task 1 is to write a test case03:29
dafoh, rhetorical question03:29
SteveAtask 2 is to fix it03:29
dafok, another comment added03:31
SteveAgreat03:31
SteveAnext, let's talk about submitting new / updated translations03:32
daffeel free to CC yourself to this bug03:32
dafok03:32
limi1) Create translation tool03:32
SteveAwe need to come up with the list of things that stand in the way of your doing this03:32
daffirst of all, I need to be able to see the translation template03:33
daflimi: I think this step is the hard one03:33
limiyes, me too03:33
dafthis is prevented by at least two things03:33
daffirst, traversing to this template doesn't work03:33
=== SteveA is worried by "at least"...
dafsecond, adapting IPrincipal to IPerson doesn't work03:34
SteveAtraversing to which template doesn't work?03:34
SteveAplease give a URL table spec03:34
dafhttps://rosetta.warthogs.hbd.com/++skin++Debug/rosetta/projects/gnome/evolution03:34
dafany templates beyond project are affeted by this03:34
dafI've been working on a fix for this03:35
dafI'm confused by this "rosettaProducts" method03:35
SteveAmaybe you'd like me to work on fixing this?03:35
SteveAI probably caused the bug03:35
SteveAstick a bug in bugzilla, and assign it to me03:36
dafI think you did03:36
dafbut I also think I've fixed it03:36
dafby adding IRosettProject.produt03:36
SteveAwhat is the fix?03:36
daf.product03:36
SteveAI don't think that's the right way to fix it.03:37
SteveAHere's what I suggest:03:37
SteveA* keep your fix in your sandbox, so you can keep working03:37
SteveA* assign the bug to me in bugzilla, and I'll work on it03:37
dafsandbox?03:38
SteveA* add the patch you used to fix it to the bug in bugzilla03:38
SteveAby "sandbox" I mean your own tree on your laptop03:38
SteveAwhich may contain uncommitted code03:38
dafit doesn't03:39
SteveAit doesn't what03:39
SteveA?03:39
dafcontain code which hasn't been merged to rocketfuel03:39
SteveAso, you have already merged your fix?03:40
dafno03:40
SteveAthe notion of "sandbox" is just, "place where you do work"03:40
SteveAyou are playing in your own sandbox03:40
dafyes03:40
SteveAok.  does that address that problem of traversal?03:41
SteveAyou can keep working, I'll fix it in RF03:41
dafbut it will cause more work for me later, won't it?03:42
SteveAwhat will cause more work for you?03:42
SteveA(got to lose that pronoun habit!)03:42
SteveA;-)03:42
dafresolving our differing fixes03:42
dafpronoun habit? :)03:42
dafoh, "it"?03:43
SteveAI had to ask what "it" was03:43
dafsorry03:43
SteveAyou'll be able to just remove your fix03:43
SteveAonce mine is in RF03:43
dafok, we'll do it this way03:43
SteveAok03:43
SteveAnext, principal --> person03:43
dafhttps://rosetta.warthogs.hbd.com/++skin++Debug/rosetta/translator03:44
daf(as exhibited by)03:44
SteveAok, here's the problem:03:44
SteveAwe have principals who are people who have logged in03:45
SteveAwe have the unauthenticated principal, which is the state of the system when no-one has logged in03:45
SteveAwhen you want to present something that depends on the Person who is logged in, you need to check that a person actually is logged in03:46
SteveAwe can do that in two ways03:46
SteveA1: set a permission on the page so that a person must be logged in to access it03:46
dafhow do we do that?03:46
SteveA2: check to see if a person is logged in, and present something else if not03:46
SteveAeasiest way to do "2" is:03:46
SteveA  person = IPerson(request.principal, None)03:46
SteveA  if person is None:03:47
SteveA      # nobody is logged in03:47
SteveA  else:03:47
SteveA      # use person.languages or whatever03:47
dafat the moment, I think (2) is appropriate for the pages we have03:47
SteveAwe probably want to change request/lp:person to return None if nobody is logged in03:47
SteveAI don't know if it does that or not03:47
SteveASo, let's add a bug!  in fact, let's add two03:48
SteveA1: check all uses of IPerson(request.principal) to see if they do something sensible when no-one is logged in03:48
SteveA2: check the implementation of request/lp:person to make sure it works right03:48
SteveAI think there was some evil hard-coding of your name in the IPerson adapter code too :-)03:49
SteveAso, perhaps we have 03:49
SteveA3: check that the IPerson adapter code is as it should be03:49
dafthe implementation returns None on the unathenticated princiapl03:49
SteveAyou can assign bugs 2 and 3 to me03:49
dafI don't think Zope likes that03:49
SteveAbug 1, I think you should do03:49
SteveAyou may be right.  I'd like to look at it closely.03:50
SteveAadd the bugs, and I'll go through the ones assigned to me.03:50
dafok03:50
dafsteve@z3u.com is your Bugzilla ID?03:52
SteveAyes03:52
SteveAjustdave: we should look at changing these to canonical addresses03:52
SteveAor allowing both/either03:52
SteveAdaf: so, with IPerson(request.principal, None), you should be able to proceed.03:53
SteveAWhat else is blocking you?03:53
dafthe strange database error I was getting03:53
SteveAbbiam. biobreak.03:54
dafthe software is willing, but the hardware is weak?03:55
dafhttps://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=190603:55
justdaveSteveA: yeah, changing all to canonical.com addresses makes sense now that we have them.03:56
SteveAjustdave: perhaps suggest it on the warthogs list, then assuming no complaints, do it?03:57
SteveAalso, is it possible/easy to have a drop-down of people I can assign bugs to?03:57
SteveAor get bugzilla to know about mail aliases, so I can just enter fabbione@canonical.com rather than fabbio.massimo.di.nitto@canonical.com as an assignee03:58
=== SteveA lets daf catch up with the filing of bugs
dafhttps://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=190703:59
justdaveSteveA: yeah, that was just added recently...  I need to upgrade it anyway to get the fixed search stuff (the "find a specific bug" search is partially broken at the moment)03:59
justdaveI'll turn on the drop-down boxes once I get it upgraded04:00
SteveAjustdave: when will you be doing the upgrade?04:00
justdavedepends on how involved it winds up being to do it and keep our local hacks.  I'll try it on a local copy here tonight, and if it goes off well, the ones on macquarie can probably get upgraded tonight or tomorrow.04:01
justdavedowntime is usually less than a minute if I have it prepared ahead of time, so most folks won't even notice, but I'll still post a time so people know to stay clear.04:01
SteveAelmo: was there some talk about bugzilla moving from maquarie to somewhere else, so that bugzilla is running on a different machine to the app servers?04:02
dafhttps://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=190804:02
dafok, done04:02
SteveAdaf: great04:02
SteveAdatabase problems?04:03
dafes04:03
dafyes04:03
dafI can't recall the details now04:03
SteveAnot sure I have much to go on04:03
dafI pasted it to the channel04:03
SteveAdo you keep logs?04:04
elmostevea: yes.  when we have the new servers04:04
SteveAor we can get fabbionne's logs04:04
SteveAelmo: when will that be?04:04
daf17:52 <daf> DatabaseException: unindexable object04:04
SteveAelmo: (just approximately... out of interest)04:05
SteveAdaf: can you work out some instructions for reproducing that error?04:05
SteveAthat'll be the kind of thing that is easiest to investigate from the post-mortem debugger04:06
dafonce I can reproduce the error again, yes04:06
SteveAif you can't reproduce it, then it is actually holding you up?04:07
spivcarlos: pong04:09
spivdaf: hat's probably a % quoting issue.04:10
dafI could last reproduce it before I did a star-=merge which introduced these new bugs04:10
spivTry using %% instead.04:10
SteveAhi andrew04:11
spiv(cursor.execute does a '....' % params internally)04:11
spivSteveA: Good moprning.04:11
dafspiv: hmm, could be04:11
dafspiv: this was in a selectBy, IIRC04:11
spivdaf: I got confused by that yesterday, which is why I know ;)04:11
SteveAare % quoting issues listed on the SQLObject page on the wiki?04:11
SteveAif not, someone who understands the issue should add a note there04:12
spivdaf: Hmm, it might still trigger there (although if it did, it would be a bug in SQLObject)04:12
spivSteveA: Not yet, but good diea.04:12
spividea, rather.04:12
dafspiv: is this something that would be easy to check?04:12
SteveAspiv: will you update the docs?04:13
spivdaf: If I'm understanding your question, try putting '%' in a search form, and see what happens.04:13
spivSteveA: Yep04:14
SteveAthanks04:14
dafspiv: not a search form04:14
elmostevea: I don't know, I'm still in reseller hell, trying to get sabdfl friendly prices04:15
SteveAoh, hp04:15
elmo(and dell and ibm)04:15
SteveAwe should just become a reseller... and ship ubuntu pre-installed ;-)04:15
dafspiv: I did enocunter this problem when I implemented our search04:16
dafspiv: and found, through experiment, that using %% fixed it04:16
dafthis was a couple of weeks ago04:16
dafthis might be a similar problem04:16
SteveAdaf: when you find out something like that, do send an email to the list04:17
SteveAthen, we can all learn from that, and perhaps someone who knows the internals can comment on the best way to do it04:17
dafSteveA: I thought it was an SQL weirdness rather than a Python weirdness04:17
dafbut yes, I shuold have emailed the list04:17
dafspiv: I can't reproduce it right now, but I should be able to later04:18
dafspiv: how's New York?04:18
dafspiv: or have you already left?04:18
spivdaf: This is a psycopg wierdness, I think.  Certainly not an SQL weirdness.04:18
spivdaf: Here for one more night.04:18
SteveAdaf: I need to have another meeting about now.  Did we go through all the things blocking you?04:18
spivIt's big and dirty :)04:18
dafspiv: please give my regards to Mika04:19
dafSteveA: I think so04:19
spivOk.04:19
dafSteveA: I need to go and have lunch anyhow04:19
dafis Mako back there yet?04:19
SteveAdaf: ok.  Let's talk again in 2 or 3 hours04:19
dafSteveA: let's04:20
=== SteveA goes to another meeting
dafspiv: dirtier than London? :)04:21
spivdaf: Not yet.  He's apparently bouncing around DC and Seattle atm.04:21
dafah, right04:21
spivdaf: Looks like it to me -- a dozen garbage bags at every street corner kind of dirty... but then, I didn't really see any of London apart from South Kensington. :)04:22
dafwell, London is mostly dirty through smog, I think04:23
daflimi: what do you think?04:23
limiyes, I think London is dirty ;)04:24
dafdirty in what way?04:25
limicarpetness, toilets, general hygiene04:25
limithe city itself isn't that bad04:25
limiit's the people ;)04:25
dafheh04:26
=== limi offends 4 million people in one fell swoop
limihehe04:26
dafI mostly notice the air quality when I go there04:26
daflimi: I thought it was 7 million? :)04:26
dafit also has chewing-gum-encrusted-pavement syndrome, but that's common to lots of Britain04:27
=== daf -> lunch
=== lalo [~lalo@200-102-070-116.paemt7003.dsl.brasiltelecom.net.br] has joined #launchpad
laloPorto Alegre is wet too04:35
lalohello all04:37
lalodaf: yt?04:38
SteveAhi lalo04:38
SteveAdaf has just gone to have lunch04:38
lalooh, ok04:38
SteveAyou have a bug assigned to you04:39
laloI can try to unearth this bug while he's eating04:39
SteveAalso, you might want to read the irc logs of the meeting earlier, or alternatively / additionally, look at the https://www.warthogs.hbd.com/RosettaAlpha page04:39
lalook04:40
=== lalo screams @ gaim
=== limi is now known as limi|nearby
luluhi lalo - good to see you :o)04:43
lalohey lu04:44
SteveAlalo: so, the first thing with that bug is to estimate it04:44
SteveAthen, test case (and maybe re-estimate after that)04:45
laloSteveA: the first thing, I believe, is finding it - I can't estimate if I don't know what will be involved in fixing04:46
SteveAin that case, it is good to say "I'll spend X hours looking into it, then do an estimate"04:47
SteveAthis makes the work more visible to others04:47
lalook04:48
SteveAif you haven't got to a good point after X hours, then we (you, me, daf) need to talk about it04:48
SteveAwe might need a different approach / look for the problem in a different place04:48
lalothat's 1h, I suppose.04:49
lalobut not immediatly - I'll start after I'm done with the logs04:50
SteveAlogs?04:51
SteveAoh, right04:51
SteveAactually, read the wiki page,04:51
SteveAand I'll email you the relevant portion of the logs04:51
laloalready did the wiki page04:52
laloand the logs are not too big04:52
spivdaf: mika says hi :)04:52
SteveAok04:53
carloswow, a really big log since I went to have lunch. I'm in sync now05:03
carlosSteveA: I saw the comment about the check for logged and non logged people, is the +login page working now?05:03
SteveAsorry, not yet.05:04
carlosspiv: I fixed the problem I had already, but it's interesting to know how could I work with tables that does not have an "id" field (to do Object.select(...) and Object.selectBy(...))05:05
carlosSteveA: hmm, then if it's not logged, I will hardcode a person. Ok? 05:05
SteveAcarlos: can you do it as a query string?05:06
SteveA  page?personid=12305:07
spivcarlos: SQLobject requires an "id" field.05:07
SteveAthat's a temporary way to move forward05:07
spiv(it allows you to call it something else if you really want, and has ver ylimited support for non-integer id fields, but the existence of a unique id for a row is fundamental to how it works)05:08
carlosSteveA: will it be done in the future that way?05:08
SteveAno05:08
carlosspiv: Then, look at TranslationEffortPOTemplate table05:09
carlosspiv: I'm not able to work with it (is not important now, so we don't need to find a solution for "now")05:09
spivcarlos: Ok, that table needs to be fixed then.05:11
spivI think there's a handful of others.05:11
=== spiv mails the list
carlosI "fixed" the problem with the table PersonLabel using RelatedJoin's add and delete methods, in fact it's the correct way to do it, but with the that other table, we have an extra field I need to be able to fetch05:11
carlosSteveA: then? I think it's easier if I detect that the person is not logged to just forge Daf's user until you have your code in place05:12
SteveAok, whichever works best for you05:12
dafSteveA: any idea what could be causing this error?05:13
dafNotFoundError: (<RosettaProject at 0xb41ef5ec>, 'title')05:13
SteveAfrom that, no05:13
SteveAI need to pop out for a short while.05:13
SteveAmail me if you want me to look into something05:13
dafit's an error from a simple TAL expression in the translation template05:14
dafSteveA: ok05:15
carlosdaf: As I saw, we are using then bugzilla as our bts?05:22
dafyes05:39
carlosok05:40
lalodaf: hello world05:53
carloslalo: you are alive! :-P05:55
lalodaf: glad to see we have separate interfaces now. However I do believe either:05:56
laloa. that one method needs to be in the "broader" messageset interface, as it applies to anything you might want to import05:56
lalob. OR, I could special-case pot-sets in the import adapter, if you think that's cleaner05:56
carlosdaf: I'm going to fix the login problem, if it's someone logged in, we use that info, if it's an anonymous, I will use your user preferences06:00
carlosdaf: as soon as SteveA finish it, we could just remove the hardcoded person and redirect to the login page or show anonymous data06:01
carlosdaf: is that ok for you?06:01
carloshmmm06:02
carlosthere is already some code to do it so seems like we only need the hardcoded value to be able to test rosetta06:02
laloaugh. I won't be able to reproduce this bug today :-/06:08
lalowell, I suppose I can find it even if I don't reproduce it06:12
daflalo: hmm, it happened for me when I ran the import ftests repeatedly06:32
daflalo: I don't object to having methods both for PO sets and POT sets06:33
daflalo: but I can't see how this method applies to POT sets06:33
lalowell06:33
laloI'm not sure :-)06:33
laloif I try to think whether it does conceptually apply, I get mixed feelings06:34
lalobut I think it's a choice of having an ugly special case in the method OR an ugly special case in the caller code06:34
laloin this case I think moving the special case to the caller code is the better choice06:34
dafI agree06:35
lalodo you have 30m to help me find my bug? I still can't run postgres on this machine (bought RAM, but had a technical problem with it, so it will only be in production tomorrow)06:37
=== lalo running a totally duct-tape-and-chewing-gum GUI setup right now :-P
dafhmm, that sucks06:38
laloif you can help, great - if not, I ask leave to fix that bug tomorrow06:39
lalo(assuming we can find other things for me to do today)06:39
laloI have a pretty good feeling about where the bug originates from... seems to be an odd interaction with your refactorings06:40
SteveAlalo: could you debug on the "rosetta" machine if you had an account there?06:41
laloSteveA: yes06:42
lalois the database in that machine breakable?06:42
dafif we give you access to it, yes :)06:43
lalodef breakable(self): return not self.important()06:44
dafI know what you meant :)06:45
dafyes, it's ok if it's broken06:45
SteveAwe can ask the admins to give lalo an account06:51
SteveAthen he can run a rosetta in his account on the same port the devel server uses, and temporarily stop using the devel server06:51
SteveAalternatively, lalo could experiment on the devel server06:51
dafor we could make Apache mirror more ports, so we can have multiple servers running simultaneously06:53
dafs/mirror/proxy/06:53
SteveAthis is just for this week, say until monday06:53
SteveAlet's keep the changes to a minimum06:53
lalohave to figure out if it's worth it - if it takes more than a few hours I'd better wait for my new mobo and work locally06:53
SteveAwe can simply ask the admins to give lalo an account for 1 week.  then you can change permissions to allow lalo to diddle with the devel server.06:54
SteveAdaf: it's up to you to choose what you think will work best.06:54
=== daf ponders
=== lalo misses London
daflet's give lalo an account on rosetta, modify the permissions on the development server, and give him database access07:00
SteveAdaf: mail admins@admins, and ping elmo07:00
SteveAoh, I just did ping elmo07:01
=== lalo decides to refactor the method daf doesn't like while we wait
dafemail sent07:05
lalodaf: since we're currently using the same class for both, what should I do if the method is called on a pot-set? raise?07:06
daf+        if self.poFile is None:07:07
daf+            raise RuntimeError(07:07
daf+                "This method cannot be used with PO template message sets!")07:07
dafis what I'vebeen doing07:07
lalook07:08
laloalso: since we now have a separate interface, shouldn't we probably add a method that returns the corresponding pot-set?  and if yes, what should it be called?  maybe self.templateMessageSet()?07:08
dafif that would be useful, yes07:11
lalook, will do07:11
dafit might be useful to have a POTemplateMessageSet.copyToPOFile(language)07:11
dafcan you think of any disadvantages to having two separate tables?07:12
lalo        if self.poFile is not None:07:12
lalo            raise RuntimeError, """This method cannot be used with PO template07:12
lalo                message sets!"""07:12
lalobroken :-P I'll fix07:12
dafif not, we should move to two mesage set tables after the alpha has begun07:13
daf(I don't want to cause too much disruption now)07:13
lalodespite the different methods? well, it would be an useful optimization if the po-set stored a reference to the pot-set; and if this was done, I suppose some fields can be eliminated (primemsgid maybe)07:13
dafdespite? because of!07:13
lalosorry07:13
lalos/despite/apart from/ :-P07:14
dafand it's not really an optimisation thing, it's a design thing07:14
laloI think (not sure) I meant "besides"07:14
carloslalo: primemsgid is also used to prevent duplicated msgid, I don't think we should remove it07:14
dafwe wouldn't have to have these checks in the code07:14
laloI'm not sure which is worse, disruption now or after the alpha07:14
carlosI don't think we should do it for the alpha07:14
dafI think primemsgid is a useful optimisation07:14
laloI mean removing primemsgid from the po-set table07:14
laloit doesn't need that information - it will be unique on (pot-set, language)07:15
carloshmmm, right07:15
dafdoes every PO file message set have a template message set?07:15
carlosI thought you was thinking on nuke it completely07:15
lalodaf: not currently, but if we split the tables, I think it would be good to enforce that07:16
dafdoes that cope with obsolete messages?07:16
carlosdaf: not always, but I thought that the split will move the msgid to potemplates and the msgstr to the pofile one07:16
carlosdaf: not really, we could add them to the potemplate07:17
lalocurrently if you import a fresh pot&po (meaning, the database never had a previous version of these), then the obsolete po-sets will have no corresponding pot-sets07:18
dafright07:18
carlosI thought that the idea behind the split is that the msgid will be only with potemplates and msgstr with pofiles...07:18
lalobut if we had separate tables, then I'd vote on creating a pot-set automagically for it, with sequence=007:18
dafthe idea behind the split is this: we have two different kinds of message sets: ones from templates, and ones from PO files07:18
dafthey have different attributes and methods07:19
dafgiven this, it's silly to squeeze them both into one table/class07:19
dafI wasn't thinking any further than that07:19
dafwe would clone the existing table definition, and delte the attributes that don't apply07:20
carlosok, then we should only duplicate the tables and add an extra field that points the pofile ones to the potemplate ones07:20
carlosand that's all07:20
laloif you asked me as a consultant, I'd say: think carefully, and if you're going to split, split before the alpha. After that it will be too disruptive.07:20
dafe.g. POTemplateMsgSet wouldnot have a pofile attribute07:20
dafnor a fuzzy attribute07:20
dafnor an obsolete atribute07:21
dafetc.07:21
dafI would prefer to make this change after tha alpha07:21
dafrationale:07:21
lalospecially since, after the beta, you'll already have data in the database, and would therefore have to come up with a script to migrate it if you split the tables07:21
dafwe want to implement the functionality necessary for the alpha as quickly as possible07:21
dafonce this is done, we can do some cleaning up07:22
dafthis change would be a cleaning-up change07:22
dafdata from the alpha is not precious07:22
carlosdaf: that's ok for me, and also, I think we should do it after the alpha. We should finish the alpha as soon as possible we have only 15 days to finish the alpha + beta process and start in production mode, we cannot delay the alpha07:22
dafso it doesn't matter too much if we break things07:22
carloslalo: we will only migrate the user accounts information, nothing more07:23
laloI think you misunderstand me07:23
laloafter the alpha goes live, we'll have real message sets in the db07:23
carloslalo: but will be deleted when we move to beta07:23
dafyes07:23
lalosorry07:23
dafbut we won't keep them07:24
dafand the testers will know this07:24
laloif you're proposing to make this change between alpha and beta, then you're crazy :-)07:24
dafany translations they make they want to keep, they will have to export as PO07:24
laloif you don't make it before the alpha, you have to make it *during* the alpha07:24
dafdoing it before the alpha will delay things too much07:24
carloslalo: that's the point, we put the alpha in place and then, we do the needed changes and at the same time the betatesters are playing already with rosetta07:25
laloyup07:25
dafno, we want to finish this change before the beta starts07:26
carloslalo: different database07:26
lalobut then we need to put the new status quo live for testing *during* the alpha, not when we switch to beta07:26
carlosdaf: ok, alphatesters :-P07:26
laloand therefore we have to migrate the existing message sets07:26
dafno07:26
dafjust delte everything and start again07:26
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad []
dafdatabase changes aside, how much code would we need to change?07:29
lalodifficult question07:29
lalowould you like me to make a formal estimate?07:30
dafanything that refers to a message set, I suppose07:30
lalo(sounds like a perfectly reasonable use of my time while I wait for investigating the bug)07:30
dafyes, an estimate would be useful07:30
lalonot necessarily EVERYthing - I suppose a good portion of the code will still just work07:30
dafwell, anything which refers to it by name will need to change07:31
lalomy poor importer will suffer :-P but it will be for the better07:31
daffor great justice! :)07:31
laloyes, but BRM makes that point-and-clicky07:31
carlosdaf: I think the database modifications are still lost, that means that we will not store new data from rosetta and that means that we have a serious problem....07:31
carlosmodifications from rosetta07:31
daflost?07:32
dafyou mean not committed to the database?07:32
carlosdaf: they are never committed07:32
carlosyes07:32
dafI haven't merged my changes which do that yet07:32
carlosdaf: you have a fix?07:32
dafbecause they still have some bugs07:32
dafwell, it's not implemented in the rocketfuel version at all07:32
carlosI'm not talking about translations07:33
dafoh07:33
carlosdaf: I just executed some methods to remove rows07:33
carlosand they are not anymore on the user interface07:33
carlosbut the database still have them 07:33
dafhrmph07:33
=== carlos activating the log to confirm the problem
carlosdaf: exactly, the delete is there but the commit is never done07:38
carlosspiv: ?07:38
spivcarlos: Hmm.07:40
spivYou've turned on the SQLObject debugging?07:40
carlosspiv: I don't think so, how could I do it?07:41
carlosI have activated the postgresql log for the statements07:41
carlosthat's why I know the delete was executed, but was not committed07:41
dafcarlos: your copies of sqlobject and sqlos are up-to-date?07:42
carlosdaf: yes, I updated them about 1 hour ago, when I remember that Stuart did some fixes07:42
carlosbut the problem is still there07:42
carlosNow, rosetta shows always the correct values, but as soon as it's stopped, the changes are lost07:43
spivcarlos: The easiest way is to edit sqlobject/dbconnection.py atm, line 28.07:43
spivSome day we'll turn that into a config option somehow.07:44
carlosok07:44
carloswhere could I see the debug info?07:44
spivIt'll print it to stderr, iirc.07:45
carlosyes, it does it07:45
carlosdaf: I know why the language query is so slow...07:45
carlosgetUtility(ILanguages)07:45
carlosexpands to more than 600 selects07:46
carlosone for every row Language table has07:46
dafouch07:46
dafI think we can make that faster07:46
dafoh, hmm07:47
dafok, I can't see why it's doing that07:47
dafspiv: any idea?07:48
spivdaf: Are you building 600 seperate RosettaLanguage objects?07:49
carlosI iterate over all languages, but I suppose it should not be the problem...07:49
carlosspiv: yes07:49
carlosis that the problem?07:49
dafspiv: not just by instantiating RosettaLanguaages, no07:49
carlosdaf: I iterate over all languages 07:50
spivdaf: RosettaLanguages.keys()07:50
carlosto create a list07:50
dafcarlos: ah07:50
dafthat's why, then07:50
carlosbut that's crazy!!07:50
spivReally, SQLObject ought to be smart enough to do that in one query.07:50
spivBut I don't think it is yet.07:50
dafperhaps we should have ILanguages.__list__()07:50
dafso we can do07:50
daffor language in list(languages):07:51
spivdaf: eh, __list__ isn't a python magic method07:51
spivYou're perhaps thinking of __iter__.07:51
daferm07:51
spivOr maybe keys ;)07:51
daf:)07:51
dafI think I was thinking of __iter__ :)07:51
carloslook, I'm using it this way:07:53
carlosfor code in allLanguages.keys():07:53
carlos            if allLanguages[code]  in interestedLanguages:07:53
carlos                selected = True07:53
carlos            else:07:53
carlos                selected = False07:53
carlosand allLanguages = getUtility(ILanguages)07:53
carlosinterestedLanguages is a python list of Languages07:54
spivAh, it's the lazyColumns attribute that's the problem, maybe...07:54
spivHmm, no, that defaults to False.07:54
carlosspiv: the SQLObjects only show lots of QueryOne and some QueryAll but nothing more07:55
carlos(about the database modifications problem)07:56
spivcarlos: No COMMITs or ROLLBACKs?07:56
carlosno07:56
dafcarlos: how about this:07:56
spivHmm.07:56
daffor code in [ x.code for x in interestedLanguages ] :07:56
daf    foo(allLanguages[code] )07:57
dafhmm, frob was probably a better metasyntactic variable than from there07:57
carlosdaf: I need to list all languages07:57
dafoh, I see07:57
daffor now, I think the best thing would be to add ILanugages.__iter__07:59
daffor language in allLanguages:07:59
daf    if language in interestedLanguages:07:59
daf        # ...07:59
spivdaf: Well, SQLObject is supposed to fetch everything at once when approriate.08:00
dafspiv: I think "supposed to" is the important part here :)08:00
carlosX-)08:00
spivdaf: Well, I'll spend a few more minutes looking at the code, to see if I can figure out why it's not :)08:01
dafspiv: thanks :)08:01
carlosbut please, give more priority to the problem updating DB data, we cannot start the alpha phase without that 08:02
spivcarlos: Good point.08:03
spivI've got an up-to-date rocketfuel checkout; how do I reproduce this?08:04
spiv(I'm not very familiar with rosetta)08:04
carlosspiv: the easier way:08:04
carlosmake launchpad_test at launchpad/database/schema08:05
carlosmake run08:05
spivGot that too ;)08:05
carlosvisit http://localhost:8085/++skin++Debug/rosetta/translator08:05
carlosthe skin++Debug could be removed08:05
carlosand after some seconds you will get a list of languages08:05
carlosdeselect one (for instance, Welsh) and submit it08:06
carlosthe PeopleLabel table should be updated08:06
carlosbut it's not 08:06
carlosspiv: but wait, you will need some of my local changes08:07
carlosI will commit them  now08:07
carlosspiv: and don't select a new language, only deselect it, the addition feature is not working and you will get an error :-)08:07
spivOk, thanks.08:08
carlosmerge request sent08:08
SteveAlooking in sqlos/transaction/__init__.py, I don't see the fixes stu and I made in there08:15
SteveAok, I just updated, and they're there08:16
SteveAcarlos: do you have an up-to-date sqlos ?08:16
carlosyes08:16
SteveA    def prepare(self, txn):08:16
SteveA        if self.prepared:08:16
SteveA            raise TypeError('Already prepared')08:16
SteveA        self.prepared = True08:16
SteveA        self._checkTransaction(txn)08:16
SteveA        self.transaction = txn08:16
SteveA        self.state += self.delta08:16
SteveA        if self.objects:08:16
SteveA            for obj in self.objects:08:16
SteveA                obj.sync()08:16
SteveA        return True08:17
carlossame code here08:17
SteveAok08:17
carlosspiv: my code is now at rocketfuel08:18
spivcarlos: Yes, I saw, grabbing now..08:18
spivWhee, lots of options :)08:19
carlosspiv: go to the end of the page08:20
carlosspiv: limi will "fix" it08:20
spivOk, I see the bug.08:21
spivNow I need to obey workrave for 10 minutes :)08:21
spivThen I'll dig deeper.08:21
carlos:-P08:21
carlosok08:21
SteveAthe blinky red oblong of doom08:21
lalowoot, freshmeat is borked :-P08:23
=== lalo trying to check "the other rosetta" but freshmeat seems to be having... issues
carloslalo: works here08:25
laloI get "Error connecting to MySQL Server."08:25
carlosI'm behind a transparent proxy, perhaps that's the "problem"08:26
laloyeah, you may be getting a cached copy08:27
lalodaf: my refactoring just reached rocketfuel, when you have a few minutes please check if it's sufficient08:27
laloargh08:28
lalono it didn't :-P I forgot to add the auto-mirror hook to my arch setup08:28
lalobrb08:28
carloslalo: #!/bin/sh08:29
carlosif [ "$1" == "commit" ] ; then08:29
carlos        tla push-mirror $ARCH_ARCHIVE $ARCH_CATEGORY08:29
carlosfi08:29
lalothanks08:29
carlos.arch-params/hook08:29
dafno, that's buggy08:29
carlos$HOME/.arch-params/hook08:29
dafthere is no ARCH_REVISION08:29
daf#!/bin/sh08:29
dafif test "$1" = "commit"; then08:29
daf        ARCH_CATEGORY=`tla parse-package-name -c $ARCH_REVISION`08:29
daf        tla archive-mirror $ARCH_ARCHIVE $ARCH_CATEGORY08:29
daffi08:29
carlosdaf: that's what I have since our meeting at London...08:29
dafyou probably copied it from me before I fixed mine :)08:30
carlosbut it works...08:30
dafer, sorry08:30
lalohaving experimented with working both ways, I think I prefer not to have the hook08:30
dafcarlos: sure, but it won't limit the mirroring properly08:30
carlosok08:30
dafsince ARCH_CATEGORY will be ""08:30
laloan average once a week I want to "undo" a commit, and auto-mirror makes that painful.  I prefer mirroring in the script that submits to pqm.08:31
lalo(which right now I don't have either :-( but I can fix that after work hours)08:31
daflalo: bad commits don't matter, because they're not merged to rocketfuel automatically08:32
dafI often make mistakes, but it doesn't matter because I susually catch them before they go to rocketfuel08:32
laloyup08:32
carlosdaf: ok, hook fixed. I suppose that if it fails (network problems) I will need to execute the push by hand08:33
lalothe problem lies not in rocketfuel, but in the way I prefer to deal with those mistakes :-)08:33
dafmirroring when you merge is probably more efficient, though08:33
laloif I'm not mirrored I can just delete the revision; if I'm mirrored, deleting a revision becomes dangerous08:33
dafcall the arch police!08:34
daflalo is deleting revisiosn!08:34
carlosX-)08:35
lalo:-)08:37
lalook, *now* it's merged08:57
=== mdz [~mdz@69-167-148-207.vnnyca.adelphia.net] has joined #launchpad
carloshmmm09:00
carlosis possible to get a segmentation fault with python??09:00
carloswow09:00
spivcarlos: It's not supposed to be, but there are buggy extension modules...09:01
=== debonzi [~debonzi@200.158.100.251] has joined #launchpad
=== cprov [~cprov@200.158.100.251] has joined #launchpad
carlosI think it should be psycopg09:01
carlosIs the only change I did to that script09:01
laloimport massdestruction; massdestruction.segfault()09:02
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad
lalooh, freshmeat is working again. "The other rosetta" seems to be abandoned...09:02
carloslalo: yes, it is09:03
SteveAI had a chat with mark about login names and traversing people's names09:06
SteveAany objections to using email addresses as login ids?09:06
lalois it the plan that I can login using any of my verified addresses?09:07
SteveAyes09:07
laloand - with the same password?09:07
SteveAyes09:08
carlosSteveA: it's ok for me09:08
lalosounds ok. Can I request that an address is verified *without* logging in?09:08
SteveAout of scope for this conversation09:08
lalowell, as an user, I'd be ok with using the email as a login, IF that condition is true09:09
SteveAhere's mark's suggestion of how to do traversing people's names09:09
SteveAthere should be a person's nickname in the context of a particular project09:09
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
SteveAso, jeff could be jdub in the context of gnome, but I could be the ubuntu jdub09:10
SteveAas a silly example09:10
cprovSteveA: do you mean: http://people.ubuntu.com/markshuttleworth@hbd.com ?09:10
daflalo: did you finish that estimate?09:10
SteveAthis avoids the political problems of trying to be the one unified namespace of nicknames09:10
debonziSteveA, why not a unique username for login and traversing?09:10
lalodaf: no, I'm working on it - just started a few minutes ago, as I understood (perhaps wrongly) that you wanted that refactoring first09:11
daflalo: I wanted the refactoring first09:11
daf:)09:11
SteveAdebonzi: that will put us in the position of making a single namespace for people's names in the world of open source09:11
SteveAthat's an awkward position to be in09:12
laloanother thing that's out of scope now but I'd really like to stay on record: future phases of Rosetta *need* that one email address is "preferred" for a person; it's ok if it's "preferred" in the context of a project or product. We need this to insert email addresses in exported headers.09:12
kikoSteveA, not really. sf.net does the same.09:12
SteveAlalo: file a bug09:12
lalook09:12
SteveAsf.net sucks :)09:12
SteveAand, I always forget my login to sf.net09:13
=== lalo has seen people using {sf,slashdot,advogato} usernames as UIDs
SteveAI don't forget my email addresses09:13
cprovSteveA: huh09:13
kikothat's beyond the point -- the idea is a possible one.09:13
kikoand much less prone to complexity than using email addresses.09:13
=== lalo takes half an hour off - too confused to make this estimate
cprovSteveA: let's setup the technical details, again: http://people.ubuntu.com/markshuttleworth@hbd.com, should it work for us ?09:14
kikoI really think using emails is going to make things complex.09:15
kikoI see no problem with people.ubuntu.com/kiko 09:15
kikoand first-come-first-served.09:15
SteveAthere are two separate issues here09:16
SteveA1. login ids09:16
SteveA2. traversing names in the system09:16
kikoif you forget your sf.net address, hey, you can always ask to be reminded of it.09:16
kikoSteveA, yes, but merging them is a really good idea.09:16
laloyes. I find login-by-email awkward, but bugzilla and passport have proven it viable09:17
carloskiko: how?, if you don't know you login name...09:17
kikocarlos, enter your email address and ask to be reminded.09:17
kikolalo, ask justdave about the problems with having email as login.09:17
laloI don't need to - I don't like it :-P09:18
carlosI prefer it, look at drupal or jabber :-)09:18
lalobut I think it's viable - if that's what is decided, I can live with it. That's what I'm saying.09:18
kikooh, we can live with anything!09:18
lalocarlos: jabber does *not* log in by email09:18
kikothat's not the point here. we're looking for a *good* solution09:18
carloslalo: log in with an email like token09:19
lalocarlos: not really09:19
lalocarlos: you log in with an username, which is unique in the context of the server you're logging in to09:19
carloskiko: I gave you examples of good solutions :-)09:19
SteveAthe issue of login id is not important right now09:19
SteveAit will not hold up anyone's work09:19
SteveAlet's talk about traversing people09:19
cprovSteveA: that is my point ...09:20
SteveAthanks celso09:20
-dmwaters(dmwaters@dmwaters-gentoo.staff.freenode)- {global notice} Hi all! Freenode is in the process of building a new ircd to replace the current dancer1.0. This needs to be done soon, and the code does need to be clean. If anyone is interested on helping code on this project, please stop by #newircd and talk to us. Have a nice day, and thank you for using freenode!09:20
SteveAso, mark's suggestion would be that http://people.ubuntu.com/mark (or something like it) should work09:21
kikookay.09:21
kikois that all?09:21
debonziSteveA, and it is not a unique username?09:21
=== lalo goes shower
SteveAbut, http://people.ubuntu.com/mark may be a different mark than http://soyuz.fedora.org/people/mark09:21
kikohmmmm09:21
cprovSteveA: xii09:21
kikodistro-specific usernames?09:22
SteveAproject-specific09:22
cprovSteveA: mark == givenname ?09:22
SteveAxii ?09:22
SteveAmark == nickname09:22
kikodistro-specific, SteveA -- from your example.09:22
kikoubuntu and fedora would be different namespaces.09:22
SteveAis fedora not a project?09:22
kikoit's a distribution; I have no idea what a project is in the soyuz context. we don't use it.09:23
SteveAhttp://soyuz.gnome.org/people/mark09:23
kikohuh?09:23
kikosoyuz.gnome.org?!09:23
SteveAthat's why I didn't give it as an example09:23
spivSteveA: This is the first I've heard of a soyuz.$project.name.domainname09:23
kikothanks spiv.09:23
spivs/\.name//09:23
SteveAbut, rosetta.gnome.org/people/mark09:23
kikoI have *never* been told anything about soyuz.gnome.org.09:23
SteveAit was an example to illustrate the pattern09:23
SteveAforget the "soyuz" part09:23
SteveAand read "canonicalapp." instead09:24
kikothe only thing we agreed upon was soyuz.${distro.name}...09:24
kikohmmm.09:24
SteveAthis issue is not just for soyuz09:24
spivkiko: Actually, soyuz.${distro.domainname} (just a nitpick :)09:24
kikoright :)09:24
kikoI'm right now at a loss as to what should be done here and now then.09:24
SteveAto get things going for the soyuz sprint, I suggest using person int ids09:25
kikois soyuz/people different from rosetta/people or are we going to have a global people?09:25
SteveAand we'll discuss these issues at the sprint09:25
=== kiko shrugs
SteveAwe have global people09:25
kikookay.09:25
cprovI fell mayself totally lost on it09:25
SteveAlet me put it another way:09:25
SteveA* we have global people09:26
spivSteveA: Well, more generally, this is the first I've heard of canonicalapp.${project.domainname} :)09:26
kikospiv, same here.09:26
SteveA* we want nice nicknames for people when traversing urls for them09:26
SteveA* we don't want a global namespace of nicknames.  people are called different things in different contexts.09:26
SteveA* for soyuz, a context is a distro09:26
SteveA* let's not change anything in the database just now09:27
SteveAspiv: you've heard of rosetta.gnome.org, surely?09:27
spivSteveA: I might have.  I can certainly imagine it more easily than soyuz.gnome.org :)09:27
kikoI'm having a hard time believing we won't have a global namespace of nicknames.09:27
kikoif these tools are going to have the integration we want them to have I am going to be really mad09:28
kikoif I'm called creis in malone and kiko in soyuz and christian.reis in rosetta.09:28
kikoit's like kicking the user in the nuts <wink>09:28
SteveAwe like kicking users in the nuts :-)09:28
SteveAit is limi's job to stop us short09:29
spivSteveA: Anyway, I'm a little torn here.  What you're proposing certainly would work, but the inherent complexity of having multiple aliases for the same thing makes me nervous.09:29
SteveAindeed09:29
kikomy proposal is09:29
=== limi|nearby brings out the baseball bat
kiko- front a global namespace09:29
SteveAso, that's why we do nothing but think about it now09:29
kiko- have a global people/ thing09:29
limi|nearbynice little system you have here - too bad if something should... happen to it.09:29
kiko- use the nicks as logins and as traversal strings09:29
kiko- have people sent their login data via email if they forget it09:30
kiko- enjoy life while it lasts09:30
kikoeverything here is superlative, I can't believe we're worried about being a global namespace when freshmeat, slashdot *and* sf.net do it.09:30
spivAlthough, we're resigned to having multiple names for things already -- even with the same nick, we'd have soyuz.ubuntu.org/..../spiv and rosetta.gnome.org/..../spiv  (whatever .... might be).09:31
cprovI agree with kiko in this point, why can't we use a plain unique login name ?09:31
=== kiko doesn't think there should be problem with first-come-first-served logins dealt out.
kikospiv, that's a lot better than soyuz.ubuntu.org/.../spiv showing your bug console as malone.ubuntu.org/.../andrewb 09:32
kikoand it's going to keep both developers and users sane.09:32
SteveAuntil the soyuz sprint, logins are emails, and the soyuz team can make the best of what we have for traversing people.09:32
spivkiko: If you ask Mark, I'm sure he'd say we're planning on being bigger than freshmeat, slashdot and sf.net combined ;)09:32
SteveAwe can't sanely change until then09:32
=== kiko shrugs
kikospiv, I know, though that doesn't necessarily mean a unique login is a bad thing (nor that it will be easy beating slashdot's # of registered users -- considering what type of site /. is and what launchpad is).09:33
cprovok, we have an end point, traverse by email ...accepted !09:34
spivSteveA: I'm certainly ok with logins as emails as a starting point.  It's not hard to move to allowing nicks as well later, if that's what we decide.09:34
kikocprov, he said traverse by whatever you feel is acceptable.09:34
kikoas long as you don't change the DB09:34
SteveAmake it "work" now.  make it "really good" at the sprint.09:35
cprovkiko: I traverse the ID in the current release ... so, it's done 09:35
kikoaham.09:36
SteveAcprov: maybe file a bug in bugzilla to say that traversing by person id is a "bug" just now, and we'll work out how we want to do it at the soyuz sprint ?09:36
cprovSteveA: I will do so 09:37
SteveAthanks09:38
kikoSteveA, there's an interesting paper in ACM Interactions (May/June2004) that talks about competitions in open environments, it might be interesting to harness this for triages and bugfixes and other things that can be done competitively and collaboratively.09:59
kikoI read it yesterday evening10:01
SteveAcool10:02
SteveApost a summary to warthogs@ perhaps?  or a link if it is availalbe?10:02
kikomaybe a summary if I find some time, I'm pretty sure a link is only available to ACM dl members.10:03
SteveAor just the existence?  I think others on the team will be ACM members, especially USians10:05
kikookay. will do that then.10:07
spivcarlos: Still tracking down the uncommitted delete transaction bug, but I've found out more about the performance while I was there ;)10:21
spivcarlos: Turns out that the RosettaLanguages.keys() is doing the right thing, and issuing the one query -- it's the repeated calls to __getitem__ after that causes all the little selects.10:22
spivAnd SQLObject's cache doesn't help, because it's keyed by the id column, but __getitem__ looks up by the code column.10:23
spiv(But code is marked as a unique column, so maybe it's not hard to make SQLObject a little smarter here)10:24
=== daf is very pleased to find that you can type "vim sftp://host/some/file" and it does what he means
dafspiv: aha10:40
dafspiv: yes, that seems like a nice optimisation to make10:40
dafspiv: I noticed on the sqlobject tracker on sourceforge that you've been the most active but reporter of late :)10:41
dafs/but/g10:46
dafgrr10:46
dafs/but/bug/10:46
=== lalo is going into DHM - if you need me, make gaim beep
cprovdaf: Does https://rosetta.warthogs.hbd.com/ still working ?10:49
lalo(not really DHM, more like "deep estimate mode", but that doesn't exist ;-) you get my point)10:49
dafcprov: apparently not :)10:51
cprovdaf: tks ...10:51
dafcprov: try now10:54
kikodaf, how is that updated?10:55
dafkiko: basically:10:55
cprovdaf: really tks now :)10:55
dafwhile true:10:55
daf    update launchpad10:55
daf    start launchpad10:55
daf    sleep 30m10:55
daf    kill launchpad10:55
daf10:55
dafproblem is, it stops when starting launchpad fails10:56
dafusually because of a bad commit10:56
dafI should probably make it more fault-tolerant10:56
dafby the way, what do the Soyuz team think of their logo?10:57
kikoyeah.10:57
kikoI like it, at least. :)10:57
cprovI like it too :)10:58
dafthanks :)10:58
kikoyou're the unknown author?!10:59
kiko"made in wales<tm>"?10:59
kiko"proudly made in wales" perhaps10:59
dafguilty as charged :)11:00
dafactually, made in Mark's flat...11:00
kikonice going11:00
spivYeah, it's good :)11:00
dafactually, Wales has been dry and sunny11:00
dafweird11:01
lalowe have quite a few txt files in our source tree - shouldn't we get rid of them?11:04
dafwhy?11:04
cprovdaf: btw, can you update the current DB used on https://rosetta... ?11:04
daf> find -name '*.txt'11:05
daf./scripts/rosetta-cmdline.txt11:05
daf./no-notes-yet.txt11:05
daf./poexport.txt11:05
dafno-notes-yet is a bit old, but still pertinent11:05
cprovdaf: just wait my last commit on arch-commits ... 11:05
dafcprov: sure11:05
lalothe ones that are pertinent should be in the wiki, no?11:05
dafcprov: ok, let me know when11:05
laloin fact I think they all are11:05
dafpoexport.txt isn't11:06
laloamazing... we don't have code to export templates at all :-P11:06
cprovdaf: that's it .. I'm becoming borring :)11:07
dafpoexport.txt (in theory, anyhow) is implementation documentation, and therefore belongs with the implementation11:07
daflalo: I was thinking of asking you to write a poimpot.txt11:07
dafsomething code-oriented rather than requirements-oriented11:07
lalowell, if there is such a thing as docs that belong in the source tree, I'll move them all into their own subdir11:07
dafthat's fine11:08
dafdoc/11:08
daf?11:08
lalodocs alongside code look awkward to me :-)11:08
lalodoc or docs - I think since we have "tests", "templates", "scripts" then we should have "docs"11:08
dafthe idea is that it's easier to keep both in sync when you have them in the same place11:09
daf(code and docs)11:09
daflalo: either is fine -- I was probably thinking of /usr/share/doc or something11:09
dafcprov: done11:10
=== limi|nearby is now known as limi|busy
laloand - are we supposed to have code to export a template?11:11
laloI honestly don't remember, but I thought we did have it and we don't11:11
cprovdaf: i would say done now, thanks anyway 11:11
dafcprov: oh, oops :)11:12
dafcprov: right, done again :)11:13
cprovdaf: it rocks :)11:14
dafcprov: you're welcome11:15
lalodaf: just mailed the launchpad list11:26
kikolalo, ns estamos de mal ou seu email quebrou? :)11:27
=== debonzi [~debonzi@200.158.100.251] has left #launchpad ["Leaving"]
lalokiko: doesn't look like we're on the same charset11:28
=== cprov [~cprov@200.158.100.251] has left #launchpad ["Leaving"]
daflalo: obrigado11:29
lalodaf: de nada11:29
kikolalo, or on the same brainwavelength apparently11:30
=== kiko [~kiko@200-206-134-238.async.com.br] has left #launchpad []
=== mdz [~mdz@69-167-148-207.vnnyca.adelphia.net] has joined #launchpad

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