=== jblack_ [~jblack@mercury.merconline.com] has joined #launchpad | ||
=== spiv_ [~andrew@fuchsia.puzzling.org] has joined #launchpad | ||
=== debonzi [~debonzi@200.158.100.251] has joined #launchpad | ||
jblack_ | debonzi: ping | 12:39 |
---|---|---|
lalo | whaaaaa | 12:41 |
lalo | my bug disappeared :-( | 12:42 |
lalo | ah, no, here it is. :-) | 12:42 |
lalo | whoop, there it is... | 12:49 |
=== lalo [~lalo@200-096-070-061.paemt7014.dsl.brasiltelecom.net.br] has joined #launchpad | ||
daf | SteveA: is it a Soyuz or a Launchpad meeting that's happening at 12:00 UTC? | 01:02 |
kiko | on monday? soyuz afaik. | 01:08 |
carlos | daf: tomorrow is launchpad, on monday, soyuz | 01:09 |
kiko | right. | 01:10 |
daf | oh, I see | 01:12 |
=== kiko is now known as kiko-afk | ||
lalo | daf: is there any way yet to run the importer from the web interface? | 01:26 |
lalo | I have reason to believe #1935 would only happen in the script and ftest - it seems to be tied to the "zopeless" code in canonical.database | 01:26 |
daf | no, you can't import over the web yet, but it will be imported | 01:27 |
daf | s/imported/implemented/ | 01:27 |
lalo | pity - I would like to test this hypothesis, but I don't want to spend an hour hacking traversal just for this :-P | 01:28 |
daf | you might well be right | 01:30 |
lalo | ugh | 01:34 |
lalo | I'm right :-P | 01:34 |
lalo | zopeless is simply discarding values | 01:34 |
lalo | the only thing that acutally *happens* on a zopeless setup is an insert, or so it seems | 01:34 |
debonzi | jblack_, pong | 01:34 |
=== lalo takes a big breath and starts trying to figure it out | ||
daf | I traced the code | 01:35 |
daf | what happens is this: | 01:35 |
daf | in the adapter code, something like "msgset.sequence = self.len" is executed | 01:36 |
jblack_ | debonzi! Lets fix your problem. :) | 01:36 |
daf | this invokes an SQLObject function | 01:36 |
daf | which sets a value somewhere and also sets a dirty flag on the msgset object | 01:36 |
daf | but it seems that the value is never actually written to the database | 01:37 |
daf | SQLBase is also involved somewhere | 01:37 |
SteveA | I think I know what might be happening | 01:37 |
SteveA | stub and I looked at problems with transactions / writing to the database | 01:37 |
SteveA | there's code in canonical.publishing that deals with this | 01:38 |
SteveA | by clearing an sqlobject or sqlos connection cache | 01:38 |
SteveA | and explicitly starting transactions etc. | 01:38 |
SteveA | This code won't be invoked for a zopeless setup | 01:38 |
SteveA | perhaps it is needed in this casE? | 01:39 |
lalo | oh | 01:39 |
lalo | you're talking about it? sorry :-P was looking at the code | 01:39 |
lalo | here's what happens | 01:39 |
lalo | the "zopeful" setup uses sqlos transaction objects | 01:40 |
SteveA | get_transaction().begin() | 01:40 |
SteveA | name = getUtility(IConnectionName).name | 01:40 |
SteveA | key = (thread.get_ident(), name) | 01:40 |
SteveA | cache = sqlos.connection.connCache | 01:40 |
SteveA | if cache.has_key(key): | 01:40 |
SteveA | del cache[key] | 01:40 |
SteveA | 01:40 | |
lalo | so when an object is marked "dirty", it's inserted in a queue of objects that have to be flushed | 01:40 |
SteveA | do that at the start of the script | 01:40 |
SteveA | and get_transaction().commit() at the end | 01:41 |
lalo | the zopeless setup doesn't have any similar logic - there is no queue of objects to flush, so when the transaction is committed, there is no way to know what objects must be sync'ed | 01:41 |
lalo | (the "queue flush" thing of sqlos basically calls the sync() method of each object in the queue) | 01:41 |
daf | SteveA: I tried putting in a get_transaction().commit() at the end | 01:42 |
daf | (naiively) | 01:43 |
lalo | there seems to be, on first read, two possible fixes - either do make a queue of objects to sync(), or don't set lazyUpdates at all | 01:43 |
lalo | I think for a script or ftest the second approach may be better suited | 01:43 |
SteveA | lalo: I need to go to sleep now. Can you send a mail to the launchpad list with what you've found out, after you've done a bit more trying things? | 01:45 |
lalo | ok | 01:45 |
SteveA | thanks | 01:45 |
lalo | np | 01:45 |
daf | SteveA: wouldn't adding comments to the bug make sense? | 01:45 |
SteveA | daf: perhaps. I want spiv and stub to see this. | 01:46 |
daf | then perhaps they should be CC'd to the bug | 01:46 |
=== carlos goes to bed and tries to recover the hours he wasted programming on Powerbuilder instead of sleep since last week | ||
carlos | see you tomorrow | 01:46 |
lalo | I think I'll post to the list with a summary of what's going on and an URL to the bug | 01:47 |
lalo | carlos: 'nite | 01:47 |
lalo | suppose we need a component for this kind of stuff (database, sqlo, sqlos, canonical.database) | 01:49 |
=== lalo does a dance | ||
daf | lalo: yes, a component would make sense | 01:53 |
lalo | removing SQLBase._lazyUpdates makes my tests pass :-D | 01:55 |
lalo | yay for being right | 01:55 |
lalo | just have to be sure to commit at the end of the script | 01:56 |
lalo | ...which we're already doing, so it's ok | 01:56 |
lalo | launchpad_test=# select * from pomsgset where sequence = 0; | 02:00 |
lalo | id | primemsgid | sequence | potemplate | pofile | iscomplete | obsolete | fuzzy | commenttext | filereferences | sourcecomment | flagscomment | 02:00 |
lalo | ----+------------+----------+------------+--------+------------+----------+-------+-------------+----------------+---------------+-------------- | 02:00 |
lalo | (0 registros) | 02:00 |
=== kiko-afk is now known as kiko | ||
daf | lalo: hurrah! | 02:02 |
lalo | hmm. canonical.database is in launchpad, so technically I can commit | 02:03 |
lalo | not very sure how to proceed in this case :-/ | 02:03 |
lalo | who is the right person to poke about the bugzilla component? | 02:06 |
=== lalo decides the list is it :-P | ||
daf | Steve or Dave can do it | 02:07 |
lalo | then the list is it indeed | 02:10 |
debonzi | SteveA, Hi | 02:16 |
debonzi | spiv_, ping | 02:17 |
debonzi | spiv_, I saw that some links in sourcepackage still broken.. I'm gonna to fix it tonight I sent the changes to rocketfuel tomorrow morning.. see u | 02:21 |
debonzi | s/I sent/and send | 02:21 |
=== debonzi go dinner | ||
kiko | jblack_, you missed him again :-( | 02:22 |
jblack_ | no I didn't. | 02:23 |
jblack_ | that's why he disapeared for awhile right after he came back. I hooked 'em | 02:23 |
kiko | ah. | 02:26 |
kiko | did you fix it? :) | 02:26 |
=== jblack_ grins | ||
=== lalo is off for the night - be back in a few hours | ||
jblack_ | lol | 02:38 |
=== lalo [~lalo@200-102-075-177.paemt7014.dsl.brasiltelecom.net.br] has joined #launchpad | ||
=== kiko is now known as kiko-afk | ||
=== stub [~zen@dialup-131.80.220.203.acc05-dryb-mel.comindico.com.au] has joined #launchpad | ||
=== lalo [~lalo@200-180-185-073.paemt7003.dsl.brasiltelecom.net.br] has joined #launchpad | ||
=== stubish [~zen@dialup-30.83.220.203.acc06-dryb-mel.comindico.com.au] has joined #launchpad | ||
=== justdave_ [~dave@24.247.63.44.gha.mi.chartermi.net] has joined #launchpad | ||
=== justdave_ is now known as justdave | ||
=== jblack_ is now known as jblack | ||
=== sabdfl [~mark@wblv-228-55.telkomadsl.co.za] has joined #launchpad | ||
=== Signon time : Tue Sep 7 09:17:35 2004 | ||
=== Signoff time : Thu Sep 9 09:51:49 2004 | ||
=== Total uptime : 2d 0h 34m 14s | ||
=== warthylog [~warthylog@port1845.ds1-khk.adsl.cybercity.dk] has joined #warthogs | ||
=== Topic for #warthogs: /join #ubuntu | ||
=== Topic (#warthogs): set by Keybuk at Tue Sep 7 20:30:22 2004 | ||
=== #warthogs [freenode-info] help freenode weed out clonebots, please register your IRC nick and auto-identify: http://freenode.net/faq.shtml#nicksetup | ||
=== warthylog [~warthylog@port1845.ds1-khk.adsl.cybercity.dk] has joined #launchpad | ||
=== Topic for #launchpad: <kiko> how's england? <daf> wet <daf> but soon, I will go back to Wales <kiko> and how will wales be? <daf> probably wet, too | ||
=== Topic (#launchpad): set by kiko at Fri Aug 27 16:07:21 2004 | ||
=== #launchpad [freenode-info] why register and identify? your IRC nick is how people know you. http://freenode.net/faq.shtml#nicksetup | ||
=== Signon time : Thu Sep 9 09:51:53 2004 | ||
=== Signoff time : Thu Sep 9 09:53:00 2004 | ||
=== Total uptime : 0d 0h 1m 7s | ||
=== warthylog [~warthylog@port1845.ds1-khk.adsl.cybercity.dk] has joined #launchpad | ||
=== Topic for #launchpad: <kiko> how's england? <daf> wet <daf> but soon, I will go back to Wales <kiko> and how will wales be? <daf> probably wet, too | ||
=== Topic (#launchpad): set by kiko at Fri Aug 27 16:07:21 2004 | ||
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has joined #launchpad | ||
lulu | Hi guys - anyone know how the Rosetta logo came about? Who made it? and is it from clip art? | 11:01 |
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad | ||
carlos | morning | 12:13 |
lulu | hi carlos | 12:15 |
=== doko [doko@dsl-082-082-140-133.arcor-ip.net] has joined #launchpad | ||
lulu | carlos: the Rosetta server is down - do you know how to fix it? | 12:51 |
carlos | no, sorry. I don't have access to it | 12:52 |
carlos | daf is the only one with an account in that server and perhaps lalo, but I'm not sure | 12:52 |
lulu | I am sure spiv and Stu also have. | 12:54 |
lulu | spiv: u around? | 12:54 |
spiv_ | lulu: Just woke up :) | 12:54 |
lulu | morning hon! sleep well? | 12:54 |
lulu | spiv: would u mind checking the rosetta server mate - it's down and I'd like it available if at all possible. thanks in advance :o) | 12:55 |
spiv_ | I don't think I have an account on it. | 12:55 |
spiv_ | I just tried, and I don't seem to :/ | 12:56 |
spiv_ | lulu: I always sleep well, it's the waking up that's the problem ;) | 12:56 |
lulu | mmm - this isn't good - we need to have more than one person who can kickstart it when down....can't rely on only one person. All launchpad team leaders should have access. I'll chat to Stevo. | 12:57 |
lulu | spiv: :o) | 12:57 |
lulu | SteveA: ping | 12:57 |
lulu | daf: ping | 12:58 |
lulu | Carlos: how are your graphs looking? | 12:58 |
=== spiv_ is now known as spiv | ||
sabdfl | meeting in 60 mins right? | 01:00 |
carlos | lulu: the graphs are in place, waiting for the changes from Limi | 01:00 |
carlos | sabdfl: yes | 01:00 |
lulu | carlos: what changes are required from limi? | 01:02 |
carlos | lulu: png and css changes | 01:02 |
carlos | we are using still my images | 01:02 |
lulu | carlos: ok. I'll add that to the to do list. Anything else you need from limi next week on Rosetta? | 01:03 |
carlos | lulu: he should do a global review of all UI, It's the bug #1934 | 01:04 |
carlos | https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=1934 | 01:05 |
carlos | https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=1934 | 01:05 |
lulu | carlos: ok - does he have an account on Bugzilla? | 01:05 |
carlos | yes | 01:05 |
lulu | carlos: good - thank you. | 01:05 |
lulu | carlos: as the server is down - I can't see if the warty applications have been added to the home page of Rosetta. | 01:07 |
lulu | have they? | 01:07 |
carlos | lulu: limi added some code to the templates | 01:07 |
carlos | but it's not done | 01:07 |
carlos | finised | 01:07 |
carlos | grrr | 01:07 |
carlos | finished | 01:08 |
carlos | wait I will take a screenshot of my local installation | 01:08 |
lulu | does that need limi, or can you guys just hard code the links? | 01:08 |
carlos | If that's the final UI it will have, we don't need limi | 01:09 |
carlos | https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=1932 | 01:09 |
carlos | that's the bug report related with that feature | 01:09 |
carlos | lulu: and this is the metabug https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=1915 that list all pending things for the Alpha release | 01:10 |
carlos | any bug report you add should block that one | 01:10 |
carlos | that way we are sure we don't forget anything | 01:10 |
=== lulu just creating a bugzilla account... | ||
carlos | lulu: http://gollum.pemas.net/~carlos/Screenshot-Rosetta.png | 01:12 |
carlos | that's the main page now | 01:12 |
lulu | ok - the translatable packages in Ubuntu - do we have all of those in the database? | 01:13 |
lulu | if not, we need to get them in, with the correct title, descriptions and package names. | 01:14 |
lulu | i haven't looked at the bug, but is inputting the data part of it? | 01:14 |
carlos | lulu: we are creating the scripts to do it | 01:14 |
lulu | carlos: who is? and when will they be done? | 01:14 |
carlos | and we need to talk with arch people to fetch the projects from the arch repository | 01:14 |
lulu | ok - who's responsible for this task? | 01:15 |
carlos | https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=1931 | 01:15 |
carlos | I'm creating the script to create persons into launchpad | 01:15 |
carlos | so I suppose I will create also that script | 01:16 |
lulu | carlos: it's assigned to Daf I see....depends on how many bugs you have, Daf has, Lalo has.....and if he needs to delegate it to you. | 01:18 |
lulu | how many rosetta bugs do we have outstanding? | 01:18 |
carlos | lulu: all bug reports are assigned by default to Daf | 01:19 |
carlos | as soon as we are free, we pick any bug with the NEW tag and change the assgned field | 01:19 |
lulu | ok - if you want to take it on, then great. we go live next week..... | 01:20 |
carlos | lulu: https://bugzilla.warthogs.hbd.com/bugzilla/showdependencygraph.cgi?id=1915 | 01:20 |
carlos | there you will see the status with a graph | 01:20 |
carlos | the green ones are the open ones, the grey ones are fixed already | 01:21 |
lulu | ok - lots to do....I'll let you get on with it Carlos...hope Daf wakes up soon. | 01:22 |
carlos | lulu: ok, but don't worry, some bugs are trivial to fix | 01:24 |
lulu | carlos:then lets get them done....running out of time! :o( | 01:25 |
daf | hi | 01:33 |
carlos | daf: morning | 01:34 |
lulu | daf:hiya | 01:35 |
lulu | daf: i tried to call u this morning. jane wants to know where the rosetta logo came from - did u design it? | 01:35 |
daf | lulu: hmm, I think my phone was downstairs | 01:36 |
daf | lulu: I went to bed at 7am, so I might not have heard it annyhow :) | 01:36 |
daf | lulu: yes, I designed the logo | 01:36 |
lulu | daf: cool - did u use clipart? | 01:37 |
daf | lulu: nope | 01:37 |
lulu | daf: drew it? | 01:37 |
daf | yes | 01:37 |
lulu | daf: good - will you get in touch with Jane then - she sent an email to Warthogs. cheers! | 01:38 |
lulu | daf: why bed so late/early? | 01:38 |
daf | lulu: it happens to my sleep patterns... I was fixing bugs :) | 01:38 |
daf | lulu: right, hadn't read my mail yet today -- I'll reply now | 01:39 |
lulu | daf: good to hear u fixing bugs :o) we have 4 days to go, so we need to squash as many as possible asap. hows; the schedule looking today? | 01:40 |
lulu | daf: thanks :o) | 01:40 |
carlos | daf: wow... no more plural forms missing error :-P | 01:50 |
daf | carlos: yeah, I finally got around to fixing it | 01:52 |
carlos | daf: the po traversal is working now. | 01:53 |
daf | oh, great! | 01:54 |
carlos | when we don't have a pofile, I suppose we could export the .pot file, right? | 01:54 |
carlos | it fails now | 01:54 |
daf | hmm | 01:54 |
carlos | or show only a message? | 01:54 |
daf | what's the URL? | 01:54 |
carlos | it's not yet at rocketfuel | 01:54 |
carlos | but for instance: | 01:54 |
carlos | http://localhost:8085/++skin++Debug/rosetta/projects/gnome/evolution/evolution-2.0/cy/po | 01:54 |
daf | I'm not sure which is best | 01:55 |
carlos | that will fail because we don't have the cy pofile (yet) | 01:55 |
daf | by the way: what do you think on having the PO file as an attachment vs. having it inline? | 01:55 |
carlos | hmm, in fact, http://localhost:8085/++skin++Debug/rosetta/projects/gnome/evolution/evolution-2.0/cy also fails so we should fix it also | 01:55 |
carlos | daf: GTP people prefers them as inline | 01:55 |
carlos | like you | 01:56 |
daf | what's your opinion? | 01:56 |
carlos | daf: that's an easy change | 01:56 |
carlos | I think that you should download it and open with an editor | 01:56 |
carlos | but it's long ago since my last active translation, so perhaps I don't have in mind the real user case | 01:57 |
daf | I'm not 100% sure about -- I prefer inline myself, but I don't know what other people like | 01:57 |
carlos | I suppose we will know it with the alpha :-) | 01:58 |
daf | :) | 01:59 |
daf | carlos: once you have finished the traversal, do you have other things to work on? | 01:59 |
carlos | Choose any bug from the list of pending things | 02:00 |
SteveA | hi folks. Launchpad meeting here in 1 minute! | 02:00 |
carlos | SteveA: hi | 02:00 |
carlos | daf: I was thinking on implement the project/product/resource creation script | 02:00 |
carlos | #1931 | 02:00 |
sabdfl | hi all | 02:00 |
lulu | hiya! | 02:01 |
=== cprov [~cprov@200-206-134-238.async.com.br] has joined #launchpad | ||
spiv | cprov: Hello :) | 02:01 |
cprov | spiv: hi | 02:01 |
=== debonzi [~debonzi@200-206-134-238.async.com.br] has joined #launchpad | ||
spiv | Just in time :) | 02:02 |
daf | hi mark | 02:02 |
carlos | hi * | 02:03 |
SteveA | cprov, debonzi: hi. Can kiko make it to this meeting? | 02:03 |
cprov | SteveA: of course, just one minute more :) | 02:03 |
SteveA | ok, thanks | 02:03 |
debonzi | SteveA, Hi | 02:03 |
=== kiko [~kiko@200-206-134-238.async.com.br] has joined #launchpad | ||
sabdfl | ok, should we get going? | 02:04 |
kiko | by me, bombs away | 02:04 |
SteveA | let's | 02:04 |
sabdfl | stevea, could you set the stage, then let's have each team describe status and issues | 02:05 |
sabdfl | go ahead steve | 02:05 |
SteveA | what I'd like to do today is to talk with each team about exactly what the current short-term and medium-term goals for their part of launchpad is | 02:07 |
=== sabdfl [~mark@wblv-228-55.telkomadsl.co.za] has joined #launchpad | ||
SteveA | and how they are progressing towards those goals | 02:07 |
SteveA | what things are standing in the way of progres | 02:08 |
SteveA | s | 02:08 |
SteveA | Can we start with the soyuz team? | 02:08 |
SteveA | I spoke with kiko yesterday about how that is going | 02:09 |
spiv | Ok. | 02:09 |
SteveA | and we're having a meeting on monday to go through the system, as checked in | 02:09 |
SteveA | and go through all of the soyuz functionality | 02:09 |
SteveA | but first, | 02:09 |
SteveA | what are the current short-term and medium-term goals of the soyuz project? | 02:09 |
kiko | well | 02:10 |
kiko | (short-term meaning pre-sprint, I assume) | 02:10 |
kiko | we've got the functionality we discussed at the oxford hackathon laid down | 02:10 |
kiko | and we have been producing mockups and implementing them | 02:11 |
sabdfl | how are we doing on the db-to-html mapping? | 02:11 |
kiko | something like fire and motion | 02:11 |
sabdfl | fire and motion? | 02:11 |
kiko | all pages are intended to be db-backed, and there are very few things left that are stubbed out | 02:11 |
sabdfl | ok, is this accessible on rosetta.warthogs.hbd.com yet? | 02:12 |
SteveA | kiko: am I right in recalling that you think that all will be DB-backed by the meeting on monday? | 02:12 |
daf | https://rosetta.warthogs.hbd.com/soyuz | 02:12 |
kiko | most of the stubbed out information remaining is stuff that hasn't been really discussed or doesn't have db backage yet. | 02:12 |
kiko | SteveA, well, certainly not *all* of the content in the pages, but all the content which can be displayed from the database (given our existing database infrastructure) | 02:13 |
SteveA | ok | 02:13 |
kiko | if you look at the checklist and at the pages you'll see there's not a lot left. | 02:13 |
SteveA | so, on monday, I'd like to go through each relevant database entity, and we'll look at the page(s) that present it | 02:13 |
sabdfl | in that case well done | 02:13 |
kiko | as I said yesterday, by the middle of next week, unless we have a trusted domain expert that can guide us into moving the database forward together with the pages, we'd like to be assigned some extra work. | 02:14 |
SteveA | kiko: so, there are some changes to the database that you want to discuss. Can these be discussed at the sprint? | 02:14 |
kiko | they can, but that leaves us with ~ 10 days that could be invested somewhere that needed it. | 02:14 |
SteveA | sabdfl: how about I get at least one of them to help me with infrastructure? | 02:15 |
sabdfl | good idea | 02:15 |
kiko | now | 02:15 |
SteveA | (actually, kiko suggested it in our meeting yesterday) | 02:15 |
SteveA | (thanks kiko) | 02:16 |
sabdfl | we need a consolidation / cleanup process that spans the infrastructure | 02:16 |
kiko | (y/w) | 02:16 |
SteveA | I can lead that, but I don't have time to execute it all | 02:16 |
kiko | now, medium and long-term we are *really* in need of someone to guide us more closely | 02:17 |
sabdfl | steve, can you map out the areas that need that work for me this afternoon, then I can give the go-ahead on async time for that | 02:17 |
SteveA | you mean, a package maintainer, a user of souyz | 02:17 |
kiko | well, a soyuz user, yes, but someone with a reasonable vision of how everything should fit together and time to spend with us | 02:18 |
SteveA | sabdfl: I can send you a short bullet-pointed list. Will that be enough? I already have a lot of work planned for this afternoon. | 02:18 |
sabdfl | yes, that's fine | 02:18 |
kiko | so far we've been winging it based on what we know about distributions and what we discussed at oxford, but we're running low of fuel already | 02:18 |
SteveA | sabdfl: ok, willdo | 02:19 |
sabdfl | kiko: we can cover a lot of ground during the sprint | 02:19 |
sabdfl | daf: rosetta passwd? | 02:19 |
kiko | sabdfl: great, but we would appreciate someone after that that could be in close contact, do you think we can arrange someone with the cycles for that? | 02:20 |
daf | sabdfl: wartyhoarygrumpy, I think | 02:20 |
spiv | kiko: I should be more available from now on. The US leg of my travelling was more disruptive than I'd anticipated. | 02:20 |
SteveA | spiv: even so, you're not a domain expert. You don't know what a package maintainer needds. | 02:21 |
kiko | spiv, problem is we need someone who really can make decisions based on domain knowledge | 02:21 |
sabdfl | that did the trick, thanks | 02:22 |
spiv | Good point. | 02:22 |
SteveA | kiko: the immediate goal is presenting what's in the database | 02:22 |
kiko | that's already in its final steps | 02:22 |
SteveA | we'll look over progress towards that on monday | 02:22 |
sabdfl | elmo and kinnison will get going on archive management stuff at high speed | 02:22 |
kiko | soyuz team needs a more distant horizon to work with from there on :-) | 02:23 |
sabdfl | as soon as we are using their new code for archive management we can dogfood ubuntu, which will mean LOTS of users | 02:23 |
SteveA | kiko: are there any database changes that you need? | 02:23 |
sabdfl | i believe our db is already a nice superset of the existing db management stuff, so that should go quickly | 02:23 |
kiko | SteveA, there are some, yes. | 02:23 |
SteveA | kiko: is there a wiki page, or something like that, listing them? | 02:24 |
SteveA | sabdfl: when will elmo and kinnison start that? | 02:24 |
cprov | daf: is https://rosetta../ working ? I'm just getting blank pages | 02:24 |
SteveA | daf: same here | 02:25 |
daf | oh, me too | 02:25 |
daf | it was working a minute ago | 02:25 |
sabdfl | SteveA: at the sprint | 02:25 |
kiko | SteveA, not summarizing DB changes by themselves, we have a checklist, some wiki bullet items and a couple of email requests. | 02:25 |
SteveA | great. | 02:25 |
kiko | SteveA, we'll summarize them. | 02:25 |
SteveA | kiko: ok, we can go through those on monday too. | 02:25 |
daf | SteveA: I'm getting some interesting Zope errors on the server | 02:26 |
SteveA | daf: let's look at it after this meeting | 02:26 |
kiko | sure. | 02:26 |
SteveA | is that everything for soyuz so far? | 02:26 |
sabdfl | i have a question | 02:27 |
sabdfl | what sort of sample data are you guys using? | 02:27 |
spiv | Completely hand-crafted. | 02:27 |
daf | SteveA: hmm, restarting the server made it go away -- perhaps it was demo-bogons | 02:27 |
SteveA | daf: keep the logs | 02:27 |
spiv | It would be good to start basing it on actual real data. | 02:27 |
SteveA | is there anything stopping us from using real data? | 02:28 |
kiko | SteveA, well.. is there real data? | 02:28 |
daf | SteveA: logs are always kept | 02:28 |
spiv | Do we already have tools for extracting metadata from deb packages, and that sort of thing? | 02:28 |
SteveA | daf: mail the relevant ones to me please | 02:28 |
spiv | I'd guess sourcerer has some of this stuff. | 02:28 |
kiko | the sample data is built from what we *think* would be reasonable | 02:29 |
kiko | but you have to realize that some of the stuff -- release team, for instance -- doesn't exist anywhere that I know of | 02:29 |
kiko | the package side of things could be extracted from ubuntu debs, definitely | 02:30 |
SteveA | so, a good task starting next week is to get real sample data in there, augmented with made up data where needed | 02:30 |
kiko | maybe that's a task for 50% of the soyuz team post-next-week. | 02:30 |
kiko | yeah, agreement | 02:30 |
spiv | Yep. | 02:30 |
sabdfl | i'm trying to figure out if we can get the system to monitor our archive and automatically try to represent the data in there | 02:30 |
sabdfl | elmo: listening in? | 02:31 |
SteveA | do you mean monitor, as in "real time", or as in "let's import/sync with the archive from time to time" ? | 02:32 |
kiko | that would be awesome, but does keybuk's team have the tools up to speed to give us this data? | 02:32 |
sabdfl | sync from time to time | 02:32 |
SteveA | phew | 02:32 |
debonzi | daf, could you please merge into rosetta.warthogs.hdb.com the fix I've sent to rocketfuel | 02:32 |
sabdfl | there's a database used to manage the existing archive, it's part of a set of tools called "katie" that james mostly wrote for debian | 02:32 |
elmo | sabdfl: yeah | 02:32 |
daf | debonzi: sure | 02:32 |
debonzi | daf, thanks | 02:33 |
sabdfl | and james and daniel (silverstone) will write a new set for us | 02:33 |
daf | debonzi: hmm, it says that everything is up to date | 02:33 |
sabdfl | elmo, is the katie db for auckland on auckland? | 02:33 |
elmo | no, it's on jackass - auckland is the public mirror machine, jackass is the private master archive server | 02:33 |
debonzi | daf, realy? I've sent a fix for sourcepackage pages some minutes ago. | 02:34 |
sabdfl | do you think you could send a dump of the db to kiko and me? | 02:34 |
kiko | ah, killer | 02:34 |
daf | debonzi: is the merge complete yet? | 02:34 |
spiv | daf: Yep. | 02:34 |
daf | yeah, I see it | 02:34 |
debonzi | daf, I think so | 02:34 |
debonzi | daf, nice :) | 02:34 |
elmo | sabdfl: it's 2.5Mb compressed - shall I make it available via http and send you the URL ? | 02:35 |
sabdfl | sure | 02:35 |
daf | debonzi: is it working? | 02:35 |
sabdfl | thanks elmo | 02:35 |
daf | hmm, no it's broken again | 02:35 |
debonzi | daf, I've got black page | 02:35 |
debonzi | s/black/blank | 02:35 |
kiko | elmo, url is good. | 02:36 |
daf | last page accessed before it broke was /soyuz/distros/ubuntu/src/warty | 02:36 |
daf | same error as before | 02:36 |
SteveA | daf: I see what the problem is. | 02:36 |
cprov | daf: It was me :) something is broken on SQLObject | 02:36 |
SteveA | Anything more for soyuz? | 02:37 |
daf | cprov: oops :) | 02:37 |
SteveA | Let's move on. | 02:38 |
SteveA | Rosetta. | 02:38 |
SteveA | daf: the immediate goals for rosetta, | 02:38 |
cprov | spiv: can we talk on #soyuz ? | 02:38 |
SteveA | and how are things progressing towards it | 02:38 |
daf | immediate goal: fix all bugs which prevent the alpha release | 02:38 |
sabdfl | daf: can you give me a status on rosetta first please? | 02:38 |
daf | you can see these here: | 02:38 |
daf | https://bugzilla.warthogs.hbd.com/bugzilla/showdependencygraph.cgi?id=1915 | 02:38 |
spiv | cprov: Ok. | 02:39 |
daf | some of those have been fixed, but are waiting on merges to rocketfuel | 02:39 |
SteveA | daf: the wiki page that describes what "alpha release" means? | 02:39 |
daf | SteveA: good idea | 02:40 |
daf | https://www.warthogs.hbd.com/RosettaAlpha describes our goals for the alpha release | 02:40 |
elmo | kiko/sabdfl: sent | 02:40 |
kiko | thanks james | 02:41 |
daf | once we have our alpha-critical bugs fixed, we'll have real projects imported into a test server which we'll make available to our testers | 02:41 |
SteveA | we'll make the test server available as rosetta.ubuntulinux.org | 02:41 |
daf | then, we'll fix any bugs we or our testers find as well as adding functionality for our beta release | 02:42 |
SteveA | daf: the other day, we were discussing the "import POT/PO -> alter through the web -> export POT/PO" cycle | 02:42 |
daf | SteveA: yep | 02:42 |
SteveA | where does that stand now? | 02:42 |
daf | it has less bugs in it than it did the other day | 02:42 |
carlos | daf: Could we add the beta release date to the wiki? | 02:42 |
SteveA | what can I do with it? | 02:42 |
daf | you can do all of those things | 02:43 |
SteveA | I can take a POT file and PO file for ProjectX, and use a script to import it (if I have access to the DB) | 02:43 |
SteveA | I can take a POT file and a PO file for ProjectX, and upload it to a web form | 02:43 |
SteveA | (good so far?) | 02:44 |
daf | you can import via a script | 02:44 |
daf | web upload is not done yet | 02:44 |
SteveA | no web form yet? | 02:44 |
SteveA | anything holding that up? | 02:44 |
daf | that's bug #1919 | 02:44 |
daf | I might need some hand-holding for implementing it, but other than that, there's nothing stopping it | 02:45 |
SteveA | When can we do it? | 02:45 |
daf | I can do it today | 02:45 |
SteveA | You need some help with the HTML form / Zope 3 aspect of it? | 02:46 |
daf | exactly | 02:46 |
daf | I'll start working on it and ask you for help when I get stuck | 02:46 |
SteveA | That is very straightforward. Let's do it at 1500 UTC. | 02:46 |
daf | sure | 02:47 |
SteveA | we'll start with the zope3 aspect, get that out of the way, and write a wiki page on how it works | 02:47 |
sabdfl | so typical process might be: | 02:47 |
sabdfl | - > upload a POT | 02:47 |
sabdfl | - > upload a PO | 02:47 |
sabdfl | - > add some translations | 02:47 |
sabdfl | - > fetch a better PO containing translations | 02:47 |
sabdfl | right? | 02:47 |
daf | exactly | 02:47 |
sabdfl | then: | 02:47 |
daf | of course, you need to have the project / product / template set up first | 02:48 |
sabdfl | - > upload a new POT | 02:48 |
sabdfl | - > add some translations for the new strings | 02:48 |
sabdfl | -> fetch a better PO | 02:48 |
sabdfl | right? | 02:48 |
carlos | sabdfl: yes | 02:48 |
SteveA | I want to check the "ready or not" status of the rest of the process. | 02:48 |
sabdfl | and finally: | 02:48 |
sabdfl | - > upload a new PO that has additional translations | 02:48 |
sabdfl | - > add some more translations through the web | 02:49 |
sabdfl | - > fetch an even *better* PO | 02:49 |
sabdfl | right? | 02:49 |
carlos | yes | 02:49 |
daf | yep | 02:50 |
carlos | daf: we need a policy about who will be able to upload .po/.pot files from the web... | 02:50 |
daf | and, of course, each step might be carried out by one person or different people | 02:50 |
sabdfl | but initially this can all work on trust | 02:50 |
sabdfl | in a small community | 02:51 |
daf | carlos: yes, this will be a permissions issue -- do you want to file a non-alpha-critical bug for this? | 02:51 |
SteveA | we can say that any person who can log into the system can upload files | 02:51 |
SteveA | that is, any $Person | 02:51 |
daf | sure, initially trust will do fine | 02:51 |
carlos | daf: sure | 02:51 |
SteveA | daf: which of the "->" points from sabdfl are not yet working? | 02:52 |
daf | SteveA: uploading through the web | 02:53 |
SteveA | but, it works with a script | 02:53 |
SteveA | so, just the web front-end on that | 02:53 |
daf | SteveA: also, I'm not sure about "- > upload a new PO that has additional translations" -- we need to test combinations of TTW/import translations | 02:53 |
daf | "not sure about" as in "I'm not 100% confident in it yet" | 02:54 |
SteveA | do you have a set of good test-cases written down? | 02:54 |
SteveA | as in, a list that covers the different kinds of situation | 02:54 |
daf | no -- that would be a good thing to have | 02:54 |
carlos | daf: new bug report, I will fill it | 02:55 |
SteveA | please file a bug to do that | 02:55 |
sabdfl | are there any checks to make sure that the PO file being uploaded matches the POT, and the language is correct? | 02:55 |
SteveA | thanks carlos | 02:55 |
sabdfl | is the language specified inside the PO file, or only in the PO filename? | 02:55 |
carlos | sabdfl: only in the PO Filename | 02:55 |
carlos | sabdfl: no, we don't have such tests | 02:55 |
daf | sabdfl: we don't check against the POT, but we do mark messages in the PO file which are not in the POT as obsolete on import | 02:56 |
sabdfl | is there any "key" that links a PO to a POT? | 02:56 |
daf | none | 02:56 |
sabdfl | ok | 02:56 |
carlos | sabdfl: perhaps we could try to do something with the language mailing list, but I don't think we have time to do it for Alpha release and it will not be robust enough | 02:56 |
SteveA | the po/pot system wasn't really designed with rosetta in mind :) | 02:56 |
sabdfl | true | 02:56 |
daf | so true :) | 02:57 |
sabdfl | ok, the nightmare scenario being someone uploads a PO file to the wrong POT :-) | 02:57 |
daf | yes | 02:57 |
daf | when that happens: | 02:57 |
SteveA | would that look odd, because of a lot of obselete messageS? | 02:57 |
carlos | SteveA: it should not be a problem | 02:58 |
daf | - either there is no overlap between the intended POT and the uploaded PO, in which case you just get a lot of obsolete messages in the PO file | 02:58 |
lulu | can we do any sort of validation on it before allowing it through? | 02:58 |
daf | - or, there is overlap, and you get bogus translations | 02:58 |
carlos | the big problem is when they upload a PO file to the wrong language | 02:58 |
daf | carlos: yeah | 02:58 |
daf | lulu: we could probably have some weak heuristics about "does this PO file look like it belongs to the template/language specified" | 02:59 |
SteveA | there are tools out there that attempt to identify the language of some text | 02:59 |
sabdfl | that sort of thing will blow our translation memory away | 02:59 |
sabdfl | but, let's just make the web pages simple, and trust people not to screw it up | 02:59 |
SteveA | what do you mean by "translation memory" ? | 03:00 |
daf | SteveA: a "translation memory" is a database of existing translations | 03:00 |
daf | SteveA: usually coupled with a mechanism for reusing them | 03:00 |
sabdfl | later on, we will still think that the word "Achtung" is "Attention" in Spanish if someone uploaded a PO file for German to the Spanish language place | 03:00 |
lulu | daf:mmm - perhaps a weak heuristic may be better than nothing. not critical for alpha but later may be good. | 03:01 |
sabdfl | we would ave seen the German translation, and recorded it as spanish | 03:01 |
daf | Rosetta is basically a translation application with a translation memory | 03:01 |
daf | we're not utilising that memory yet, but we will do in the future | 03:01 |
daf | hence the Achtung problem | 03:01 |
sabdfl | and since we flatten the history of sightings (we dont store a record of every sighting each time we review a PO file) we have no easy way to tell which sightings came from the mistaken upload | 03:01 |
SteveA | ok. file a bug on the achtung problem, so that we have a place to record thoughts about dealing with it. | 03:02 |
daf | will do | 03:02 |
carlos | sabdfl: if we have the po file we could develop a script that removes the wrong strings | 03:02 |
SteveA | sounds like a restore from backup | 03:02 |
daf | carlos: an "anti-import"? :) | 03:02 |
carlos | daf: yes, it will not restore the previous status | 03:03 |
carlos | daf: but will remove the broken translations | 03:03 |
carlos | and I think that will be enough | 03:03 |
daf | yes | 03:04 |
SteveA | this may be an area where we can use the zodb. it has the capability to store historical data. | 03:04 |
SteveA | anyhow, let's focus on rosetta, and progress towards our immediate goals | 03:04 |
sabdfl | we do store the firstseen date, so we should also be able to eliminate a bunch of sightings on that basis | 03:05 |
sabdfl | anyhow, enough of the achtung problem | 03:05 |
SteveA | any other problems/sticking points with rosetta? | 03:05 |
sabdfl | did you separate out potmsgset from pomsgset? | 03:05 |
daf | sabdfl: not yet | 03:05 |
daf | sabdfl: none that I can think of | 03:06 |
sabdfl | what;s the rationale? | 03:06 |
daf | carlos? | 03:06 |
sabdfl | lalo? | 03:06 |
sabdfl | ok, no rationale :-) | 03:06 |
daf | the rationale is manyfold: | 03:06 |
carlos | well, we need to know the process to import projects/products | 03:06 |
daf | at the moment, we have one table representing two different things | 03:06 |
carlos | when, who and what | 03:06 |
=== carlos waits until the rationale ends | ||
daf | this makes implementing those two different things in the SQL code more difficult | 03:07 |
sabdfl | ok, I'm amenable | 03:07 |
SteveA | the "if statements all over the code" problem | 03:07 |
daf | SteveA: exactly | 03:07 |
sabdfl | go for it | 03:07 |
daf | sabdfl: great | 03:08 |
daf | the "none that I can think of" was meant to be directed at Steve -- bloody tab-completion :) | 03:08 |
carlos | :-) | 03:08 |
carlos | then, the only thing we need to know is the data that should be imported into launchpad for alpha release | 03:09 |
carlos | (the only remaining thing) | 03:09 |
SteveA | "the packages in ubuntu that are the most important to get translated" | 03:10 |
carlos | SteveA: that's too abstract :-) | 03:10 |
carlos | we need the list | 03:10 |
carlos | a way to get the code/po/pot files | 03:10 |
SteveA | who knows what packages are in need of translation? | 03:10 |
lulu | is it on ubuntu wiki? under Warty? | 03:10 |
SteveA | in the future, we'd just consult Rosetta, and look at the graphs :-) | 03:11 |
carlos | and how many times/day/week/month we should update our information (.po and .pot files) | 03:11 |
daf | https://bugzilla.warthogs.hbd.com/bugzilla/show_bug.cgi?id=1942 -- accidental imports can cause faulty memory | 03:11 |
SteveA | who can we ask on the warty team, who would know about which packages need most help with translations? | 03:13 |
SteveA | colin watson was doing l10n of the installer | 03:13 |
daf | we can only test things which have already been imported | 03:13 |
lulu | SteveA: we need all the packages don't we? | 03:13 |
SteveA | we can ask for things to be imported, if it is important to get help with their translations | 03:14 |
daf | so I suggest we choose from a list of what's been imported when we're ready to do it, as imports are still going on | 03:14 |
carlos | SteveA: we don't need the list of packages with translations, with a list of packages is enough, we can try to discover the ones with translations to import into rosetta | 03:14 |
daf | I don't think we should dwell on this too much now | 03:14 |
SteveA | lulu: we need to prioritize. | 03:14 |
sabdfl | let's start with smaller applications, where we have a good relationship with upstream | 03:14 |
lulu | SteveA: yes I agree - ok - but it would be a good test to provide the correct test data we need to cover any Warty problems we may have... | 03:16 |
SteveA | we'll get there | 03:16 |
lulu | sabdfl: who will chose the apps? | 03:16 |
lulu | choose | 03:17 |
SteveA | how about a bug that says "come up with the first 10 apps to import" ? | 03:17 |
daf | SteveA: sounds good | 03:17 |
SteveA | those 10 can be listed in the bug comments | 03:17 |
sabdfl | lulu: daf | 03:17 |
sabdfl | warty team can also make nominations of course | 03:17 |
sabdfl | like warty installer :-) | 03:18 |
lulu | sabdfl:ok | 03:18 |
SteveA | Are we done talking about rosetta for now? | 03:19 |
sabdfl | ok let's move on | 03:20 |
SteveA | Malone. | 03:20 |
SteveA | What is the current immediate goal for malone? | 03:21 |
SteveA | I was talking with mdz about what's needed to start using malone for ubuntu, sometime between warty and hoary | 03:22 |
SteveA | he suggested that it would be a good idea for us to start using malone for launchpad bug tracking, | 03:22 |
SteveA | so that we'll know it is somewhat solid in real use, before starting to use it with ubuntu | 03:23 |
sabdfl | fair enough | 03:23 |
carlos | SteveA: makes sense | 03:23 |
SteveA | one feature needed for using it for launchpad is also needed for using it with ubuntu: assigning someone to fix a bug in a source package. | 03:23 |
sabdfl | we can make launchpad a project, with products rosetta, soyuz and malone, and file bugs in it | 03:23 |
SteveA | the ubuntu team use this all the time in their bugzilla. it is currently absent from the RSD. | 03:23 |
sabdfl | the difference being assignments to product vs assignments to sourcepackage, as in the distro view | 03:24 |
SteveA | I've asked matt to get someone from his team to make a quick review of the RSD, and say whether anything is missing from it that they would need to use it with ubuntu | 03:24 |
sabdfl | but quite possibly getting it right for ourselves makes the distroview easier | 03:24 |
SteveA | for using it with launchpad, we may want to have a "this is a secret / private" project flag. | 03:25 |
SteveA | I'm not sure about that, though. | 03:25 |
SteveA | if we use it for launchpad, would we want it to be publicly visible? | 03:25 |
SteveA | there are some advantages to working in the fishbowl :-) | 03:26 |
SteveA | but, there are commercial aspects too, perhaps | 03:26 |
sabdfl | let's work on the same instance that the rosetta alpha will use | 03:26 |
sabdfl | then when we have it working, we can copy the data over to emperor and not lose any bugs | 03:26 |
sabdfl | and by then we'll have some ability to indicate private projects | 03:26 |
SteveA | ok. Malone needs a few extra things before we can use it for launchpad, even on a semi-private server. | 03:27 |
SteveA | I've noticed the rosetta team making good use of bugzilla's dependency tracking features | 03:28 |
SteveA | we'll need mail-out of bugs | 03:28 |
SteveA | stuart can start working on these when he gets back. any news about andrew v. ? | 03:29 |
SteveA | or, maybe we can cover that later on the phone | 03:29 |
sabdfl | later | 03:31 |
SteveA | So, we have the following milestones for Malone: | 03:31 |
SteveA | - implement features needed for use with launchpad | 03:31 |
SteveA | - dogfood with launchpad on rosetta server | 03:31 |
SteveA | - implement "private project" features | 03:31 |
SteveA | - implement features for ubuntu | 03:31 |
SteveA | - export data to emperor, and start using with ubuntu | 03:31 |
sabdfl | i still need to catch up with him | 03:31 |
sabdfl | ok | 03:32 |
sabdfl | is that a wrap? | 03:32 |
SteveA | Anything else we need to talk about for malone? | 03:32 |
SteveA | going, going... | 03:32 |
SteveA | gone. | 03:32 |
SteveA | That's it. Thanks for having the meeting, everyone. | 03:33 |
sabdfl | thanks guys | 03:33 |
SteveA | We'll have another (probably shorter) one next week. | 03:33 |
sabdfl | let's meet weekly from here onwards, steve please coordinate | 03:33 |
SteveA | I'll mail some notes on this meeting to the list later today, with any Actions not covered by bugs that have been filed in the course of the meeting. | 03:34 |
kiko | sounds good | 03:34 |
sabdfl | SteveA, daf, whats the status on having a single Project object for Rosetta and Soyuz and Malone...? | 03:34 |
lulu | thanks :o) | 03:34 |
lulu | SteveA: Steve - please can u chat to James on McQuarie setup if not done already. Arch stuff. | 03:34 |
carlos | ok | 03:34 |
SteveA | I have that in my tree. I need to sync with current changes, and get it checked in, and tested. | 03:34 |
SteveA | lulu: yes, will do | 03:35 |
lulu | cheers mate :o) | 03:35 |
sabdfl | lulu: we close to having a plone setup i can see? | 03:35 |
sabdfl | lulu: can i call you to discuss now? | 03:35 |
lulu | sabdfl: - we've had problems but Upfront are finalising them today. | 03:36 |
lulu | sure | 03:36 |
lulu | sabdfl: elmo and Upfront are co-ordinating as we speak | 03:36 |
sabdfl | ok | 03:36 |
carlos | lunch time, see you later! | 03:47 |
kiko | later guys | 03:47 |
cprov | later | 03:50 |
kiko | daf, can you kick rosetta.wh for me? | 04:13 |
kiko | it's dead again. | 04:13 |
daf | kiko: there's a bug | 04:16 |
spiv | daf: Obviously ;) | 04:16 |
daf | ...which won't be fixed by restarting the server | 04:16 |
daf | which actually works 99% of the time | 04:17 |
spiv | Any idea what it is? | 04:17 |
daf | SteveA has an idea | 04:17 |
lulu | SteveA: can we give all team leaders an account on Rosetta so they don't have to rely/disturb/cajole Daf every time. Each team needs to have access if possible. | 04:17 |
kiko | daf, if restarting the server won't fix things, what will? | 04:20 |
daf | kiko: fixing the bug that breaks the server | 04:20 |
daf | SteveA: any idea on the timescale? | 04:20 |
kiko | daf, but restarting the server would at least allow me to browse it :) | 04:34 |
daf | kiko: ok, but don't say I didn't warn you if it breaks again :) | 04:35 |
kiko | I'm not holding it against you, just fix the #@!#@!#! thing <wink> | 04:35 |
SteveA | daf: I know what the *immediate* problem is. | 04:36 |
daf | kiko: ok, done | 04:36 |
SteveA | but we have a greater problem. apache on that server is doing basic auth to protect the server from inquisitive eyes. | 04:36 |
daf | SteveA: you know the symptom, but not the cause? | 04:36 |
SteveA | The server now does basic auth itself. | 04:36 |
daf | ah, oops | 04:36 |
SteveA | We need to stop apache doing basic auth, I think. | 04:36 |
daf | what about the inquisitive eyes? | 04:37 |
daf | security through obscurity? | 04:37 |
SteveA | do we have much to hide? | 04:38 |
SteveA | at this point, probably not | 04:38 |
SteveA | there's nothing important in the database behind that rosetta | 04:38 |
daf | true | 04:38 |
SteveA | there's no TTW programming stuff in Zope | 04:38 |
daf | SteveA: I'm going to have lunch -- we're meeting in 23 minutes, right? | 04:39 |
SteveA | would you like a tad longer for lunch? | 04:39 |
daf | a tad longer, yes | 04:39 |
SteveA | we could meet in 50 minutes instead | 04:40 |
daf | sounds good | 04:40 |
daf | 15:30 UTC? | 04:40 |
SteveA | ok. that's 1830 my time, 1630 yours 1530 universal | 04:40 |
daf | sorted, see you later | 04:40 |
SteveA | ok | 04:41 |
SteveA | lulu: I'm happy for team leaders to have accounts on Rosetta. I'll mail admins. | 04:41 |
lulu | thanks Stevo :o) | 04:42 |
SteveA | kiko, debonzi, cprov, spiv: who out of you needs an account on rosetta? | 04:43 |
kiko | cprov. | 04:44 |
daf | SteveA: I suggest the following: | 04:44 |
cprov | putz | 04:45 |
daf | we have a launchpad user/group | 04:45 |
daf | which has a running screen session | 04:45 |
daf | anybody who needs access is in the launchpad group | 04:45 |
daf | and has access to the screen session | 04:45 |
daf | so you can easily attach to the session and examine the server output | 04:46 |
daf | most server fixes I'm doing consist of the following | 04:46 |
daf | ssh -t rosetta screen -x | 04:46 |
daf | Control-C | 04:46 |
daf | up | 04:46 |
daf | enter | 04:46 |
daf | Control-] d | 04:46 |
daf | or variations on that theme | 04:47 |
SteveA | daf: go and eat! :-) | 04:49 |
daf | eating is blocking on food cooking :-) | 04:50 |
=== lalo [~lalo@200.203.19.35] has joined #launchpad | ||
lalo | hello | 05:06 |
lulu | lalo: hi - I'm sending you an email with what's been discussed today - so you're in the loop. | 05:07 |
lulu | lalo: done | 05:09 |
lalo | thanks | 05:09 |
lulu | lalo: no problem - some important stuff discussed. | 05:10 |
=== kiko is now known as kiko-fud | ||
lalo | augh. stupid, stupid. | 05:29 |
lalo | /me bangs head against wall | 05:29 |
carlos | lalo: ? | 05:31 |
lalo | I applied timezones in the wrong direction again :-/ and registered in my brain that we had a meeting in the middle of the afternoon, when it was instead in the early morning | 05:31 |
carlos | upps | 05:32 |
SteveA | daf: it is time! | 05:32 |
daf | SteveA: it is | 05:34 |
SteveA | let's start by making a page that you can upload something to | 05:34 |
SteveA | let's just do this as a view on /rosetta/ | 05:35 |
SteveA | once we have that so that it is accepting uploads, you can remove that page, and apply the same thing to PO/POT files | 05:35 |
daf | ok | 05:35 |
SteveA | shall we do this with screen again? | 05:37 |
daf | sure | 05:37 |
SteveA | then I can see what you're coding etc. | 05:37 |
daf | I think I've fixed the routing problems | 05:37 |
SteveA | what host and port shall I use? | 05:37 |
daf | you should be able to "ssh -t stevea@earthsea.homdns.org screen -x daf/" | 05:37 |
SteveA | homdns? | 05:38 |
daf | homedns | 05:38 |
SteveA | $ telnet 80.69.60.252 22 | 05:39 |
SteveA | Trying 80.69.60.252... | 05:39 |
SteveA | router still stopping ssh ? | 05:40 |
daf | hmm, it was working earlier | 05:40 |
daf | oh, hmm | 05:41 |
daf | that should be 82.69.60.252 | 05:41 |
SteveA | I'm in | 05:42 |
=== daf fixes that DNS record | ||
daf | great! | 05:43 |
daf | okay, I'm just writing the template in the other screen window | 05:43 |
SteveA | how do I get there? | 05:44 |
daf | escape key + 0 | 05:45 |
daf | escape key twice also switches between windows | 05:46 |
SteveA | hmm | 05:46 |
SteveA | not really | 05:46 |
daf | I can't remember if the escape key is shared or not | 05:46 |
daf | the default is Control-a, but I prefer Control-] | 05:47 |
SteveA | hm | 05:47 |
SteveA | nothing happening | 05:47 |
SteveA | can you boot me out? | 05:47 |
SteveA | I'll try connecting again, with an explicit escape set in screen perhaps | 05:47 |
SteveA | daf? | 05:55 |
SteveA | oh, back in jabber | 05:55 |
lulu | SteveA: is jabber logged? | 06:02 |
SteveA | not publicly | 06:02 |
lulu | are there discussions on Ubuntu etc that should be logged for our records? | 06:04 |
daf | lulu: we're only using Jabber for one-to-one conversations, as far as I know | 06:04 |
SteveA | I'm pair-programming with daf just now, so I'll have to talk about this later. | 06:05 |
lulu | daf: cool just checking so we don't lose valuable input from our great team. | 06:05 |
=== lalo done with the meeting log | ||
daf | lulu: sure :-) | 06:06 |
lulu | daf: good thanks. | 06:07 |
lalo | daf, SteveA: I got no feedback on #1935. I'm tempted to simply submit the merge, as it's blocking some other stuff. | 06:07 |
carlos | SteveA: I need to execute a unix command (msgfmt) to export .mo files and I need to use stdin and stdout to send the pofile (text data) to that command and get back the .mo file (binary data) to serve it from launchpad. I'm thinking on using the popen2 module. Is that ok? | 06:08 |
SteveA | carlos: you mean the new one, with python 2.4 ? | 06:09 |
SteveA | or, the popen2 call in python 2.3 (and earlier) ? | 06:09 |
lalo | daf: and, would you like me to work on something in particular or can I just pick one at random? | 06:09 |
carlos | the later one | 06:09 |
SteveA | lalo: can you summarize what the fix is? | 06:10 |
carlos | SteveA: I don't think I'm using python 2.4 at this moment | 06:10 |
carlos | From the python manual: 6.8 popen2 -- Subprocesses with accessible I/O streams | 06:10 |
daf | lalo: I think a sensible policy is that any bugs which are NEW (as opposed to ASSIGNED) are up for grabs | 06:10 |
lalo | SteveA: don't use lazyUpdate when running zopeless | 06:10 |
daf | lalo: and hence if you're working on something, make it assigned to you | 06:11 |
SteveA | carlos: I suggest using popen3 | 06:11 |
SteveA | so you get the error stream | 06:11 |
lalo | daf: yes :-) what I meant is, to ask you whether you have a specific one in mind you'd like me to poke | 06:11 |
SteveA | lalo: sounds good. | 06:11 |
daf | lalo: sorry, I have a habit of answering questions people didn't ask | 06:11 |
daf | lalo: I don't have anything specific in mind | 06:11 |
lalo | ok | 06:12 |
carlos | SteveA: ok, If I get an error I send that stream as the message, right? | 06:12 |
SteveA | error output should go to that stream | 06:12 |
carlos | I mean, to launchpad exception | 06:12 |
daf | #1938 and #1939 are interesting | 06:12 |
SteveA | daf and I need to focus on our pair programming now | 06:12 |
carlos | ok | 06:13 |
lalo | ok | 06:13 |
=== lalo gets at it | ||
=== daf assigned #1919 to himself | ||
=== lalo wonders why the heck you can't reassign and accept in one operation | ||
lulu | lalo: that would be good to keep in mind for malone - could you add it to the wiki - wish list for Malone? | 06:20 |
lalo | ok | 06:20 |
lulu | lalo: thanks so we don't forget it. | 06:21 |
lalo | done | 06:25 |
lulu | lalo: thanks hon :o) 4 days to Rosetta Alpha.... | 06:30 |
lalo | dateLastActive is not updated when you translate from the web? | 06:32 |
daf | file a bug :) | 06:33 |
lalo | that's not a bug, it's a question :-) I'm not sure it's supposed to | 06:34 |
lalo | due to the whole 42 conversations about active/current/inPofile/etc | 06:35 |
daf | lalo: care to write a document describing the various sates of message sets, sightings, etc? | 06:36 |
lalo | ok | 06:36 |
lalo | not sure I have all information I need :-) but I'll try | 06:36 |
daf | thanks | 06:38 |
lalo | daf: the timestamp is updated, in case you wonder | 06:45 |
daf | did I add a comment next to that saying something like "XXX: Should we update this always?" | 06:47 |
daf | word for the day: prosopography | 06:47 |
lalo | no | 06:47 |
daf | must have been something else then :) | 06:47 |
daf | hmm, they shuoldn't be getting touched unless the translation has actually changed | 06:49 |
lalo | which we have no easy way of knowing | 06:50 |
lalo | short of comparing the strings, I suppose | 06:50 |
daf | which is what we do :) | 06:50 |
lalo | do we really? I don't see the code to do this | 06:51 |
daf | browser.py | 06:51 |
lalo | that's where I'm looking | 06:51 |
lalo | yet, I would be a bit worried if we did, too - string comparison is inefficient by nature | 06:51 |
daf | ?! | 06:52 |
daf | it's only O(n), and n isn't very big | 06:52 |
carlos | daf: we have "datefirstseen" and "datelastactive" | 06:52 |
daf | I'd be far more concerned about the database access needed to get the old translations for comparing with | 06:52 |
lalo | ah, found it | 06:53 |
carlos | I think the datelastactive is updated every time we import a .po file with that translation | 06:53 |
=== kiko-fud is now known as kiko | ||
carlos | we should do the same everytime someone submits the translation without any change | 06:53 |
daf | "is" or "should be"? | 06:53 |
carlos | hmm "should be" :-) | 06:53 |
daf | :) | 06:53 |
daf | what about if somebody loads a page with 5 translations, updates one, and then submits? | 06:54 |
=== debonzi [~debonzi@200.158.100.251] has joined #launchpad | ||
kiko | debonzi! | 06:54 |
daf | the 4 translations they didn't even look at get updated | 06:54 |
daf | which doesn't seem right to me | 06:54 |
daf | at the moment, I think the timestamp is only updated when the translation is changed | 06:54 |
lalo | yes, that was exactly my point | 06:54 |
debonzi | kiko, | 06:55 |
carlos | daf: but then, the .po ones will have always preference from the website ones | 06:55 |
lalo | the fact that a translation is submitted doesn't mean the user actually even looked at it :-) | 06:55 |
carlos | daf: I was sharing that idea until 10 minutes ago :-) | 06:55 |
carlos | lalo: or perhaps he agree that it's the correct translation | 06:55 |
daf | carlos: they're not "website ones" because they're only in the form because they came from the PO file | 06:55 |
carlos | daf: or from previous website editions | 06:56 |
daf | yes, exactly | 06:56 |
carlos | well, I suppose it's not a problem until we implement a way to suggest translations from the UI | 06:57 |
lalo | hmnf | 06:57 |
lalo | carlos: can't reproduce 1939 | 06:57 |
=== lalo ponders the fine art of gaim plug-in development | ||
carlos | lalo: if you translate the evolution's pot | 07:00 |
daf | carlos: I've noticed something else | 07:00 |
carlos | lalo: and then export it... you should see the problem | 07:00 |
lalo | carlos: I find it rather puzzling that your msgstr[0] and msgstr[1] are almost identical (wrt whitespace), but yet [0] was modified and [1] wasn't | 07:00 |
carlos | lalo: go to the page where that string is and add a new translation (but don't touch that msgset) | 07:00 |
=== sabdfl [~mark@wblv-228-55.telkomadsl.co.za] has joined #launchpad | ||
daf | carlos: there are spaces missing from the Spanish translations on the input fields | 07:00 |
lalo | some bitrot seems to be involved :-P | 07:00 |
daf | carlos: do you see it? | 07:01 |
carlos | lalo: I think it's a website bug more than a po handling one. I think the problem comes with the addtion of the return char graph | 07:01 |
carlos | daf: I know there are missing spaces | 07:02 |
carlos | daf: because I translated them and I didn't saw them in the english text | 07:02 |
lalo | yet, how come [1] is not touched? | 07:02 |
carlos | so I did not added them | 07:02 |
carlos | :-) | 07:02 |
daf | :D | 07:02 |
daf | so, not a Rosetta bug? :) | 07:02 |
carlos | lalo: I don't know, the code should tell you it :-) | 07:02 |
carlos | daf: yes, it's a bug, a UI bug | 07:03 |
carlos | daf: If I don't see the spaces, I cannot add them to my translations | 07:03 |
carlos | :-) | 07:03 |
daf | oh, I fixed that one | 07:03 |
daf | I was worried that the translations in the database had spaces, but that they were not being included in the text fields properly | 07:04 |
daf | did you see my fix for the spaces? | 07:04 |
carlos | daf: one moment... | 07:05 |
carlos | daf: yes, I see it | 07:05 |
carlos | daf: it's ok, the only problem I have now is that I see them too small (included the "return" char) | 07:06 |
daf | hmm | 07:06 |
carlos | first, I thought that was ... instead of a special graph | 07:06 |
daf | does making your font bigger help? | 07:06 |
carlos | hmm, I need to do it too big to see it correctly | 07:07 |
daf | any suggestions? | 07:08 |
=== sabdfl [~mark@wblv-228-55.telkomadsl.co.za] has joined #launchpad | ||
carlos | daf: I did a user test with my sister | 07:09 |
daf | great, how did it go? | 07:09 |
carlos | daf: Ctr++ two times until she was able to see it | 07:10 |
carlos | she thought it was .. | 07:10 |
daf | hmm | 07:10 |
daf | I'm not sure if there's a better way to show spaces | 07:10 |
carlos | Is there any way to increase the size? | 07:11 |
daf | of the font size in general, or of that particular glyph? | 07:11 |
daf | we could increate the size for messageIDs only | 07:12 |
daf | that would be a simple CSS fix | 07:12 |
carlos | for that particular glyph | 07:13 |
carlos | my sister says that the "enter" glyph is easy to detect without any change | 07:13 |
daf | we could probably do <span class="openBoxes"></span> | 07:14 |
carlos | in fact I did not notice it but the space glyph is the one used with the movile phones to represent the space, so it's the correct char :-P | 07:14 |
daf | .openBoxes { font-size: 120% } | 07:14 |
daf | heh, I hadn't thought of that | 07:15 |
=== cprov [~cprov@200.158.100.251] has joined #launchpad | ||
daf | which font are you using, by the way? | 07:15 |
carlos | daf: my sister told me that, I didn't saw it :-P | 07:15 |
daf | ah, ok | 07:15 |
carlos | daf: sans-serif | 07:16 |
carlos | the default one from epiphany | 07:16 |
lalo | ugh. can we sort the languages list in the preferences form by name rather than code? | 07:16 |
daf | ok | 07:16 |
daf | lalo: I don't see why not | 07:16 |
=== lalo registers himself as translator for lojban | ||
carlos | lalo: sure | 07:17 |
lalo | daf: I'll file a low-pri bug | 07:17 |
daf | lalo: :D | 07:17 |
daf | lalo: do you speak lojban? | 07:17 |
carlos | lalo: the languages with the country code don't work yet, I just remember a bug report I need to fill :-) | 07:17 |
daf | where has limi been of late? | 07:19 |
lalo | daf: speak, no, but I can read it (and translate into it) with some effort | 07:20 |
carlos | daf: I don't understand your question about limi... | 07:20 |
lalo | dude, I can't for the life of me find Spanish in this widget :-P perhaps normal priority | 07:20 |
daf | lalo: cool! | 07:20 |
carlos | lalo: hmm, seems like the #1939 is fixed, | 07:20 |
daf | carlos: sorry, "of late" is another way of saying "recently" in English | 07:21 |
carlos | lalo: is at the end of the list | 07:21 |
carlos | daf: hes out for holidays | 07:21 |
daf | oh, right, I see | 07:21 |
lalo | carlos: yay for our magic bug-fixing fairies | 07:21 |
daf | when is he back? | 07:21 |
carlos | lalo: :-) | 07:21 |
carlos | daf: on Monday | 07:21 |
daf | ah, that's good | 07:21 |
=== daf has bugs for limi | ||
carlos | daf: fill them with bugzilla, he has an account :-) | 07:22 |
lulu | daf: limi should be back on Monday giving 150%. We are hoping he will be in london, but this is unconfirmed as yet. | 07:23 |
lulu | if there is anything you guys can handle on your own, please do so, as he's got lots of work to do. | 07:24 |
daf | lulu: it's nothing high-priority, just some small fixes that hopefully won't take up much of his time | 07:24 |
=== lalo ponders making a fresh bowl of mate | ||
lulu | daf: ok - make sure all the bugs are in bugzilla and he can finish high priority first, then get to those. | 07:25 |
daf | lulu: you were really anxious to get hold of me this morning, weren't you? :) | 07:25 |
lulu | daf: yup - didn't realise you went to bed at 7am. | 07:25 |
daf | lulu: was the logo thing a big deal? | 07:26 |
lulu | it's easier to have pepes online when you expect them to be! | 07:26 |
lulu | daf: Jane wanted to know urgently before speaking to the design agency, but no worries. | 07:26 |
daf | ah, I see | 07:26 |
lulu | daf: are these your regular hours now? | 07:27 |
lulu | daf: not 7am, but working more in the evenings rather than mornings? | 07:27 |
daf | I was just wondering that | 07:28 |
daf | I think the meeting at 12:00UTC today may have changed things :) | 07:28 |
carlos | daf, lalo: which one is the easier way to get the lenght of a file object? with seek + tell (like C)? or is there any other way to do it? | 07:28 |
daf | carlos: is this a file on disk? | 07:29 |
lulu | daf: perhaps if you could be online more in the mornings that would be great - leading up to the 15th - is that possible? | 07:29 |
carlos | daf: no | 07:29 |
=== lalo goes check | ||
carlos | daf: it's a stdout returned as a file object | 07:29 |
lalo | you can't seek on stdout o.O | 07:30 |
lalo | unless it's a really strange stdout :-P | 07:30 |
daf | lulu: I can try | 07:30 |
daf | lulu: usually these things wrap around | 07:30 |
carlos | so I need to read all the stdout and then get the lenght, right? | 07:30 |
daf | lulu: i.e. I start having a 27-hour cycle or so | 07:31 |
carlos | daf: that's not sane | 07:31 |
lulu | daf: thanks hon - that will be great :o) if you can manipulate your cycle back to normal! 24hrs! | 07:31 |
lalo | carlos: yes, seek+tell is what you have. That's odd. | 07:31 |
carlos | unless the days start having more than 24 hours... | 07:31 |
lalo | or if you can't seek, len(foo.read()) | 07:32 |
daf | carlos: it's not that strange | 07:32 |
daf | carlos: my days just go out of sync with everybody else's | 07:32 |
carlos | daf: I said sane, not strange :-) | 07:32 |
lalo | my "normal" days have 30h | 07:32 |
daf | :-) | 07:32 |
daf | I think Keybuk has similar experiences | 07:32 |
lalo | experiences made with cosmonauts and submarine crew point to the best possible cycle for humans being more than 24 - IIRC, more close to 30 - which may or may not prove that we're not originally from this planet :-P | 07:33 |
lalo | </off-topic> | 07:34 |
carlos | daf: mines were also that way, but only when I'm alone, when there is someone else in my house I cannot do that or I will not be able to sleep more than 3-4 hours because the noise | 07:34 |
lalo | carlos: there is no really good reason why files can't have a method that returns the size as well as it's known... if you want to submit a bug for Python, it will probably be fixed before 2.5, with luck even 2.4 | 07:34 |
carlos | lalo: in this case, you are right, it's a stdout so it's normal you cannot get the size until you read all the data | 07:35 |
daf | carlos: ah, I am quite a deep sleeper, so I suppose it happens to me more easily | 07:35 |
carlos | we are exporting now .mo files :-) | 07:38 |
daf | wahey! | 07:38 |
lalo | mo??? | 07:38 |
lalo | interesting :-) | 07:38 |
carlos | and the md5sum is the same if I do it by hand | 07:39 |
carlos | so I suppose it works :-P | 07:39 |
lalo | does it have the right filename? ;-) | 07:39 |
carlos | lalo: yes | 07:41 |
carlos | :-) | 07:41 |
carlos | the export.po url does not exists anymore | 07:41 |
carlos | daf: how could I get the lp:url attribute from a template? | 07:42 |
carlos | I want to add the links to the po and mo download urls from the pofile page | 07:42 |
daf | I'm not sure I understand the question | 07:42 |
carlos | we have at pages.zcml an attribute lp:url for every page | 07:43 |
carlos | that tells us the URL | 07:43 |
carlos | I'm not sure but I think I saw a template that get that information | 07:44 |
carlos | or It was a dream? | 07:44 |
daf | from the PO file page, it would be <a tal:attributes="href string:${self/name}/po">Export as PO file</a> | 07:44 |
daf | or soemthing like that | 07:44 |
daf | the lp:url attributes are only for documentation purposes | 07:44 |
carlos | ok, it was a dream :-P | 07:45 |
daf | the only thing that extracts them is the "make url-table" command, I think | 07:45 |
=== lalo ponders whether we should have a resolution in bugzilla that looks like "the magic fairies fixed it" | ||
lalo | (j/k, before someone adds it) | 07:48 |
lalo | #1938 is interesting... even if the comment is "", the export should still be ignoring it, IIRC | 07:50 |
lalo | ah, the comment is probably "\n" or something like that | 07:51 |
daf | the comment should not be touched at all | 07:51 |
=== lalo nods | ||
carlos | hmmm | 07:55 |
carlos | Error | 07:55 |
carlos | 07:55 | |
carlos | Bug# 1913 has still 1 unresolved dependency. Show Dependency Tree. | 07:55 |
carlos | daf: is the stuart's fix merged into rocketfuel? | 07:55 |
carlos | I cannot close my bug because the dependency X-) | 07:56 |
daf | likewise :-( | 07:57 |
lulu | cheers guys - I'm off - thanks for today :o) | 07:58 |
daf | lifeless should be up in another 5 or 6 hours, I think | 07:58 |
daf | lulu: see you | 07:58 |
carlos | lulu: bye bye | 07:58 |
kiko | chao lulu | 07:58 |
lulu | adios amigos | 07:58 |
=== lulu [~lu@host217-37-231-28.in-addr.btopenworld.com] has left #launchpad [] | ||
carlos | :-) | 07:58 |
carlos | ok | 07:59 |
carlos | I'm going to leave for a while and continue working later | 08:15 |
carlos | later | 08:15 |
daf | later | 08:17 |
carlos | cool | 08:34 |
carlos | daf: msgfmt is not installed into rosetta server right? | 08:34 |
carlos | in that case, what should we show here?: https://rosetta.warthogs.hbd.com/++skin++Debug/rosetta/projects/gnome/evolution/evolution-2.0/es/mo | 08:36 |
carlos | I should fix my code but we will detect a problem and we should show anything to the user | 08:37 |
lalo | carlos: can you reproduce 1938? I suspect the fairies got it too, because I can't find any code in browser.py that touches commenttext | 08:37 |
carlos | lalo: let me check | 08:37 |
carlos | lalo: no, the problem is still there | 08:39 |
lalo | ok | 08:39 |
carlos | so it's not fixed by python's god :-P | 08:39 |
lalo | thanks | 08:39 |
carlos | np | 08:39 |
=== lalo publishes Action Comics #1 featuring Superman, in an attempt to reproduce 1938, and hopes that someone else invades Austria | ||
daf | lalo: something to do with the way message sets are created in PO files by the TTW translation code? | 08:46 |
lalo | daf: that was my guess, but the bug is about translations that already existed in the db | 08:47 |
daf | "OpenOffice.org: Is it an application or a web site? Who knows!" :D | 08:47 |
lalo | well, aha | 08:47 |
lalo | message sets are, indeed, created with '' rather than None | 08:48 |
daf | is that it? | 08:48 |
lalo | which is just reasonable, seeing as commentText is notNull | 08:48 |
daf | ok, that can't be the bug then | 08:48 |
lalo | still rather odd :-P | 08:49 |
daf | yes | 08:49 |
lalo | well, if it's notNull then it must be fixed at the adapter level. And this part of the fix I have already. | 08:49 |
daf | I think it would probably best be debugged by tracing through the export process | 08:49 |
lalo | not necessary, I already found the bug in the adapter | 08:50 |
lalo | I was investigating further because I suspected the bug could be twofold - but that doesn't seem to be the case, so I can commit | 08:51 |
!lilo:*! More rambling in #fossie .... "a project to fiddle around with the idea of a small, modular, message-passing-event-driven communications framework..." today's subject matter would be table storage for plug-in modules and how reloads should be done.... if you have a fair amount of C and have fiddled with plug-in architectures, linked lists, memory allocation, etc., you might be of help | 09:08 | |
!lilo:*! Please feel free to stop by. | 09:09 | |
=== lalo makes a break, bbl | ||
lalo | I'll make a task for myself of fixing the ftests when I'm back | 09:17 |
lalo | it's rather cumbersome to not be able to run them and be 100% sure you didn't break anything important | 09:18 |
=== kiko is now known as kiko-afk | ||
=== npmccallum [~npmccallu@69-162-252-7.ironoh.adelphia.net] has joined #launchpad | ||
=== lalo [~lalo@200-203-032-008.paemt7005.dsl.brasiltelecom.net.br] has joined #launchpad |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!