/srv/irclogs.ubuntu.com/2012/03/19/#launchpad-dev.txt

lifelessStevenK: hey00:40
lifelessStevenK: how is the audit service coming along; do you need any input on it ?00:40
james_wany zope experts around?01:08
lifeless!ask01:09
james_wI've lost my question now01:16
james_wI think grokcore.component.global_adapter(DjangoLocation, IDjangoLocation, ILocation) isn't doing anything01:16
james_wbut I don't know how debug that01:16
StevenKlifeless: Input would be awesome01:24
james_whmm, it's not that it seems01:43
james_wit's "directives.location_interface(IDjangoLocation)" whatever that means01:44
james_wah, it seems my requests don't implement IWebServiceLayer01:49
james_wno, that's not either01:55
james_wmarvellous02:05
james_wit was a zope.traversing version incompatibility02:05
james_whttp://pypi.python.org/pypi/zope.traversing/3.13 breaks lazr.restful it seems02:07
nigelbwgrant: Nice!02:50
huwshimiwgrant: Hi, the change you made to the line height on Loggerhead seems to have created a mismatch between the code and the line numbers.02:55
wgranthuwshimi: Which browser? The only one I've heard bad things about is whatever iOS has.02:57
huwshimiwgrant: Oh right. This is with Chromium 17.0.963.79 (Developer Build 125985 Linux) Ubuntu 12.0402:58
wgrantHmm, indeed.02:59
huwshimiwgrant: It looks fine on Firefox03:00
huwshimi(whatever version I have)03:00
wgrantYeah, Opera and IE too.03:00
wgrantJust WebKit is broken.03:00
huwshimi:(03:00
wgrantI'm sure I tested it in Chromium, though. Maybe it was an old version.03:00
nigelbmaybe the version number updated right after you checked... :P03:02
huwshimiwgrant: My guess is that it has something to do with the <pre>03:03
huwshimiwgrant: You might be able to do it without the <pre> and use .viewLine a { display: block;}03:04
wgrantIt's the line-height on the pre03:04
wgrantDropping that makes it work everywhere.03:04
wgrantJust makes it slightly more obese in Firefox03:04
huwshimiah right03:05
lifelessStevenK: if you want a chat or whatever, I'm free03:12
StevenKlifeless: Chat works03:13
lifelessskype then?03:14
StevenKI knew you were going to say the evil s word03:14
nigelbhahah03:14
lifeless♥ skynet03:14
nigelbI thought Mumble was more evil anyway?03:14
lifelessits technically poorer thats for sure03:15
wgrantYou know, it would be really awesome if testing in OS X and iOS browsers didn't require purchasing Apple hardware.03:15
StevenKHahaha03:15
nigelbwgrant: need help with testing?03:15
StevenKlifeless: Let me get a cup of tea and setting up skype03:15
* nigelb is on the mac.03:15
wgrantNah, I'll just hope that Win32 Safari is vaguely similar.03:16
wgrantThanks for the offer, though :)03:17
nigelb:)03:17
bigjoolsnot sure if hangouts are more evil either03:17
wgranthangouts are a binary plugin that I have yet to convince to not hang Firefox or Chromium.03:18
wgrantThey are more evil than Skype.03:18
wgrantAnd that's saying something.03:18
bigjoolsI never had any probs like that with it03:19
nigelbheh03:19
nigelbskype on linux is good. BUt on mac it's severly pita.03:19
bigjoolswell both are closed source... which do you trust more? :)03:19
bigjoolssound quality on skype is bloody excellent though03:19
wgrantTBH I trust Microsoft more than Google right now...03:19
bigjoolstheir echo cancellation is something to behold03:20
nigelblol, me too.03:20
nigelband skype scales better than google hangout.03:20
StevenKwgrant: BugsInformationTypeMigrator is getting blocked a lot03:20
bigjoolsmy data usage under hangouts has been insane03:20
wgrantStevenK: Sure, but surely not all weekend.03:21
StevenKwgrant: Pretty much03:23
StevenKVACUUMs, backups, PRF and retry_depwait03:23
wgrantHmm03:24
wgrantSigh03:55
wgrantLoggerhead's YUI is an embedded copy of 3.0.0pr203:55
wgrantTruly the pinnacle of good practice and modern technology.03:56
wgrantbigjools: How is MaaS handling its YUI3 dep?03:57
wgrantI don't see it packaged in Ubuntu.03:57
bigjoolsconvoy03:57
wgrantHow does it get into convoy?03:57
rick_hit's in precise now and I uploaded it to pypi on friday finally03:58
bigjoolsfiles are in maas03:58
wgrantO_O03:58
rick_hrvba said it's going into precise03:58
bigjoolspython-django-maas03:58
wgrantEmbedding JS libraries... aaaaaaaaaaaaaa03:58
bigjoolsuntil they're packaged.... any better idea?03:59
wgrantPackage it so you don't have to embed multiple copies of 400KLOC JS libraries? :)03:59
wgrantI'm surprised the archive admins let that through.04:00
bigjoolsmeanwhile, in the real world04:00
wgrantStevenK: I am sad.04:00
StevenKwgrant: Why this time?04:00
wgrantStevenK: Your kin let MaaS through NEW with an embedded third-party 400KLOC JS library.04:01
StevenKlol04:01
StevenKpython-django-maas is not a source package ?04:02
wgrantSource is just maas04:03
huwshimiwgrant: We wanted to have our js libraries as dependencies, but we need security audits etc. and there's just not the time\04:04
wgrant$ du -sh04:04
wgrant34M.04:04
wgrant$ rm -r src/maasserver/static/jslibs/yui04:04
wgrant$ du -sh04:04
wgrant1.9M.04:04
bigjoolsmeanwhile, in the real world.... people need to get work done04:05
wgranthuwshimi: I'm not sure that gluing multiple packages together is an accepted way to bypass security audits :)04:05
StevenKbigjools: And it's that attitude in 2007 that got LP into the state it's in. So think very carefully.04:06
wgrantIt's similar to the Go static linking crap a couple of weeks back.04:06
* bigjools sighs heavily04:06
bigjoolsyou think we don't know this?04:06
bigjoolsyou think we're stupid?04:06
StevenKOh clearly, that's *exactly* what I'm saying.04:07
bigjoolsplease, feel free to package it for us then, while meeting all the deadlines we have04:07
StevenKLast time I offered suggestions on your packaging, you told me to shut up, so I don't think so.04:08
bigjoolsthought not04:08
huwshimiwgrant: Actually, it seems like exactly the way to bypass all that :)04:08
wgranthuwshimi: It certainly works, but it's not accepted :)04:08
huwshimiwgrant: Sure, we all wanted to do this properly (in fact I spent this morning ripping out a js dependency and putting it in our tree). But with 4 days to go, it's become unavoidable.04:10
huwshimiwgrant: So I've done EXACTLY what you're talking about, but I can't be in control of the packages in main.04:15
wgrantThings that security corners shouldn't be cut on, in descending order of importance:04:16
wgrant 1) Platforms for managing your corporation's entire computing infrastructure.04:16
wgrant 2) Everything else :)04:16
StevenKhuwshimi: Sure you can. If it's not in main, file a MIR04:16
lifelesswhat this really shows is that maas is the first YUI using thing we've got for main inclusion04:17
StevenKThere is a process for how source and binary packages move between components04:17
huwshimiStevenK: I know there's a process for getting it into main, but that doesn't mean we have the time to get it done04:18
StevenKhuwshimi: It takes about an hour to write the MIR, and you can talk to someone in ubuntu-mir about an urgent request04:19
huwshimilifeless: It's not just YUI04:19
huwshimiStevenK: The people responsible for packaging MAAS have already told us we don't have enough time (on top of all the packages we already have to get included).04:20
StevenKlifeless: objects.find() you say?04:23
lifelessStevenK: erm, I think Imeant filter.04:47
lifelessStevenK: https://docs.djangoproject.com/en/dev/topics/db/queries/04:47
lifelesshttps://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.get vs https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.filter04:48
StevenKlifeless: Yeah, I've figured that out04:49
StevenKNow I'm trying to work out why I can't pass lists or tuples as the value of a thing to search by04:50
StevenKIt seems to get forced to unicode04:50
mwhudsonStevenK: what are you trying to do?05:11
mwhudsonah, bad time to offer help, i'm about to run away05:12
StevenKHaha05:13
lifelessStevenK: Entry.objects.filter(id__in=[1, 3, 4])05:21
StevenKlifeless: Yes, I got that bit.05:21
lifelessStevenK: so whats the code that is going wrong look like ?05:22
StevenKlifeless: My issue is c.get('/fetch/', {'operation': ['foo', 'bar']}) ends up with request.GET['operation'] == u'bar'05:22
wgrantYes.05:22
lifelessStevenK: hangon, is this webservice marshalling, or ORM stuff ?05:23
wgrantLists of HTTP GET arguments are serialised as operation=foo&operation=bar05:23
StevenKlifeless: The former05:26
lifelessStevenK: as wgrant says, HTTP params should be listified by the django framework; what are you using to submit the request ?05:27
StevenKDjango's Client class05:28
wgrantYou may have to use a special syntax instead of request.GET['operation']05:28
wgrantOr you may have to call with [('operation', 'foo'), ('operation', 'bar')]05:28
StevenKIt wants a dict, though05:30
wgrantWhat is the generated URL?05:30
StevenKHow do I pull that out of Client?05:31
wgrantrequest.GET.getlist('operation') is what you want.05:32
StevenKIndeed. Thanks.05:34
StevenKIt even works, neat.05:38
huwshimiI love that you can decide that the code you're working on should be in a new branch and you can just add a new pipe and all your uncommitted changes get pushed into a new branch05:43
bigjoolsyeah I get the same thing with co-located checkouts05:48
wgrantSlow TALES is slow.06:24
stubwgrant: I have built a Slony package under Lucid for PG9.1. I neglected to rename the source package. Do things explode if I copy the built packages across to the Launchpad PPA?06:41
wgrantstub: Let me see.06:48
wgrantstub: It appears to be built for both 8.4 and 9.1, which is probably want we want06:49
wgrant(looking at 2.0.7-3ppa1 in ppa:stub/launchpad)06:49
wgrants/want we want/what we want/06:49
stubwgrant: Gah - debversion06:49
wgrantstub: It won't blow up, but it will be difficult to update either of them and be very confusing and leave orphaned binaries around.06:51
wgrantSo I would rename.06:51
wgrantAs, IIRC, I did with 8.4 for oneiric.06:51
stubOk. Ta.06:51
stubYer, just realized on the weekend. I did it last time (when I built under Oneric and copied back to Lucid, which was a #fail)06:51
lifelesswgrant: you could try pybars07:32
lifelessStevenK: unless the internet, or #isd, have answers, you'll need to step through with pdb07:33
wgrantlifeless: It's actually the TALES in browser:url that's upsetting me right now.07:40
wgrant(canonical_url on a person can take more than 200µs in a LaunchpadSecurityPolicy environment, 80µs in PermissiveSecurityPolicy, and about 25µs of that goes away when I replace the TALES-based IPerson browser:url with a Python adapter.07:43
wgrantAnd it takes 500µs to load a single Person from a DB result :/07:44
wgrantSo to generate two links to a person you've got 1ms :)07:45
wgrantSpeedy Zope is speedy.07:45
lifelesscanonical_url is known for its lightning fast speed and efficient operation07:47
adeuringgood morning08:56
=== almaisan-away is now known as al-maisan
stubGetting a bzr error with a recipe build: http://paste.ubuntu.com/890439/10:29
jelmerstub: you have  tag that's pointing at a revision that doesn't exist10:47
jelmerstub: it's trying to export that tag to create the upstream tarball10:47
stubhtf did I manage that I wonder?10:48
stubOh - push --override might do that?10:48
jelmeryeah, it won't push history that's not related to the branch tip10:48
stubShould there be a bug on this?10:49
stub(push --override leaving old tags pointing to revisions that no longer exist?)10:49
jelmerit's not necessarily wrong to leave that tag around - the revision is still accessible in your local branch10:50
jelmerit just won't be pushed along10:50
jelmerthere's a few bugs about tag handling in this regard already10:50
jelmerit would be nice to file a bug about the bzr-builder error though, it should at least tell you what tag it tried to resolve10:52
stubhuh - cosmic ray. "bzr: ERROR: Corruption while decompressing repository file, zlib: Error -3 while decompressing data: incorrect data check" but repeating the command, works fine11:07
=== al-maisan is now known as almaisan-away
czajkowskijtv: morning11:52
jtvGood morning czajkowski11:52
czajkowskijtv: would you have some time free to help me with 2 lanauge questions either now or later on11:52
czajkowskiplease11:52
jtvLet's get it done quickly, since night just fell here.11:52
jtvWhere are they?11:52
czajkowskijtv: https://answers.launchpad.net/launchpad/+question/19109011:53
czajkowskihttps://answers.launchpad.net/launchpad/+question/17390911:53
czajkowskithe latter had a bug linked to it and has been released but they are still having issues.11:53
jtvczajkowski: the first one is for Ubuntu, not for us.11:53
czajkowskigrand11:53
czajkowskijtv: thanks for the help. Also does this make sense to you?  https://bugs.launchpad.net/launchpad/+bug/95788411:55
jtvczajkowski: the second one, I think, may need manual intervention from someone more knowledgeable such as sinzui.  I did propose something that would resolve a lot of these problems in practice, but it was considered too radical.11:55
czajkowskinods11:56
czajkowskiI'll bring it up later as the fix that is currently in place isn't fixing things11:56
jtvYes, IIRC the bug is about not producing dangling membership requests any more.  Which is not the same as dealing with existing ones.11:58
czajkowskijtv: thanks for the help.11:58
jtvGood luck :)11:58
=== benji changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: benji | Firefighting: - | Critical bugtasks: 4*10
deryckMorning, all.12:03
czajkowskideryck: howdy doody12:04
=== almaisan-away is now known as al-maisan
wgrantczajkowski: A timeout on production is always a bug.12:52
wgrantTriaged/Critical/timeout12:52
wgrantqastaging/staging are slow and non-production, so it doesn't apply there.12:53
deryckadeuring, abentley, rick_h -- coming for standup, just taking a second to fire up hangout13:32
abentleyadeuring: Can we chat?13:40
adeuringabentley: sure. mumble?13:40
abentleyadeuring: sure.13:40
mrevellHey deryck, czajkowski kindly pointed me to bug 138775. Some bug mail is going out with truncated subjects, so no bug summary shows. czajkowski says that complaints about this issue have increased since Wednesday, suggesting something may be making it worse. Any thoughts?14:05
deryckmrevell, hey, let me look at the bug.14:07
deryckmrevell, hmmm, I have no idea what could have changed to make it worse.  Let me look around a minute or two.14:08
deryckmrevell, do you know if it's just watched bugs, or happening on any kind of bug?14:08
mrevellczajkowski has just gone on lunch. I'm guessing she'll see her name highlighted when she gets back. She can probably fill you in better than I can.14:08
czajkowskideryck: happens a lot on https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/19084814:10
czajkowskideryck: and https://bugs.launchpad.net/xserver-xorg-video-intel/+bug/92637914:11
czajkowski<-- running out door14:11
deryckok, thanks czajkowski14:11
tumbleweedpoke: https://code.launchpad.net/~stefanor/wadllib/datetime-924240/+merge/9709914:12
tumbleweedI'm about to apply that patch in Debian (it works fine for me) but would obviousuly prefer it if it was already merged into trunk14:13
derycktumbleweed, benji is the on call reviewer.  perhaps he could look at that branch for you?14:15
derycktumbleweed, rick_h would have an interest in this, too, since he did some of the original work but he isn't around right now.14:15
tumbleweedderyck: yeah, I see LP made him the reviewer14:15
deryckczajkowski, so I don't see anything recent that could be to blame for the increased instances of this....14:36
deryckczajkowski, and this seems related to freedesktop.org watched bugs, based on your two examples....14:36
deryckczajkowski, so either something changed on their end to make this worse....14:36
deryckczajkowski, or else it's always been happening and the importance or attention given to these bugs is making it seem more common.14:37
deryckczajkowski, so I'd suggest getting some of the mails showing this attached to the bug report.  I've subscribed to stay informed.14:37
deryckczajkowski, but if I don't reply timely enough, another ping to me if fair and appreciated :)14:38
derycks/if/is14:38
czajkowskideryck: thanks for the help14:44
czajkowskiI've taken a screen capture of my bug mail14:44
czajkowskiand added it to the bug14:44
deryckczajkowski, can you add full emails with headers and all?14:48
czajkowskideryck: done I think14:52
deryckczajkowski, thanks.  I'll try to dig in more later.14:53
czajkowskicheers14:54
czajkowskideryck: you about?15:15
czajkowskiI'm pretty sure I just made a large boo boo error :/15:16
deryckczajkowski, hey, yes, I'm around.  what's up?15:19
=== al-maisan is now known as almaisan-away
czajkowskiand heart failure over15:26
rick_hderyck: tumbleweed sorry for the delay, it's on my todo for today. I need to get py3 setup to retest it out.15:40
rick_htumbleweed: did you run the tests on both py2 and 3?15:40
rick_htumbleweed: we had to hack that in to get things happy on both sides and if that fixes it, we should probably add a test to verify it works with the right date strings on both versions of python15:40
tumbleweedrick_h: np15:44
tumbleweedyes, ran it on py2 and 315:44
tumbleweedyeah, it could definitly use a test case, but I don't know the code well enough for that15:45
abentleyadeuring: I am working on adding Celery & dependencies to the download cache.  I don't think you need to do it in your branch.15:54
adeuringabentley: cool15:54
jcsackettbenji: can i throw https://code.launchpad.net/~jcsackett/launchpad/sharing-details/+merge/98223 on to your queue?16:19
* jelmer wished testr gave some progress output..16:43
benjijcsackett: I'm back from lunch and will look at your MP shortly.17:09
rick_habentley: ping, I'm trying to see how I update/get lp-dev-utils correctly?18:15
abentleyrick_h: Okay, how can I help?18:15
rick_habentley: so this doesn't appear to be a python pacakge, or a .deb package?18:15
rick_habentley: so do I just download it somewhere and add it to path? I'm a bit confused on how it's meant to be used/run18:16
abentleyrick_h: Right, it's a bzr branch.  lp:lp-dev-utils.18:16
abentleyrick_h: Yes, you download it somewhere, and add it to a path.18:16
rick_habentley: ok, so it's not meant to set itself up then, just up to me to add it somewhere I can assess it18:16
rick_habentley: ok, gotcha, thanks18:16
abentleyrick_h: I have a symlink to ~/launchpad/lp-dev-utils/ec2 in ~/bin18:17
rick_habentley: thanks, just wanted to make sure I wasn't missing some package or something18:17
deryckabentley, hey, man. Since you started to look at it the first time, would you be willing to review my preload people branch now it's ready again?19:03
abentleyderyck: sure.19:03
deryckabentley, thanks!  https://code.launchpad.net/~deryck/launchpad/buglistings-preload-people-901122/+merge/9704119:03
abentleyderyck: r=me19:10
deryckabentley, awesome, thanks!19:11
abentleyderyck: I've written dict(foo.id, foo for foo in bar)  a lot, too.19:14
abentleyI'm getting a repeated assertion failure when I do "make run_all".  Anyone else seeing this?  http://pastebin.ubuntu.com/891134/19:23
* deryck heads out for the day with family19:27
sinzuibenji, do you have time to review https://code.launchpad.net/~sinzui/launchpad/project-notify-3/+merge/9828220:44
benjisinzui: sure20:44
benjisinzui: done20:49
sinzuiwow. Thank's benji20:49
benjisinzui: anything to keep me from thinking about performance reviews20:50
sinzuibenji, Indeed. I was depressed writing mine last week. benji Keep in mind that the most important thing you did was help your squad and the Lp team. All personal goals are not more important than the group goals. One year my team missed our personal goals, but it was okay because we responded to the group goals that emerged during the year20:53
benjisinzui: thanks for the encouragement20:54
=== benji changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugtasks: 4*10
lifelessflacoste: did you want a call ?22:03
* jelmer is reminded why he contributes to launchpad in bursts22:16
salgadolifeless, we seem to have encountered a weird issue with db updates not being flushed by storm before it executes a query... if you have a couple minutes to help us, it's at https://code.launchpad.net/~linaro-infrastructure/launchpad/notify-workitems-changes/+merge/9823122:19
lifelessjelmer: because of the excruiating overheads?22:19
lifelesssalgado: looking22:20
jelmerlifeless: yeahp22:22
lifelesssalgado: the transaction.commit() in prod code is a problem22:22
lifelesssalgado: as in, its a blocking problem; it will cause incorrect behaviour on retries22:22
salgadolifeless, right, we're not keeping that22:22
lifelessok22:23
lifelessso I have a few thoughts so far22:23
lifelessfirstly, event based email sending is terrible.22:23
lifelessI do mean that literally, it isn't hyperbole.22:23
lifelessits a wonderful concept that performs poorly and is hard to customise, extend and reason about22:23
lifelesssalgado: that said, I can see you're building on an existing hook, which means you'd have work to do to change things22:24
salgadoyeah, and probably a lot of work given that this is blueprints22:25
lifeless(also, the object delta stuff in lazr.restful is a direct cause for dozens of different timeouts)22:25
salgadoheh22:25
lifelessbecause doing an in python diff to determine that one message was added to a bug loads multiple MB's of data in an inefficient manner, to reconstruct the knowledge that the API layer had discarded about what it did.22:26
lifelessI have sketched a new subscriptions API22:26
lifelesson the list22:26
lifelessnoone has implemented it, and its a bit big to slide into what you're doing, your awesome notwithstanding22:26
lifelesssalgado: anyhow, the diff on that page has a commit() and no flush calls22:27
lifelesssalgado: what happens if the commit is removed?22:27
salgadolifeless, https://code.launchpad.net/~linaro-infrastructure/launchpad/notify-workitems-changes/+merge/98231/comments/21221122:28
salgado"Now, it looks like the work item changes are not always flushed to the DB when notify_specification_modified is fired (as the pdb session below shows), so that would explain why the diff looks wrong in some cases."22:28
lifelesssalgado: IIRC the only reason a select wouldn't see new objects is if both the select and the store.add for the objects *both* happen within a block_implicit_flushes() decorator22:28
salgadoit does!22:29
salgadothe subscriber has that22:29
lifelesswell22:29
lifelessthat will cause the behaviour you see :)22:29
lifelessyou might want to figure out why it has that decorator22:30
lifeless:cn22:30
lifelessa quick grep shows a lot of event subscribers having it22:30
lifelessthis bothers me22:30
salgadoyeah, all the blueprints-related ones have it22:31
lifelessand karma22:32
lifelessthis smells to me of some bug patched over22:33
lifelessif it was e.g. a truism that all event handlers must not permit implicit flushes, we'd have glued it into the event subscription code to avoid the repetition22:33
lifelesssalgado: I would look in annotate for the commit adding the decorator and see what it was part of; look at the MP too probably; and definitely try removing the decorator and seeing what happens22:36
salgadothere seems to be plenty of subscribers not using that22:36
salgadolifeless, it was added when we migrated to storm, I'm pretty sure22:36
lifelesssure, but why :)22:37
lifelesssalgado: ok, I'm going to context switch, if you want more chat, ping me again :)22:42
salgadolifeless, with the reorganization of the code, how I'd go about finding the revision where that was introduced?  the latest commits that touched that code were actually just moving files around... is there a way I can find the first commit which contains a block_implicit_flushes?22:42
lifelesswell, file renames won't affect annotate22:42
lifelessbut code copies will22:43
lifelessso you can jump back - gannotate will let you do this easil, or you can annotate -r before:lastcommityouknowabout filename22:43
salgadolifeless, ok, will try that.  thanks a bunch22:44
lifelessno worries22:48
lifelessyou can also pass a regex to bzr log (and a filename too)22:48
lifelessor use bzr-search if you have a search index built22:48
salgadolifeless, I've found, but it doesn't say anything about why it was needed so I emailed the list22:55
wallyworld_sinzui: bug 95978422:59
_mup_Bug #959784: Cannot add access to new information type without destoying existing 'Some' access <disclosure> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/959784 >22:59
wgrantsinzui: https://code.launchpad.net/~wgrant/launchpad/sharing-help-fixes/+merge/9830023:07
sinzuir=me23:07
wgrantThanks.23:09

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