/srv/irclogs.ubuntu.com/2005/11/27/#launchpad.txt

lifelessone minute12:10
=== camilotelles [n=Camilo@20132194128.user.veloxzone.com.br] has joined #launchpad
ddaatoo late, I'm going to bed. Staying connected for the scrollback.12:30
lifelessok12:31
lifelessanyway, I'll have answers tomorrow12:31
lifelessbut as your scripts do not write to the sm directly, it should not matter to you or niemeyer12:31
lifelessditto for reading, the ids are not exposed outside the SM machine12:31
ddaalifeless: it would be simpler for us to read directly from the id-based FS.12:32
ddaaand more robust as well12:32
spivniemeyer: No, that internal structure isn't in place yet.12:32
lifelessthen we should change the specs12:32
lifelesswe do not want the id based FS to leak12:32
ddaait's not leaking... bzrsync is an internal system.12:32
lifelessin fact, we should not use the real id based FS to read, it would make to tight coupling12:32
lifelesswe should use a flat structure exposing the ids for internal use12:33
ddaalifeless: this is niemeyer12:34
ddaaniemeyer: this is lifeless12:34
ddaaspiv: would it be feasible for you to hack something to give us that flat id namespace on an internal http?12:39
ddaaI mean, before next week.12:40
=== niemeyer [n=niemeyer@200.138.135.140] has joined #launchpad
lifelessspiv: so, did you lose the sm sftp stuff with your laptop ?12:46
spivddaa: So, that's easy... assuming the internal storage is flat ids, just run a private httpd, e.g. plain apache, on a private port serving them.12:52
spivlifeless: Almost none, the vast bulk of it was mirrorred.  The larger setback was the change to use just branch ids rather than person-id/product-id/branch-name ;)12:53
lifelessspiv: re flat id space - right, but if the internal ids get path-shuffled, we'd want a mapping to keep them flat12:54
lifelessso that the logical access and physical storage are not conflated12:55
spivlifeless: So, the SFH spec currently says that an ID of abcdef12 would be stored on disk in a directory ab/cd/ef/12.12:55
ddaaspiv: niemeyer is working on making bzrsync a good citizen of launchpad/cronscripts, and make it scan the public supermirror. For rollout monday next week at the latest. I'd like that code to to use branch id to access the bzr branches on SM regardless of what the backend FS looks like.12:56
spivSo the apache would need a simple mod_rewrite.12:56
lifelessspiv: right. 12:56
spivIf we ever change that scheme, we'd obviously need to update the mod_rewrite config in that httpd.12:56
lifelessspiv: right.12:56
lifelessspiv: so I'd like that published as 'http://internal/+ids/abcdef1212:57
spivi.e. I'd expect it to be serving from http://foo/bar/abcdef12 not http://foo/bar/ab/cd/ef/12.12:57
ddaathat said, I'm heading away, thanks guys12:57
spivSorry, I'm obviously not awake enough, I assumed you read my mind and thought that was obvious ;)12:57
spivddaa: Good night.12:57
lifelessnight ddaa12:58
spivI'm not sure that the branches on the supermirror currently have branch records in Launchpad...12:58
ddaaspiv: lifeless: btw, while you are around with niemeyer, can you fill him with the specific testing requirements for cronscripts, if any?12:58
lifelessspiv:  they do not12:59
niemeyerspiv: abcdef12?12:59
ddaaspiv: if they don't they bzrsync do not care.12:59
niemeyerspiv: Isn't it just 12?12:59
lifelessniemeyer: we are defining a new publishing address for branches on the supermirror12:59
ddaaHu, I mean bzrsync do not care abotu branch that are not in launchpad.12:59
niemeyerlifeless: Yeah, I got that part.. ;)12:59
lifelessniemeyer: if the database id was 'abcdef12'12:59
niemeyerlifeless: Ah, ok.. database ids are numbers always.12:59
lifelessthen the url would be 'http://internal/+ids/abcdef12'12:59
lifelessniemeyer: this is true, and thus confusing as an example ;)01:00
spivniemeyer: abcdef12 is a number in base 16 ;)01:00
niemeyerspiv: Ah, of course. My fault.. :)01:00
spiv(the librarian's on-disk storage uses that scheme, also with hex)01:02
lifelessspiv: I think to http publish decimal is easier to debug01:03
niemeyerspiv: Yes, but they're hashes, while database ids are not (as we're talking in the other window :)01:04
spivniemeyer: No, they're not, as I'm saying in the other window :)01:04
niemeyer<spiv> It won't be fantastic, but it'll be good enough.01:05
niemeyer<spiv> Each directory will have a maximum of 256 entries at any level.01:05
niemeyer<spiv> So while the existing entries won't be evenly distributed, it will avoid the major suckage of having thousands of entries in a single directory.01:05
niemeyer<spiv> I guess a cheap way to improve that would be to reverse the segments:01:05
niemeyer<spiv> 12/ef/cd/ab01:05
niemeyerspiv: Interesting01:05
lifelesshmm01:05
spivlifeless: I don't see how it would be easier to debug -- it's just a number either way.  Converting to and from hex isn't hard: python -c "print 0xabcdef12, hex(12345678)"  ;)01:06
lifelessspiv: one has to do that01:06
=== niemeyer leaves for some food, bbiab..
lifelessspiv: postgres gives you decimal output01:06
spivlifeless: How about this.01:06
spivlifeless: You figure out how to write the rewrite rule to do the conversion, and I won't care ;)01:07
lifelessheh01:07
lifelesswell, lets do hex then01:07
lifelessas I don't care *that* much01:07
jameshpostgres has a to_hex() function, if that helps01:08
spivjamesh: Beat me to it :)01:09
=== Alinux [n=Ubuntu@d83-176-98-71.cust.tele2.it] has joined #launchpad
Alinuxhello01:10
Alinuxcan tell me someone, if .po files translated in lauchpad are syncronized with original .po files?01:11
lifelessperhaps /+hexids/abcdef1201:12
lifelessso its clear to someone debugging01:12
jameshAlinux: if the upstream maintainers export them from rosetta and include them, yes01:13
jameshAlinux: for Ubuntu, the rosetta data is also exported as language packs01:14
spivlifeless: That's a good idea.01:14
Alinuxyes I know... but it measn that for example "nautilus" translated in Georgian in Ubuntu will never appear in "nautilus" of Debian or SuSE etc...01:15
Alinux=01:15
mdkeAlinux, it depends on the georgian gnome translating team01:16
jameshAlinux: you could request an export and then ask someone on the gnome-i18n list to commit it01:16
mdkeif they export them, then they will be included01:16
jameshAlinux: if you are part of the gnome translation project, you could commit updated PO files easily too01:17
Alinuxgnome gnome, or ubuntu gnome?01:17
mdkegnome gnome01:17
AlinuxI'm in Ubuntu Georgian translators team01:18
mdkeAlinux, here is how it works01:18
Alinuxnot in gnome.01:18
jameshGTP01:18
mdkeGnome translators have their own procedure about which translations/translators they accept01:18
mdkeso Ubuntu can't force them to use its translations01:18
mdkeif they want to, they can01:19
mdkethey generally will, if they think they are good enough, and are aware that they exist01:19
Alinuxmdke, sei tu ? :)01:20
mdkeyes01:20
Alinuxciao bro :)01:20
mdkehi01:20
=== AlinuxOS [n=Ubuntu@d83-176-98-71.cust.tele2.it] has joined #launchpad
=== Alinux [n=Ubuntu@d83-176-98-71.cust.tele2.it] has left #launchpad [""]
=== zygis [n=zygis@clt-84-32-129-122.dtiltas.lt] has joined #launchpad
jameshlooks like ddaa's branch added a patch-25-99-0.sql02:14
jameshwhich doesn't look like an approved patch number02:14
Kinnisonjamesh: shouldn't be a problem, we're on a -40- baseline now?02:35
=== Kinnison beds
Kinnisonciau02:36
jameshKinnison: it still gets applied by "make schema", without any errors02:39
jameshjust makes me think it hasn't been approved02:39
jamesh(not that it wouldn't get approved)02:39
=== egi [n=egi@202.153.241.101] has joined #launchpad
jblackspiv: around? 03:54
spivjblack: Yeah.03:55
jblackRemember that config class we made back at UBZ? 03:56
jblackwe replaced Config.get() with a __getattr__(self, var) 03:56
spivHmm, I don't remember that at all.03:57
spivPerhaps you're thinking of someone else, or perhaps you just need to jog my memory more :)03:57
jblackNever mind. I figured it out. 03:57
jblackTHanks for the help. :)03:58
spivExcellent :)03:58
jameshjblack: I think I was the one helping you out then.04:16
jblackOh, yes. That's right.04:16
=== stub [i=stub@sweep.bur.st] has joined #launchpad
=== Keybuk [n=scott@descent.netsplit.com] has joined #launchpad
=== dewd [n=dewd@201009186135.user.veloxzone.com.br] has joined #launchpad
=== robitaille [n=robitail@ubuntu/member/robitaille] has joined #launchpad
=== fabbione [n=fabbione@port49.ds1-van.adsl.cybercity.dk] has joined #launchpad
=== lbm [n=lbm@cpe.atm4-0-1301006.0x50a0824e.vgnxx6.customer.tele.dk] has joined #launchpad
=== fabbione [n=fabbione@port49.ds1-van.adsl.cybercity.dk] has joined #launchpad
=== Burgundavia [n=corey@S0106000000cc07fc.gv.shawcable.net] has joined #launchpad
=== fabbione [n=fabbione@port49.ds1-van.adsl.cybercity.dk] has joined #launchpad
=== raketti [n=kikkeli@a80-186-162-192.elisa-laajakaista.fi] has joined #launchpad
=== raketti [n=kikkeli@a80-186-162-192.elisa-laajakaista.fi] has joined #launchpad
=== SteveA_ [n=steve@195.182.78.95] has joined #launchpad
=== netjoined: irc.freenode.net -> brown.freenode.net
=== stub [i=stub@sweep.bur.st] has joined #launchpad
SteveA_morning everyone09:31
ajmitchhi09:32
stubyo09:34
SteveA_jamesh: how's the error reporting stuff looking?09:57
Kinnisonjamesh: bizarre, I didn't think we applied patches except within the baseline.09:58
jameshSteveA_: okay.  I've got the hooks in place, just need to finish off the code that writes out the exception files09:59
jameshKinnison: maybe that's a bug too ...09:59
Kinnisonjamesh: perhaps. I'd mail stub if I were you09:59
jameshKinnison: no need: see item 3 on http://pqm.ubuntu.com/10:04
Kinnisonaha10:06
Kinnisoncoolio10:06
=== Ubugtu [n=bugbot@ubuntu/member/seveas] has joined #launchpad
=== GoRoDeK [n=gorodek@p5083D9AE.dip.t-dialin.net] has joined #launchpad
sivangMorning all10:17
Kinnisonhi sivan10:18
sivangKinnison: Hey Daniel, what's cooking?10:18
Kinnisonsivang: not much, just sorting through my TODO10:19
KinnisonHad to get up early today to take the car in for its MOT10:19
sivangKinnison: ah, good10:19
Kinnisonso I'm still under-caffeinated10:19
sivangKinnison: MOT ?10:19
Kinnisonsivang: it's a test which all cars over a certain age take each year to ensure they're road-worthy10:19
ajmitchsomething that has to be done every 6 or 12 months here, for every car10:20
=== Kinnison nods
=== Kinnison expects something will need fixing
Kinnisonmaybe a tyre or two will need replacing10:21
sivangKinnison: oh, right. we have this here as well10:21
sivangKinnison: what brand of car is that?10:22
Kinnisonsivang: I have a Daewoo10:22
=== carlos [n=carlos@243.Red-83-47-24.staticIP.rima-tde.net] has joined #launchpad
Kinnisons'not brilliant, but it works10:22
carlosmorning10:23
ddaaMaybe they should do the same for politicians.10:24
Kinnisonddaa: what, check every year that their brake pressure is high enough and that their tyres have enough tread?10:24
ddaaIn substance.10:24
jameshddaa: for politicians, it's called an election10:24
ddaajamesh: nah, an election is like crossing an intersection.10:25
ddaaThat a car crosses an intersection means neither that the driver is awake (i.e. crossing when the traffic light is green) nor that the car is able to turn or brake (it just needs to go straight ahead).10:26
ddaaOccasionally, a policitician crashes when crossing an election. That's called a Watergate.10:27
ddaaor it crosses all right but then roll over a few pedestrians.10:27
ddaaThat's called Dubia.10:27
ddaaOr Tony Blair if you want.10:28
ddaaOh BTW, apparently the fellow was caught having a phone conversation where he suggested bombing Al-Gesira :)10:29
ddaamore practically10:30
sivangddaa: LOL10:30
ddaajamesh: I have few questions for you about the where and whys of launchpda cronscripts.10:31
ddaajamesh: got a few minutes?10:31
jameshddaa: sure.10:31
ddaaSo context: we need to have a new cronscript for bzr branch scanning. niemeyer is the guy that's going to work on actually doing it.10:32
ddaaWhat are the requirements for new cronscripts, in terms of integration with launchpad, testing, deployments, etc. ?10:33
ddaaActually, It's just one big sweeping question ATM. I have more pointed ones, but I'd like if you could generally, "tell me what you know".10:35
jameshddaa: best practice is to put the meat of the script in lib/canonical/launchpad/scripts as a module, and write it in a form where it can be tested10:35
jameshddaa: then make the actual script in cronscripts/ a small program that uses the above module10:35
SteveA_i think niemeyer talked with spiv yesterday about this also10:36
ddaadid not see much relevent talk in the backlog... maybe it was a private discussion?10:37
SteveA_dunno.  i just read it on gustavo's activity report.10:37
ddaaThe public log has much talk about SMFSH, which is orthogonal to the cronscripting.10:38
ddaaSteveA_: I also wonder what's the purpose of the ./cronscript/tests directory10:39
ddaait's empty here10:40
=== koke [n=koke@ubuntu/member/koke] has joined #launchpad
=== carlos [n=carlos@216.Red-83-49-58.dynamicIP.rima-tde.net] has joined #launchpad
ddaajamesh: is there a cronscript template somewhere? In the current collection of scripts, it hard to tell what's best practice and what's this way just because it's the way it is. 10:43
jameshddaa: scripts/bugzilla-import.py in https://chinstrap.ubuntu.com/~jamesh/pending-reviews/jamesh/launchpad/bugzilla-import/full-diff isn't too bad10:45
ddaaMh... I guess that means the bzrsync should move out of lib/importd and become a good citizen of the launchpad testing framework...10:48
ddaajamesh: is there a set of required command line options?10:51
jameshddaa: not really.10:52
jameshddaa: if you are producing log messages, it is good to use canonical.launchpad.scripts.logger_options() and c.l.s.logger() to set up logging10:53
jameshddaa: that'll give consistent handling of --verbose and --quiet args10:53
ddaaWel... if you remove mysql and and optparse, there's not much left of your script...10:53
ddaamh... ok10:54
ddaaIs there anything tricky I should now about launchpad.conf integration?10:55
ddaa* I should know10:55
jameshnot really10:56
jameshedit lib/canonical/config/schema.xml to define new keys, set appropriate values in the various configs under configs/10:56
ddaawell, separate db user, so will probably need a rework of security.cfg, I figured out.10:57
ddaaHas schema.xml, thanks!10:57
ddaaDid not notice that before.10:57
ddaaMh.... I think that completes the integration questions. Now, the deployment questions :)10:58
=== dewd [n=dewd@201009186135.user.veloxzone.com.br] has joined #launchpad
ddaaWho is in charge of rolling out a cronscript and setting up the cronjob?10:59
ddaaI mean, is that centralised (stub/elmo/etc. does them all), or is that everybody does its own? And on which system?11:00
spivddaa: Talk with stub, I think.11:04
ddaastub: ping!11:04
spivddaa: Even if it's something that doesn't run on the same machines as the production webapps, it's still likely he'll need to know about it for rollouts and planned outages.11:05
ddaaspiv: well, ATM I'm try to figure out what's the general policy and whether there's any policy.11:06
ddaaone question related to that, is what is the recommended procedure for cronscript feedback? Email? And then to who, configured in which way?11:07
ddaaI can imagine many combinations there, but I'd like to know what's currently being done before asking niemeyer to do something that will waste his time in review.11:08
spivThe other cron scripts mail to the launchpad error reports list.11:08
jameshddaa: assuming you are using the standard logging framework, setting the log level to the appropriate level should result in only errors getting printed11:08
jameshddaa: so if you run the script at that logging level, cron will mail out the output11:08
spivI think this is done by making the cron jobs themselves look for output on stderr, and mail if appropriate.11:09
ddaajamesh: mail the output to the launchpad-error-reports mailing list?11:11
jameshddaa: I think that's how it works11:12
ddaaSteveA: can you approve my subscription to launchpad-error-reports, please?11:14
=== raketti [n=kikkeli@a80-186-146-96.elisa-laajakaista.fi] has joined #launchpad
SteveA_ddaa: no11:17
SteveA_ddaa: i'm not manager of that list11:17
SteveA_oh, aparently i am11:17
SteveA_how odd11:17
SteveA_ddaa: you're approved11:19
stubddaa: Pong11:26
stub(had the sound down sorry)11:26
stubddaa: I'm generally the person who turns on the various cron stuff, and am the point of contact for that.11:29
stubddaa: cronscripts generally just spit their output to stdout/stderr and cron takes it from there (sending the output to launchpad-error-reports)11:30
stubddaa: Which makes the scripts testable. Ideally your script will not produce any output if run with '-q' to avoid needless spamming, unless it is important for people to be aware that it actually *did* run (such as backups or critical stuff)11:32
ddaaHu... define critical?11:32
stubddaa: Stuff you will be explicitly checking for in your in tray every day.11:35
ddaaIn my specific case, the task is scanning bzr branches to populate the database. I expect that sooner or later we'll want to be able to see what has been done during the last few runs (for diagnostic, in case something smells fishy). What would be the way of handling this sort of logging?11:36
stubddaa: I can't think of any of our existing systems that are like that, except for possibly the shipit exports (and marileze gets that status through another mechanism anyway)11:36
stubddaa: Sure. Just output overview stuff using log.info(), verbose debugging noise using log.notice()11:37
stubddaa: Then we roll it out and, when we are happy with how it is performing, we can add the '-q' option to reduce the daily noise. Or add the '-v' option if things are screwing up and we need the debug noise.11:37
stubddaa: So just use the launchpad.scripts.logger stuff jamesh mentioned above11:38
stubWhich gives you nice timestamps and stuff in your output, which is very useful for stuff running as a cronjob11:39
stubddaa: Will your script run happily on the standard production servers, or need to run on a specific server or a dedicated server?11:42
ddaaDo you usually run jobs as a specific user on a specific system? I'm used to having a lot of control over the bazaar-related subsystem so I can do rollout or tweak this kind of diagnostic knobs myself.11:42
=== WaterSevenUb [n=WaterSev@azevedo.astro.up.pt] has joined #launchpad
stubddaa: No, but we should be ;)11:44
ddaaI do not expect that specific script is going to have exotic requirements. It's mostly running bzrlib over sanitised branches to extract metadata (so I do not expect high CPU or memory usage) and fill the database.11:44
stubddaa: If you want to run it yourself, that is fine. I just need to give DB access to the relevant accounts and possibly do test runs for you on the staging server.11:44
ddaaThough, it can potentially run a large number of transactions when new branches are published.11:46
WaterSevenUbcarlos, quick question... dapper translations will change a lot soon? i.e., something like breezy imports? or is more or less stable by now?11:46
carlosWaterSevenUb, will change a lot soon11:46
WaterSevenUbcarlos, ok:-) thanks. How about saying those things on Rosetta-users?:) I'm afraid translators get mad loosing their work...11:47
carlosno work will be lost11:47
WaterSevenUbok, great ;)11:48
ddaastub: oh BTW, somebody pointed out that I merged my patch as patch-(something)-99.sql :)11:48
stubddaa: I noticed ;) There is a patch in PQM to fix that (failed to land it yesterday)11:48
ddaaShould I fix that myself or leave you make it dbadmin kosher?11:48
ddaanice, thanks11:49
stubddaa: It is running on staging if you want to confirm the new schema works with launchpad happily11:49
ddaaI fully expect there will be no problems.11:53
ddaaHad a quick look though.11:53
ddaaThe code is very thouroughly tested.11:53
ddaastub: is there a rollout policy for cronscripts?11:54
ddaaI mean, is that bound to the launchpad rollout schedule, or can we nag you randomly to update or rollout new cronscripts?11:54
stubddaa: I like to be nagged. Just because the script has landed doesn't mean it should be turned on yet, as there may still be outstanding dependancies (eg. debbugs syncing waiting on Gina)11:56
stubddaa: Turning them on isn't bound to the launchpad rollout schedule, and if you are maintaining the codebase that runs it it doesn't even have to be the production branch you are running (which could cause issues with our mutating database schema, but if you want the rope you can have it)11:57
ddaaThinking of which. I think I'd like to to be able, at least, to kick the script by hand now and then. For example when an interesting community member just registered a branch I'd like to be able to cause an immediate scan.11:57
jameshddaa: interesting choice of sample data, btw ;)11:58
ddaaI'm pretty much in control of the db schema bits relating to this. And I'm used to having massive version skew with production on importd...11:58
ddaaFor example, I'm about to rollout the new importd, and it's expectd to work seamlessly with the old and new schemas.11:59
ddaastub: So, I think it would be nice to have a new user we can both login into for controlling bzrsync.12:00
ddaasounds reasonable?12:00
stubddaa: Sure. Macquarie would be a good choice then since we both already have accounts there and it already has other connections to the production db.12:01
ddaajamesh: well, gnome-terminal was one of the few sampledata products that were not already "polluted" by hct sampledata :)12:01
stubddaa: Just stick an issue into rt for elmo/znarl12:02
ddaaoh, BTW I need to go scream because it (and the importd systems) do not have bzr yet :(12:03
stubddaa: We are building it from source to avoid having to keep rolling out the dailies (with is a pita, and blocked me updating staging yesterday and production today :-( )12:04
ddaathat does not sound that much a PITA...12:04
stubddaa: rollout.py in the main config tree is what I'm using12:05
stubddaa: It is a pita when the current version we are supposed to use doesn't work with our archives ;)12:05
ddaaCannot use that.12:06
stubRobert seemed happy with installing 0.7 though when it is released12:06
ddaaThe importd stuff requires some uncommitted changes (builbot's private.py) and some non-source files to be preserved (though it could be argued that's a bug).12:06
ddaaMh... I guess I could w/o bzr...12:07
ddaaI can move the critical data "by hand".12:08
stubSounds like a bug - I would say private.py and the non-source files needing preservation should not be in the tree. Makes rollouts and the corresponding documentation much easier12:08
=== matsubara [n=matsubar@201-27-7-58.dsl.telesp.net.br] has joined #launchpad
matsubaragood morning!12:08
ddaastub: IMO using buildbot at all is a bug.12:08
stubWe already do this for the main production launchpad instances (there is a ZCML script that lives outside of the tree that contains the IMAP password)12:09
ddaaAnd I'm not sure at all we can move the private.py away.12:09
ddaamh... yes we can...12:09
=== niemeyer [n=niemeyer@200-140-230-173.ctame7043.dsl.brasiltelecom.net.br] has joined #launchpad
ddaahey niemeyer12:13
niemeyerddaa: Hello12:13
=== beyond [n=beyond@201-27-7-58.dsl.telesp.net.br] has joined #launchpad
=== Seveas [n=seveas@ubuntu/member/seveas] has joined #launchpad
=== cprov [n=cprov@201-27-7-58.dsl.telesp.net.br] has joined #launchpad
cprovgood morning 12:19
=== _Rappy_ [n=hunt-pre@dsl-253-122.monet.no] has joined #launchpad
=== salgado [n=salgado@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
WaterSevenUba translator asked me if his work was being lost somehow since his "karma" was going down... how is Karma measured ?12:40
KinnisonKarma decays over time12:40
KinnisonSo you have to keep doing work in order to keep it up12:40
WaterSevenUbyeah.. that's what I thought...12:40
WaterSevenUb.)12:40
WaterSevenUbkinnison, ok thx12:40
KinnisonNo problem12:40
WaterSevenUbkinnison, see bottom https://wiki.ubuntu.com/NewTranslatorQuestions - answer to the karma question. More or less fine?:)12:45
Kinnisonseems fine12:47
Kinnisonsalgado: does it look right to you?12:47
salgadoyep, it's okay12:51
sivanghmm, can anyone tell me why I am getting "orry, you don't have permission to access this page." on https://launchpad.net/distros/ubuntu/+spec/dapper-desktop-plan/+status? It wsa suggested as an example in an email to u-d sent by JaneW12:54
=== KenWeill [n=admin@203.189.11.2] has joined #launchpad
sivangoh, and another question - why is my Karma dropping in launchpad? :)12:58
=== ddaa [n=ddaa@nor75-18-82-241-238-155.fbx.proxad.net] has joined #launchpad
carloslifeless, Is there any trick to do a bzr mirroring fast?01:07
Kinnisoncarlos: use bzrtools and its rsync push rather than sftp:// push01:07
carlosKinnison, tried a local mirror and then direct rsync but the local mirror is still slow01:08
carlosKinnison, what should I use? rsync:// ?01:08
carlosbzr push rsync://.... ?01:08
Kinnisonbzr push chinstrap.ubuntu.com:/home/warthogs.....01:09
=== carlos tries it..
carlosKinnison, seems to work as I wanted. Thank you!01:15
Kinnisoncarlos: You're welcome01:16
Kinnisonbzr: ERROR: bzrlib.errors.NoSuchRevision: Branch BzrBranch(u'/home/dsilvers/dev-canonical/rocketfuel-mirror-of-launchpad/launchpad') has no revision pqm@pqm.ubuntu.com-20051122113309-82dcc8325c5c0d1901:16
Kinnisonurgh :-(01:16
carlossounds bad...01:17
KinnisonI *think* this is a known issue with bzr01:17
=== Kinnison tries to remember how to fix it
salgadostub, around?01:26
=== SteveA [n=steve@85.206.173.85] has joined #launchpad
jameshKinnison: I think lifeless fixed it last time01:28
Kinnisonjamesh: hmm01:29
sivangjamesh: Is it easy to have the same remedey you suggested for #3600 be applied to the whiteboard text handleing of the specification tracker? :-)01:36
Keybukfunny, googling for "introduction to quilt" gave me a document with exactly the title I was looking for, but not the content01:43
=== Kinnison grins and goes to prep lunch
sivangKinnison: bon appetite!01:46
=== carlos -> lunch
stubsalgado: yes01:48
salgadostub, is it possible to optimize this: https://chinstrap.ubuntu.com/~dsilvers/paste/file6sINHz.html01:48
salgado?01:49
=== _Rappy_ [n=hunt-pre@dsl-253-122.monet.no] has joined #launchpad
stubsalgado: Nothing obvious. I'll have a closer look later01:56
=== stub buggers of for an hour
salgadostub, ok, thanks. :)01:57
=== thisfred [n=thisfred@a80-127-80-154.adsl.xs4all.nl] has joined #launchpad
niemeyerddaa: Great job on the document02:16
SteveAcarlos: ping02:28
Kinnisonbrb, gotta reconnect the router02:51
stubsalgado: https://chinstrap.ubuntu.com/~dsilvers/paste/filewrXAog.html03:02
=== Kinnison [n=dsilvers@haddenham.pepperfish.net] has joined #launchpad
stubsalgado: The way you have is only taking 3 or 4 seconds to execute though, so perhaps there is another query on that page that is causing the time to be chewed up?03:02
=== mgalvin [n=mgalvin@host-66-202-95-170.spr.choiceone.net] has joined #launchpad
=== bradb [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has joined #launchpad
=== zygis [n=zygis@clt-84-32-129-122.dtiltas.lt] has joined #launchpad
=== kiko [n=kiko@201-27-7-58.dsl.telesp.net.br] has joined #launchpad
=== raketti_ [n=kikkeli@a80-186-146-96.elisa-laajakaista.fi] has joined #launchpad
=== raketti_ [n=kikkeli@a80-186-146-96.elisa-laajakaista.fi] has left #launchpad ["Lhdss"]
=== zerokarmaleft [n=zerokarm@ip68-12-45-133.ok.ok.cox.net] has joined #launchpad
=== SteveA [n=steve@195.182.78.95] has joined #launchpad
=== matsubara is now known as matsubara-lunch
=== lamont [n=lamont@mib.fc.hp.com] has joined #launchpad
kikohello guys04:13
kikohow is everybody?04:13
=== carlos [n=carlos@81.Red-83-49-60.dynamicIP.rima-tde.net] has joined #launchpad
kikoKinnison?04:15
SteveAhi carlos 04:16
SteveAwe have a few code things to talk through.  and i have another 2/3 of the review to do04:16
carlosSteveA, pong04:16
carloshi04:16
Kinnisonkiko: hey04:17
Kinnisonkiko: what can I do for you today?04:17
kikoKinnison, let's talk soyuz some, shall we?04:18
Kinnisonkiko: sure, can I have a few mins to finish up this function?04:20
kikoyeah sure04:20
kikotake off the tuxedo etc04:20
Kinnisonwhat?04:21
carlosSteveA, ?04:26
SteveAcarlos: can we talk in 30 mins or so?04:26
carlosSteveA, sure04:27
kikoKinnison, the function you're finishing.04:27
=== Kinnison is confused
KinnisonOkay, what do you want to talk about?04:30
kikoKinnison, guess and win 5$? I think elmo would be helpful here as well -- elmo, are you available?04:30
kikoKinnison, well, let's try again in 1h. can you please try and get hold of elmo? I'd like to see if we are moving to drescher.04:43
niemeyerkiko!04:43
niemeyerWelcome back04:43
Kinnisonstub suggested we shouldn't04:43
kikohey niemeyer 04:43
Kinnisondid you not see that mail?04:43
kikoKinnison, not yesterday. I know he suggested that -- he said so at UBZ as well. I was wondering if he had reconsidered04:44
kikohe's suggesting living without staging then?04:44
KinnisonSeems to be what he's advocating04:45
=== kiko scratches head
kikowell, if that's the case.04:45
kikoKinnison, at any rate, we should talk status and see how I can help you04:46
KinnisonOkay, give me 2 mins and we'll talk status04:47
kikoKinnison, 1h is better, I need lunch04:47
Kinnisonkiko: okay, one sec... 17:00 UTC? 1h13m from now04:48
kikothat's perfect04:48
kikothanks04:48
salgadohmmmm. is pqm borked again?04:53
=== matsubara-lunch is now known as matsubara
bradbsalgado: I think it's due to the load on chinstrap. But it's not always easy to tell if pqm is down or just unbelievably slow.04:55
=== diegor_ [n=diegor@141.250.103.68] has joined #launchpad
=== diegor_ [n=diegor@141.250.103.68] has left #launchpad ["Client]
=== Kinnison takes advantage of this gap to retrieve his car from the garage
Kinnisonciao05:13
=== lbm [n=lbm@x1-6-00-13-10-7a-d1-e4.k233.webspeed.dk] has joined #launchpad
=== jinty [n=jinty@205.134.224.215] has joined #launchpad
=== heyko [i=tor@tor/session/x-41ba7e10114506c8] has joined #launchpad
bradbjamesh: around?05:18
=== camilotelles [n=Camilo@20132194128.user.veloxzone.com.br] has joined #launchpad
=== bradb writes email instead
carloshmm05:26
carlossomeone added a wrong db patch to launchpad...05:26
carloscarlos@aragorn:~/Work/Canonical/trivial/database/schema$ ls patch-*05:26
carlospatch-25-99-0.sql  patch-40-00-0.sql  patch-40-02-0.sql05:26
SteveAcarlos: shall we talk about the translation queue stuff now?05:26
carlosddaa, I think it's about your work on launchpad, not sure who added them...05:27
carlosSteveA, sure05:27
=== heyko [i=tor@tor/session/x-d5505d8df3e8e96f] has joined #launchpad
SteveA'lib/canonical/launchpad/browser/translationimportqueue.py'05:28
SteveAcarlos: can we look at that first?05:28
carlossur05:29
carlossure05:29
SteveAso, i made some comments about this set of 4 methods05:29
SteveA has_things_to_import, has_pending_reviews, readyToImport, pendingReview05:29
SteveAfirst two are properties, actually05:29
carlosright05:30
carlosI don't see why a raw SQL query should be used there...05:30
SteveAraw sql?05:30
carlos"Maybe this should go to an SQL query?" isn't it what you are suggesting?05:31
SteveAno05:31
SteveAfirst of all, the code to has_things_to_import looks almost the same as readyToImport05:32
SteveA  @property05:32
SteveA   def has_things_to_import(self):05:32
SteveA       """Return whether there are things ready to import or not."""05:32
SteveA       for entry in self.context.getEntries():05:32
SteveA           if entry.import_into is not None:05:32
SteveA               return True05:32
SteveA       return False05:32
SteveA   def readyToImport(self):05:32
SteveA       """Iterate the entries that can be imported directly."""05:32
SteveA       for entry in self.context.getEntries():05:32
SteveA           if entry.import_into is not None:05:32
SteveA               yield entry05:32
SteveA05:32
carlosyes is the same05:33
SteveAso, why not write has_things_to_import in terms of readyToImport ?05:33
=== Turicas [i=justen@200141097237.user.veloxzone.com.br] has joined #launchpad
carlosI thought it was easier to understand that way05:33
SteveAmaybe.  it will also make people wonder if they've missed something, seeing the repeated code05:34
carlosSteveA, well, it's not exactly the same, but it's quite similar05:34
carlosthe returned value is different05:34
SteveAyou could do this:05:34
SteveA  @property05:34
SteveA   def has_things_to_import(self):05:34
SteveA       """Return whether there are things ready to import or not."""05:34
SteveA       for entry in self.readyToImport():05:34
SteveA           return True05:34
SteveA       return False05:34
carlosok05:35
SteveAthere are other ways of doing it too05:35
SteveAbut i think this is not too bad05:35
carlosok, next point?05:36
carloshmm wait05:37
carloswhat did you mean with the SQL query?05:37
SteveAwhere did i say that?05:37
=== YuLin [n=YuLin@d83-176-50-45.cust.tele2.ch] has joined #launchpad
YuLinHi there05:38
YuLin;)05:38
SteveAhello YuLin 05:38
YuLinmay I ask a question?05:38
carlosThat is a lot.  The code is already iterating over many of the database05:38
carlosrecords.  Maybe this should go to an SQL query?05:38
YuLin(well, that was already one, actually)05:38
SteveAah, right05:39
carlosSteveA, that's what you said for has_things_to_import05:39
KinnisonYuLin: go ahead05:39
YuLinKinnison: thank you :)05:39
SteveAcarlos: you were saying that you want to use iteration there, in order to cope with having a lot in the database05:39
carlosright05:39
SteveAcarlos: the query to get self.context.getEntries() is made 4 times the way the view is currently written, it looks like05:40
SteveAi'm not sure if these are all on the same page05:40
YuLinso, here's my question: why Swiss French is not represented as one of the languages Ubuntu can be translated in?05:41
ddaacarlos: the patch-25-99.sql is mine.05:41
SteveAif they are, then it would be better to use self.context.getEntries() once, iterate over it once, getting the required information from it05:41
ddaaI was a bad boy.05:41
ddaastub said he has a fix pending upload05:41
SteveAor, not iterating over it to find a case when import_into is None or not None, and instead adding a database API for this05:41
SteveAso that you don't potentially iterate over all of them05:42
carlosSteveA, well, we don't iterate over all the records...05:42
SteveAyou might05:42
SteveAit depends on the data in the records05:42
carloswe do the query but we get only the first entry05:42
SteveAyou get as many queries as needed05:42
carloshmmm, that's true05:42
SteveAto find one with import_into is NULL05:42
SteveAor not NULL05:42
SteveAso, if this can get big05:43
SteveAit needs to be a query of its own05:43
carlosok05:43
YuLinso? ;)05:44
SteveAcarlos: let's take a break, so you can talk with YuLin 05:45
carlosSteveA, oh, right!05:45
carlosYuLin, sorry, I didn't see your question...05:45
YuLinthat's so nice05:45
carlosYuLin, what's the difference between Swiss French and just French?05:45
YuLinwell, there are many05:46
mdkeaccent, the occasional word here and there05:46
YuLinof course "many" isn't really relevant ;)05:46
carlosYuLin, by default, we hide those kind of languages05:46
YuLinlinguistically, there are many differences, especially due to german influence05:47
mdkei suspect that the answer is that swiss french people understand french french very well05:47
YuLinthey do05:47
YuLinbut is this legitimate to have Old English represented while no one can speak it?05:47
carlosbut you still can translate into them building the URL by hand to create the first transaltion, later it will appear in all listings for that product or sourcepackage05:48
mdkeno, in my opinion05:48
mdkeequally, French (France) should go, and Italian (Italy) etc05:48
carlosYuLin, do you think the Swiss French should be always available for all modules to translate?05:48
carlosor are we talking only about small differences?05:49
YuLinI think so, yes05:49
SteveAanother thing to ask is, would swiss french speakers join in a wider french translation effort05:50
YuLinwell, you see, I'm French and I live in Switzerland05:50
SteveAor would they consider their language different, so they would want to focus on their own language, and not on french in general05:50
YuLinand since I've moved here (a few years), I'm getting aware of more and more differences05:50
YuLinwell05:50
YuLinthere's an idea of identity05:50
YuLinSwiss French people are very friendly05:51
mdkeone of the leaders of the Ubuntu french translating team is swiss :)05:51
YuLinhowever, they don't like to be assimilated to French people05:51
SteveAof course, people must work on those things that they want to.  but, i'd be concerned about encouraging a split in the volunteer efforts between two goals without so much difference between them05:52
carlosthe key question is if you or someone else will create a Swiss French team05:52
carlosYuLin, for instance, es_ES and es_MX have differences05:52
YuLinI guess so05:53
carlosYuLin, but we try to reach a common translation so we just translate for 'es'05:53
YuLinI see05:53
carlosso we join efforts and have just one team05:53
mdkethat is nice05:54
YuLinwell, I suppose you're right05:54
mdkethat way, people get more translations in the end05:54
YuLinthere's no real need for fr_CH, after all05:54
YuLinI just thought of suggesting this because I know the French Team is rather big and efficient05:55
mdkeit should be the same for english, without all this en_AU en_GB stuff05:55
YuLinI think, in general, it's nice to preserve differences :)05:55
carlosYuLin, from the Spanish point of view, we try first to get a 100% and with good quality translation into Spanish and then, we will try to improve the specific parts for every country05:55
YuLinbut of course, if it goes against functionality, that's a problem05:55
SteveAit can be a big deal for educational software, software used in schools05:56
mdkecarlos, i think that is the right approach05:56
SteveAbecause when teachers are trying to teach good en_GB, it is more difficult when the software kids are using is in en_US05:57
mdkethat is a good point. But where it is a question of prioritising scarse resources, I think the spanish approach is the best05:58
carlosYuLin, the thing is... you can translate into Swiss French if you want, but you need to create the URL manually06:00
YuLinalright06:00
=== Turicas [i=justen@200141097237.user.veloxzone.com.br] has left #launchpad ["Fui]
carlosYuLin, if you decide that a new team should be created, request us to enable your language by default and we will do it06:00
mdkecarlos, are the fr_FR things going to hang around?06:04
carlosmdke, the old ones will remain until a French translator merge them into 'fr' and request us to remove them we are not going to implement a way to merge them in the near future (if that's your question)06:05
carlosmdz, hi, around?06:05
mdzcarlos: yep06:05
carlosmdz, why launchpad-database-dependencies depends on postgresql 8.1?06:05
mdzcarlos: because postgresql 8.0 says "DON'T USE ME"06:05
carlosmdz, 8.1 does not work with launchpad06:06
mdkecarlos, yes i think that answers my question. I wasn't really just asking about fr_FR but all languages which have the duplicate. It is quite confusing for users06:06
mdzcarlos: I see.  is that expected to be true in the long term?06:06
carlosmdke, we prevent to create new ones, but the old ones remain there06:07
carlosmdz, I don't think so, I suppose it's a matter of stub or any postgres expert to fix it...06:07
carlosI started to fix it, but got an error that I'm not sure how to solve06:07
mdkecarlos, i see. So if I went about merging the it_IT ones into it, you'd remove it_IT afterwards?06:07
mdzcarlos: should I revert it, or just wait?06:07
carlosmdke, yes06:08
jordicarlos, SteveA: saw my draft?06:08
carlosmdz, I don't know. 06:08
carlosSteveA, ?06:08
carlosjordi, not yet, sorry06:08
jordik06:08
mdkecarlos, ok. Would I have to merge just dapper, or all versions of Ubuntu?06:08
carlosmdke, does dapper have an it_IT?06:09
carlosmdke, if that's the case... you need to fix it upstream06:09
SteveAjordi: not yet06:09
carlosmdke, or it will appear again06:09
mdkecarlos, yes it does06:09
mdkecarlos, ditto de_DE and fr_FR etc06:10
mdkebut the source packages in there are a bit odd06:10
mdkehttps://launchpad.net/distros/ubuntu/dapper/+lang/it_IT06:10
SteveAcarlos: the part of my review where i said something probably didn't have test coverage, and had totally duplicated code, was me not reading a "not" in one version of the methods, by the way.06:11
=== cprov [n=cprov@201-27-7-58.dsl.telesp.net.br] has joined #launchpad
carlosmdke, those upstream products should be fixed, anyway, with the new system I developed, we can implement a workaround...06:13
mdkeooh06:13
carlosSteveA, ok06:14
salgadoddaa, that fix stub had to rename patch-25-99.sql was being processed when pqm got stuck, so it didn't get merged06:16
ddaaack, but when asked stub if I should fix the problem myself, he told me he had this patch.06:16
ddaaso I'm not sure what you are suggesting.06:17
carlosSteveA, "We still have three largely identical methods.  This is not the best thing.06:17
carlosLet's talk on irc about how to use less code here."06:17
carlosSteveA, could we talk about that?06:17
salgadoI wasn't suggesting anything, actually. it was just so you know why it wasn't renamed yet06:18
SteveAyes. let me get another cup of tea.  5 mins06:18
=== carlos workraves
=== SteveA tearaves
SteveAcarlos: ?06:27
carlosSteveA, I'm back06:28
SteveAok06:28
SteveAso, we have these methods like def block(self):06:29
ddaayay... importd is coming back online, at last...06:29
carlosSteveA, right06:29
SteveA> +                entry = self.context.get(id)06:29
SteveAwhere does id come from?06:29
ddaathat was starting to feel like one of those dreams where the more you run, the more backwards you go06:29
carlosSteveA, from the form, the names of the checkboxes have it06:30
jordicarlos: we have a few pending plural form requests06:30
jordiand some "languages in my country" requests06:31
carlosjordi, will try to handle them tomorrow..06:31
SteveAlook at the method def block06:31
SteveAwhere does 'id' come from?06:31
jordishould I mail launchpad@, or you?06:31
jordiok06:31
carlosI have some pending mails from rosetta-users06:31
jordime too06:31
jordigotta go, I'm at uni trying to fix the server06:31
jordiprocessor seems very dead though :(06:32
kikojordi!06:32
carlosSteveA, ok, when I applied your iniitial review, I didn't execute the tests and forgot to update the for clause to use 'id' instead of 'item'06:33
carlosjordi, I will do it, I need to update also the sampledata06:33
SteveAcarlos: okay06:34
SteveAso, the overall pattern of block() is like this: 06:34
SteveA  - set counter to 006:34
SteveA  - get the launchpad celebrities06:34
SteveA  - loop over the ids in form_entries06:34
SteveA  - check that the user is allowed (not sure why this is done each time through the loop, and not sure why this isn't handled by the normal security systems)06:35
SteveA  - if user is allowed, get the entry, and block it.  increment counter06:36
carlosSteveA, because we check if it's allowed with that concrete entry06:36
SteveAnot according to the code, it seems to me06:36
SteveA  - then notify according to how big the count it06:36
SteveA06:36
SteveAthis is the same pattern for three different operations06:36
SteveAall that changes is the action, like entry.block(False) or whatever06:37
carlosright, I was looking at remove()06:37
SteveAand the notification message06:37
carlosremove depends on the entry06:37
SteveAokay, so remove is a little different.  but, that should also be handled by the general security 06:37
carlosblock and unblock does not depend on the entry06:37
SteveAso, try: self.context.remove(entry) except: ForbiddenAttributeError  do stuff06:38
SteveAor just allow the forbidden error to occur06:38
SteveAbut let's look at this as two separate issues06:38
SteveAthe first is that you can abstract out the pattern of these three methods06:39
SteveAinto a do_stuff_across_entries(self, action_callable, notify_callable)06:39
SteveAwhere action_callable is a method that does the work like actually blocking / removing, given an entry06:40
SteveAand notify_callable is a method that does the appropriate notification06:40
SteveAor maybe just a notification string is enough06:40
SteveAdon't worry about getting the 1 thing 2 things wording right06:40
carlosthe string should be enough, yes06:40
SteveAthis will come automatically later, when we do launchpad l10n06:40
carlosok06:41
SteveAthe security stuff is a separate issue.  you can go with what you have, but file a bug about it, that it should use the standard security system rather than checking the details of the user06:41
carlosSteveA, how can I use the security system if we don't have a specific web page for that object...06:42
carlosI think I don't know the .zcml code for that, could you give me a hint, please?06:42
carlosI prefer to fix it now if it's possible06:42
SteveAi don't want you work on that now.  go with what you've got.  i think it might be a tricky change from where you're at now.06:43
carlosok06:43
SteveAwe'll tidy that part up once this is landed properly06:43
SteveAso, i'll get on with the rest of the review.  thanks for going through these parts with me, carlos.06:44
carlosSteveA, thanks to you for the input06:45
=== raketti [n=kikkeli@a80-186-146-96.elisa-laajakaista.fi] has joined #launchpad
carlosSteveA, do you need anything else? 06:50
carlosI need to go out06:51
=== SnakeBite_ [n=SnakeBit@212.25.63.37] has joined #launchpad
=== carlos -> out
YuLinsorry for my being away for a very long time06:58
YuLinso, the idea is (if I get the point):06:58
YuLin1 -  I check whether there are relevant differences between fr_FR and fr_CH06:58
YuLin2 - I create the URL manually regarding the distro I want to translate in fr_CH (in the case I've found relevant differences with fr_FR)06:59
YuLin3 - I ask for the creation / create a Swiss French team07:00
YuLinright ?07:00
SteveAYuLin: check whether there are significant differences.  then, we have two ways to go.07:01
mdkedo you guys want bug reports for broken links in LP?07:01
kikomdke, YES :)07:01
SteveAwhat i'd recommend is that you look for packages to translate where it makes a difference in this case07:01
SteveAand translate those by using the URL07:01
mdkekiko, k07:01
SteveAif you find some other people who are also interested, and there are enough differences to make it worthwhile, then talk with us again about making a team and making the language more visiable. 07:02
=== bradb_ [n=bradb@modemcable033.130-80-70.mc.videotron.ca] has joined #launchpad
YuLinalright guys07:07
YuLinthanks for everything =)07:07
YuLinhave a nice evening07:07
YuLin;)07:07
=== Seveas [n=seveas@ubuntu/member/seveas] has joined #launchpad
=== ajmitch_ [n=ajmitch@port164-44.ubs.maxnet.co.nz] has joined #launchpad
=== ajmitch_ is now known as ajmitch
bradb_When do we get the dedicated pqm server?07:31
bradb_Landing is misery,  peine possible, without.07:32
=== Seveas [n=seveas@ubuntu/member/seveas] has joined #launchpad
=== ether3 [n=power@CPE00e000ae74f2-CM000f9f52bb04.cpe.net.cable.rogers.com] has joined #launchpad
ether3hi I'm one of the admins of the openssi-team, but I can't add a calendar event on the project page.  Is there a bug for this already?07:42
ddaabradb_: you're defacing French...07:42
ddaa" peine possible"07:43
ddaawe do not have this twiddly diacritical the spaniard are so fond of.07:44
bradb_we do here07:44
bradb_c'est  dire, icitte07:44
ddaamh07:45
bradb_:)07:45
ddaalooks like an encoding problem07:45
bradb_indeed07:45
bradb_i see boxes when you type. do you see boxes when i type?07:45
ddaaNa, I see "Atilde"07:45
ddaaexcept the symbol07:46
bradb_ew07:46
ddaalooks like my gaim thinks it's using latin1... weird my locale is en_GB.UTF-807:46
=== ether3 [n=power@CPE00e000ae74f2-CM000f9f52bb04.cpe.net.cable.rogers.com] has left #launchpad []
kiko-afkhey niemeyer 07:54
niemeyerHiho07:54
SteveAbradb: i see A+tilde when you type that.  like .  I'm pretty sure i'm using utf-8.08:02
mdketriangular boxes?08:03
mdkes/triangular/diamond08:04
kiko-afkso am I08:05
mdkei see diamond boxes, in irssi08:05
SteveAkiko-afk: do you see e with a dot on top:  08:05
bradb_hmph08:06
kiko-afkSteveA, yes, though the char is very faint!08:06
bradb_ -- better?08:08
mdkei get the diamond box there08:08
mdkebut i think that is a well known issue with irssi08:08
=== SteveAirssi [n=steve@195.182.78.95] has joined #launchpad
SteveAirssitries to write 08:11
SteveAaha08:11
SteveAthat was supposed to be 08:11
bradb_madness08:11
bradb_normally I use Colloquy on OS X so that I don't have to think about such things08:12
=== bradb_ waves to bradb
SteveAirssitesting 08:13
SteveAirssiaha08:13
=== zerokarmaleft [n=zerokarm@ip68-12-45-133.ok.ok.cox.net] has joined #launchpad
SteveA /set term_charset UTF-8 in irssi08:14
SteveAbradb: there you go08:14
kiko-afk08:15
bradb_SteveA: i already tried that08:15
mdke:)08:15
sivangSteveA: never worked for me as well, irssi problem?08:15
bradb_an my gnome terminal is set to UTF-808:16
bradb_s/an/and/08:16
SeveasIs there a way to remove people from the inactive members list in a group?08:17
salgadoSeveas, not yet, but there'll be one08:19
Seveassalgado, gracias08:19
Seveasany ETA on that already?08:20
=== WaterSevenUb [n=WaterSev@azevedo.astro.up.pt] has joined #launchpad
Seveasor is it just in the list of features-to-come? :)08:20
bradb_SteveA: when do we get a new version of Zope 3, btw? I'm anxious to write a lot of tests for a lot of untested things.08:20
=== gml_ [i=gml@83.156.12.119] has joined #launchpad
salgadoSeveas, it was speced during UBZ, but I haven't started implementing it yet08:21
Seveassalgado, thanks again, good to know that it'll be implemented :)08:22
salgadoSeveas, you're welcome. :)08:22
SteveAbradb_: as soon as i can.08:22
bradb_ok :)08:23
=== zerokarmaleft [n=zerokarm@ip68-12-45-133.ok.ok.cox.net] has joined #launchpad
niemeyerddaa: Where are you currently working on? branches branch?08:28
ddaaI just started working on importd2bzr.08:28
ddaaNot yet done my first commit.08:28
ddaaThe branches branch is merged.08:29
ddaaI do not plan to commit anything new there.08:29
ddaaUp to now, was busy gathering info for you and putting the importd deployment into the bzr brave new world.08:30
=== SnakeBite_ [n=SnakeBit@212.25.63.37] has joined #launchpad
niemeyerddaa: Is it pushed already?08:31
=== niemeyer will branch from rocketfuel
ddaaSince I've not done my first commit, you can consider it's published at rocketfuel/launchpad/devel :)08:32
=== jblack [i=jblack@static-209-158-45-74.scr.east.verizon.net] has joined #launchpad
ddaaI think we should not merge one another. These branches can land independently. That will make smaller reviews.08:33
niemeyerddaa: Was there a commit on rocketfuel though? ;)08:34
=== gml_ is now known as gml
ddaaniemeyer: many, but I don't claim all the credit :)08:35
niemeyerddaa: Yes, you're right.. even though depending on what you're doing we can break each other. But that's what bzr is for, right? :)08:35
niemeyerddaa: What I meant is that if we wanted to work on similar branches, I wouldn't be able to branch from rocketfuel since I could get something else. But no big deal..08:36
ddaayeah, since I'm making a new launchpad/script, there's a significant risk we step on one another's toes, but the smoother review is worth taking the risk.08:36
niemeyerddaa: launchpad/script?08:37
niemeyerAre you changing bzrsync?08:37
ddaaI mean launchpad/scripts08:37
ddaaNo, that's the driver for the custom baz2bzr lifeless promised for this week.08:38
ddaaEntirely new code.08:38
niemeyerAck08:38
ddaaWill be my first venture alone into bzrlib :)08:38
niemeyerddaa: Don't forget your towel..08:40
niemeyerddaa: And more importantly, don't panic.. :)08:40
ddaaNot this week. I plan on panicking mid-january :)08:41
niemeyerddaa: You may panic when you discover that .remove() is in WorkingTree, and .add() is in Branch, for instance. :)08:45
ddaa*gasp*08:46
niemeyerddaa: That's the kind of thing that a pie makes to a man..08:46
=== niemeyer looks to kiko..
ddaaI just need to do sftp pull and push, and some checking around that.08:46
ddaaand calling baz2bzr08:47
=== ddaa wrap his towel round his face, just in case
=== bradb_ loves this question: Shelve these changes, or restart? [yrsiq?] (y)
ddaahint: press "?"08:48
bradb_"Are you happy with these changes, or do you want to erase your entire hard drive? [Yn] "08:48
ddaaI find that a reasonably intuitive interface08:49
niemeyerbradb: Is it a question? "You're sick?"08:49
ddaabradb_: bad faith, the shelve question accepts a "yes" answer.08:49
bradb_ddaa: the point is this: to me "y" means yes. If the question is "did you like it or did you hate it?" what does the answeer "yes" mean?08:49
bradb_s/answeer/answer/08:49
ddaabradb_: it's "do this, or do something else"08:50
niemeyer"no"08:50
ddaa"no" does not work08:50
ddaabut "yes, do this" works08:50
ddaathe alternative is "please do something else"08:51
=== bradb_ files a bug
ddaamaybe I have been exposed to Vorlon rethoric for too long...08:51
bradb_ddaa: you too close to the source dude :)08:52
bradb_s/you/you're/08:52
bradb_or the legacy of it, in any case08:52
ddaaMh... in Vorlon rethoric, when one is close to the source, the thing to say is "Jump".08:52
=== niemeyer leaves..
niemeyerSee ya09:20
=== tristee [n=slaker@216-155-71-126.bk1-dsl.surnet.cl] has joined #launchpad
tristeealguien habla espaol?09:31
kikosi hombre09:35
kikoque pasa09:35
tristeeal cuanto tiempo09:37
tristeellega los cd de ubuntu09:37
tristeekiko ?09:40
kikotristee, entre 4 e 12 semanas09:41
kikoy 12 09:41
tristeemas no?09:42
=== sivang tries to parse :)
lifelessmorning09:47
lifelessddaa: we have fields in the db for that diagnostic09:49
=== dsas [n=dean@host86-129-18-2.range86-129.btcentralplus.com] has joined #launchpad
dsasHi people, I've got a quick rosetta question: What's the typical criteria for joining a translation team ?09:56
dsas(for a ubuntu team) or is that a question for another channel?09:57
=== fabbione [n=fabbione@port49.ds1-van.adsl.cybercity.dk] has joined #launchpad
sivangdsas: well, I guess that depends on the lanugage you want to join translating in, and maybe on past translation work that you do. At least that's how I filter my translation team approvals. (I tend to try and see how many good translations were done by each requester)10:00
sivangdsas: since approved translator can actually overide others work, it's important to gain trsut in them before approving them10:01
dsasahh, only en_GB, I made 25ish "suggestions", but then thought maybe I should join the team first...So I applied and haven't heard anything back - so thought I'd misread some criteria or something....10:02
sivangdsas: well, bnetter ask the administrator for that team10:02
sivangdsas: I mean, directly. Basically if he's happy with you, he would probably go ahead and approve you.10:03
dsasYeah I dropped him an email a few days ago...there's been about 6 other people apply via launchpad who haven't been accepted too.10:03
dsasor rejected.10:04
dsasalthough the guy (mez) is a ubuntu developer and admins a bunch of other groups.. he's probably got a lot of other stuff on, i may just be being impatient :)10:05
sivangdsas: interesting. he hasn't come online for a few days, IIRC10:06
sivangdsas: (I know him)10:06
dsassivang: ahh ok, that probably explains things...I'll drop him a mail in a week to see what's happening.10:08
sivangdsas: yes, that was going to be my next suggestion :) cool then, let me know if you didn't get anything sorted by next week ok?10:08
dsasWouldn't it be useful for a group to have more than one administrator wherever possible? That way if one person is busy another can pick up the slack?10:08
dsassivang: will do :)10:09
sivangdsas: that is a great idea, you can bring this up on today's CC meeting (roghly 50 minutes from now, #ubuntu-meeting)10:09
sivangdsas: 10:00UTC to be more precise10:10
dsassivang: Thanks, that gives me plenty of time to get some toast :) I'll come along.10:11
sivangdsas: cool10:12
ddaalifeless: what diagnostic?10:38
lifelessddaa: 'what branches were mirrored today'10:39
ddaagn?10:39
ddaawhat are you answering to?10:39
lifelessyou and stub about cron job output10:39
ddaathat was not about mirorring10:40
lifelessit was about bzrsync right ?10:40
ddaayes10:40
lifelesswhich is (in my head) the second step of mirroring10:40
lifelessits what I meant anyway ;010:41
ddaayou can see it that way, but it's done by a different subsystem, asynchronously10:41
lifelessindeed10:41
ddaaBTW, I think bzrsync is indeed abusing the the mirroring status field.10:41
ddaaBut that's for the supermirror, not bzrsync.10:41
lifelessprobably. Maybe we should have two fields ?10:41
ddaaI think it would indeed make sense to have a set of fields for driving and monitoring bzrsync.10:43
ddaaBTW, I'd like this bazaar scanning thing to be called bazaard.10:44
ddaaparallel to importd10:44
lifelesswell10:44
lifelessif we have a smart server10:44
lifelessbazaard should be that10:44
lifelessso, I think bazaard for bzrsync would be squatting10:44
ddaacouple of thoughts about that: 10:45
ddaabazaard does not squat, in the context of launchpad10:45
ddaaand I'd think about the smart server as bazaarserv or something like that.10:45
lifelesssure it does, as a smart server running on the supermirror is maintained by the same folk10:45
lifelesshttpd; smtpd; ftpd; there is a long history of 'the thing that implements the server protocol being PROTOCOL+d'10:46
ddaabuildd10:46
ddaaimportd10:46
lifelessright10:46
lifelessimportd does imports10:46
lifelessbuildd does builds10:46
lifelessbazaard should do bazaar. And we have multiple bazaar things in play10:47
ddaabazaard does bazaar, that is the branch view in launchpad10:47
lifelessbzrsyncd10:47
ddaaThat's starting to be too long an argument for its own sake. But I'd like to say that this "sync" concept makes me uncomfortable.10:47
ddaaIt's not syncing anything, it's scanning, scraping, importing...10:48
ddaabtw I already sent a rt for creating a bazaard user.10:49
lifelesscool10:49
lifelessish10:49
lifelessso, find a name++. using bazaard for this--.10:50
ddaaso, backto previous topic10:51
ddaaI think it would indeed be useful to have a set of field to drive whateverd10:51
ddaaand monitor10:51
lifelessagreed10:52
ddaalast successful sync time, last success status, whether an immediate sync is requested, maybe last attempt timestamp.10:52
ddaaBut it's not for right now.10:52
lifelessright.10:52
lifelessbzrscand perhaps ?10:52
lifelessanyway, please consider the name heavily, I'm very uncomfortable with bazaard for this task.10:53
ddaaokay, I'll pick some other name10:54
=== WaterSevenUb [n=WaterSev@azevedo.astro.up.pt] has joined #launchpad
ddaai need to leave now, tomorrow I'd like to have a chat with you about the security implications of the stuff I have drafted this weekend to become the actual daemon.10:55
lifelessok10:55
ddaayou know, my replacing-buildbot pet peeve :)10:55
lifelessI suggest you email me10:55
lifelessbecause I have slug and acs this week10:55
ddaagood idea, I'll CC niemeyer and Kinnison, as we'll be looking for opportunities to consolidate with buildd.10:56
lifelessgiven the various moving parts, I'm not at all sure replacing is the right thing, so I'd really like to see a gap analysis10:56
ddaaThe gap is simple: buildbot cannot do non-trivial scheduling.10:58
lifelessemail10:58
ddaaok10:58
ddaacya10:58
lifelessnight11:09
jordikiko-afk: man, you made it back11:14
=== bradb [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has left #launchpad []
=== BjornT_ [n=bjorn@84.32.140.183] has joined #launchpad
kiko-afkjordi, so I did, so I did12:00
jordikiko-afk: how did the adventure end?12:01
kiko-afkin new york a few days later12:01
kiko-afkI ended up rushing to the airport too, can you believe it?12:02
jordiheh12:02
jordiwas it at direct flight?12:02
kiko-afkyes, nyc to so paulo 12:03

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