/srv/irclogs.ubuntu.com/2011/08/30/#launchpad-dev.txt

=== wgrant changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 244 - 0:[#######=]:256
LPCIBotProject devel build #1,010: STILL FAILING in 4 hr 5 min: https://lpci.wedontsleep.org/job/devel/1010/03:02
nigelbJust when I thought I had great success in not breaking a truckload of tests with an MP, it fails buildbot.03:32
wgrantjelmer: https://lpbuildbot.canonical.com/builders/lucid_lp/builds/1313/steps/shell_6/logs/stdio <- your fix yesterday may be flaky.03:39
wgrantForcing.03:39
* wgrant vomits03:58
wgranthttplib2 has its own certificate store.03:58
wgrantWhat is wrong with being sensible :(04:05
stubwiki says wgrant or gmb is review bitch. Any chance of https://code.launchpad.net/~stub/launchpad/pgbouncer-fixture/+merge/73283 ?05:21
nigelbheh, review bitch.05:21
wgrantstub: Hm, changing to TCP connections?05:22
wgrantAh, I see, you don't want to overwrite the config.05:23
wgrantWe really need to fix lazr.config to not suck for this.05:23
wgrantstub: Why are you overriding PGHOST?05:24
stubwgrant: Because otherwise it will connect using UNIX sockets, and fail as the pgbouncer package does not (yet) set unix_socket_dir so they don't work.05:24
wgrantstub: But you've set host=localhost in the connection strings.05:25
wgrantstub: So setting PGHOST=localhost sounds redundant.05:25
stubwgrant: I probably won't bother changing it either, as this better represents production05:25
stubwgrant: It might be redundant now, yes.05:25
wgrantstub: Also, you can hopefully use self.useFixture instead of self.addCleanup and setUp.05:25
stubThat sounds good.05:26
wgrantI think the base Fixture from fixtures should support that.05:26
stubDo you want me to pull the PGHOST bit if it is redundant, or leave it since it might be useful in the future if I do what I don't think I'm going to do?05:26
wgrantstub: I think you should pull it out.05:27
wgrantWe have more than 650KLOC already. Let's not add more.05:27
stubpypi has terrible google juice05:28
wgrantpy* has terrible lots of things.05:28
wgrantstub: I don't think this is going to interact stunningly with PgTestSetup.05:29
wgrant                # Stash the name we use in the config if a writable config is05:29
wgrant                # available.05:29
wgrant                # Avoid circular imports05:30
wgrant                section = """[database]05:30
wgrantrw_main_master: dbname=%s05:30
wgrantrw_main_slave:  dbname=%s05:30
wgrantWhy yes, that is revolting.05:30
* stub wonders how it is working atm05:31
wgrantPossibly PGHOST :)05:31
stubahh... yes :-)05:31
wgrant213+ # Database is still working.05:32
wgrant214+ assert self.is_connected()05:32
wgrants/still working/working again/05:32
stubPushing with those changes.05:40
* stub wonders why the ec2 image doesn't upgrade its own packages06:14
stubAnyone around setup to update the ec2 test image?06:18
stubJust need launchpad dependency packages updated06:18
jtvstub: I thought it did upgrade… anyway, I should be able to do that.06:22
wgrantIt doesn't :(06:23
wgrantstub: What needs updating? It was last rebuilt a week ago.06:23
jtvMeanwhile, does anybody have any idea what the current crop of codehosting buildbot failures is all about?06:23
stubSeems simple enough, but I don't want to run an hour long process right at the moment and might not have perms on ec2 either.06:23
stubwgrant: Just pull in the newly build launchpad dependencies06:24
wgrantjtv: I poked jelmer about them, as they might be related to the stuff he's landed recently.06:24
stubc/build/built06:24
stublaunchpad-developer-dependencies06:24
jtvwgrant: he may have landed something unfinished… I also noticed a lot of recent lint in his name.06:24
wgrantstub: pgbouncer needs a list of users to let through?06:24
stubwgrant: yes06:25
wgrantstub: What about *_ro and read?06:25
wgrantstub: Or are we just going to hope no test that uses them ever goes near the fixture?06:25
stubwgrant: I'll need to add them too.06:26
jtvStevenK: your AMI rev. 519 is the current, valid image?06:26
wgrantjtv: He's on leave, but yes.06:26
wgrantIt was created last week.06:26
jtvthanks06:26
stubread isn't a user though, so don't need that one added.06:27
jtvBTW, why do we use a 64-bit AMI?  I can't imagine any of our test processes needing more than 3GB address space, and I thought x86 was likely to be faster than amd64 for python.06:28
stubBecause we run 64bit on production06:29
wgrantRight, production is mostly amd64.06:30
wgranti386 tests are quite a bit faster, because RAM usage is roughly halved.06:30
wgrantSo you get tonnes of extra cache.06:30
jtvwgrant: looking into gina domination a bit more.  Do I understand correctly that we want to mark SPPHs that have been superseded by newer publications of the same package as superseded, even if the package has subsequently "fallen out of" the Debian Sources lists?06:55
wgrantjtv: Ideally. But that's probably only a problem for the first time, so we could do it as a one-off.07:00
jtvWell it happens to be what the dominator already does.  It's just buried among heaps of other code.07:00
jtvIt also looks like it could be made much faster if it had to.07:01
jtvwgrant: by the way, it looks like you're OCR today.  In which case: https://code.launchpad.net/~jtv/launchpad/bug-836743/+merge/73267 plz?07:04
wgrantThe archivepublisher dominator should take <5s per context now.07:04
wgrantOnce we finish denorming SPN onto SPPH it will be trivial time.07:04
wgrantjtv: However, we already know what's not published any more, so I think using the dominator in the normal case is pointless.07:05
wgrantjtv: Looking at that review now.07:06
jtvExcept we still need domination done—might as well.07:06
jtvThanks.07:06
wgrantjtv: Why?07:06
wgrantApart from the initial run, the algorithm is as I outlined in the bug.07:07
jtvBecause we don't want to keep keeping Debian SPPHs in unjustified active statuses.07:07
wgrantThe dominator will not match what Debian does.07:07
jtvIn what way?07:07
wgrantDebian does not handle superseded packages quite as Ubuntu does.07:08
wgrantSuperseded sources are kept around in the indices until they are unreferenced.07:08
wgrantBy binaries, that is.07:08
jtvYes, but doesn't that mean they're still superseded?07:09
jtvThere is a difference between "superseded" and "deleted" after all.07:09
wgrantThat's something that is not clear.07:09
wgrantJulian argues that anything in the indices is by definition not superseded.07:09
LPCIBotProject devel build #1,011: STILL FAILING in 4 hr 7 min: https://lpci.wedontsleep.org/job/devel/1011/07:10
wgrantSoyuz currently works under the assumption that (in the indices == published).07:12
wgrantI've argued that that should be changed, to allow us to gain Debian's enhanced supersededness stuff. But I don't think now is the time to be violating or changing that assumption.07:12
jtvIsn't that what we have pockets for?  I imagine it's a valid assumption for ubuntu exactly because we don't do it that way.07:13
wgrantWe want to do it that way.07:13
wgrantThere's a critical bug for it.07:13
wgrantIt's unrelated to pockets.07:13
wgrantjtv: Branch looks good.07:15
jtvThanks.  So in the future we want to keep multiple SPPHs "published" for the same source package name, distroseries, and pocket?07:15
wgrantWe want to keep multiple SPPHs with the same context (archive, distroseries, pocket) and name in the indices. It's not clear whether that means we should leave the status as Published.07:17
wgrantI've traditionally argued that we shouldn't leave the status as published, but it has been a point of significant contention.07:18
wgrantjtv: Does anybody use launchpad_langpack on staging these days?07:20
wgrant# - Run Langpack ((re)-create a langpack DB that the07:21
wgrant#   translations team can use for testing.07:21
jtvThat's very very old, and we used to use it even for production tarballs sometimes.  Today, we may still want it for Q/A.07:21
wgrantThat sounds within tolerances of "no".07:22
jtvI don't know because I've been on Soyuz feature "rotation" since two interglacials ago.07:22
wgrantMegafeature :)07:22
jtvScope creep.  It's the difference between your burndown rate and your burnout rate.07:23
wgrantWell, it also should have been split into at least three separate features from the start :(07:23
jtvIn a way, it was.  They just kept being piled into the same feature rotation.07:24
wgrantWell, yes, that's what I meant.07:24
jtvAnyway, about the superseding of source publications: what would determine for Ubuntu whether a package is still in the Sources list?  Where would that information be kept?07:25
wgrantdatepublished IS NOT NULL AND dateremoved IS NOT NULL07:25
wgrantActually, probably datepublished IS NOT NULL AND datemadepending IS NOT NULL07:27
wgrant(datemadepending is the date it was scheduled for deletion, not the date it was made pending, because 2005 hates us)07:27
adeuringgood morning07:29
jtvhi adeuring07:29
adeuringhi jtv!07:29
jtvwgrant: it sounds to me then as if domination should be fixed to handle that uniformly for debian, ubuntu, and derivatives; and gina should merely be updated to set those date fields.07:30
wgrantjtv: Possibly, but that is feature scale work.07:31
jtvPossibly, but then I don't see why I should solve that problem for just Debian right now in a short-term branch.07:32
wgrantI don't think it makes sense to run a dominator over an imported archive, since it is archive publishing logic. The imported archive has the information we need right now. When we remove the (in indices <=> published) invariant, that may have to change.07:33
jmlhttp://flossmole.org/content/everything-you-ever-wanted-know-about-software-forges-code-forges-june-201108:25
jmlinteresting link08:25
nigelbthat's a long URL.08:25
nigelb(twss, yeah I know)08:25
nigelbOoh, interesting cloud.08:27
wgrantLP apparently doesn't have announcements.08:28
nigelbIt does. Right?08:28
nigelbThe RSS thing that pops in the right corder of a project.08:28
wgrantYes.08:28
wgrantIntriguingly, Trac is included as a feature in the feature matrix.08:29
jelmerwgrant: hi08:29
wgrantHm, I thought we still provided DOAP.08:30
wgrantMaybe we dropped that.08:30
mrevellHello08:33
nigelbWasn't someone talking about having javascript OOPSes?08:34
nigelbI just saw this http://errorception.com08:34
nigelbI don't know how it works, but apparently some kind of OOPS system. Paid for though :|08:35
jmlmrevell: hi08:38
=== gmb changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: gmb | Critical bugs: 244 - 0:[#######=]:256
jelmerwgrant: it looks like the failing test was one that was flapping earlier, which supposedly should be fixed by the introduction of the newer Twisted08:52
wgrantjelmer: Yeah, I thought it could have been that :(09:00
wgrantBut since you'd touched that area recently, I thought I might as well see if you had any thoughts or fault :)09:01
bigjoolswgrant: thanks for the utf8 fix09:01
bigjoolsnot sure wtf the extra blank lines are coming from but it's not exactly important09:02
wgrantbigjools: The iterator probably stops at the start of the next entry.09:02
wgrantbigjools: You can probably sensibly just call strip() on the changelog string.09:03
bigjoolsas for the person/date line... that would need a change in python-debian methinks.09:03
bigjoolsyeah, I was considering using strip but it might also be in the template09:03
wgrantbigjools: python-debian doesn't give you access to the various components of the entry?09:03
wgrantbigjools: gina does it somehow.09:03
wgrantAlthough it has its own parser.09:03
bigjoolsgina has its own parser09:03
wgrantHeh.09:04
bigjoolsit's do-able, but the right place is in python-debian09:04
bigjoolsaha09:04
bigjoolsI can do block.changes() I tihnk09:04
wgrantbigjools: You could also set _no_trailer on the block.09:05
wgrantThen __unicode__ won't include that line.09:05
wgrantHah.09:05
bigjoolsunicode?09:05
wgrantRather than using the utf-8 stuff, use unicode() instead of str()09:05
wgrantIts __str__ just calls __unicode__09:05
bigjoolsunicode... what unicode :)09:05
bigjoolswhich python-debian do you have?09:05
wgrantAh, I'm on oneiric.09:06
wgrantLet's see lucid...09:06
bigjools;)09:06
wgrantPackage `python-debian' is not installed.09:06
wgrantHuh.09:06
wgrantOh.09:06
wgrantWe still use the one in sourcecode/09:06
bigjools:(09:06
wgrantWe should update that and use proper unicode :)09:07
wgrantAlthough that one does still support _no_trailer.09:07
bigjoolsI love the way that the API expects you to poke private variables to change behaviour09:07
wgrantYou're not meant to poke them from the outside.09:08
wgrantWe're just doing unexpected things.09:08
wgrantI'm not sure about your use of _raw_version either, but meh.09:08
bigjoolswell, quite09:08
bigjoolsthe api is a bit rubbish09:08
bigjoolslooks like I can just set _no_trailer then09:09
bigjoolswgrant: instead of decoding the utf8 in fetch_information it seems to make more sense to do it in aggregate_changelog09:19
wgrantbigjools: Probably.09:23
wgrantbigjools: I just did it there to get it unbroken.09:23
bigjoolsnp09:23
henningeAFICT wer are in a good position for a stable deploy, aren't we?09:38
henningeboth rollbacks have landed.09:38
wgranthenninge: Yes.09:39
* henninge goes about starting that.09:39
wgrantOnce danilos' QA is done.09:39
daniloswgrant, was it not done?09:39
wgrantNot a few hours ago when I last checked the deployment report.09:39
henningedanilos, wgrant: all green09:39
wgrantSo it is.09:39
nigelbhmm, I should do QA!09:40
wgrantdoit09:40
nigelbor should I?09:40
* nigelb didn't didn't see a tag show up.09:40
wgrantnigelb: It should be there in 20 minutes or so.09:41
wgrantActually, I'm behind. May have been there 10 minutes ago...09:41
nigelbAhh.09:41
wgrantRevision 13818 can not be deployed: needstesting09:42
wgrantAssignee: nigelbabu09:42
nigelb*whee*09:42
* wallyworld just got power back on after a 90 minute power outage :-(09:42
* nigelb QAs09:42
nigelbFUUUUU09:42
nigelbI wasn't subscribed.09:42
nigelbWhy does assigning the bug to myself not auto-subscribe me :x09:42
wgrantYou won't be explicitly subscribed, but you'll still get notifications.09:44
nigelbHa, 13 minutes ago.09:44
bigjoolswgrant: can you think of any good reason why I should not make makeChangelog return a unicode changelog?09:44
nigelbNo wonder.09:44
wgrantbigjools: No.09:44
wgrantbigjools: There's little place for bytestrings in LP.09:45
bigjoolsgood answer :)09:45
* bigjools does the file encoding trick09:45
wgrantHm?09:45
bigjools# -*- coding: utf-8 -*-09:46
wgrantWhy?09:46
StevenKThat's an emacs hint09:47
bigjoolsno it's not09:47
nigelbisn't that a vim hint?09:47
wgrantPython hint.09:47
bigjoolsit's a PYthon hint09:47
wgrantThat's the critical bit.09:47
wgrantHowever, it's probably overkill.09:47
wgrantWhat do you think you are up to?09:47
nigelbQA'd09:47
bigjoolsI've had this conversation before09:47
bigjoolsIf I want to type human-readable unicode in Python source I need that09:48
wgrantbigjools: Oh, this is for a test?09:48
wgrantI guess that's OK then.09:48
bigjoolsin factory.py09:48
bigjoolsbut yes09:48
bigjoolssee the top of test_ppauploadprocessor.py for example09:48
lifelesswgrant: A hint for you with fixtures: useFixture is the bomb.09:49
wgrantlifeless: Didn't I just suggest that to stub? :)09:49
lifelessI may have missed that09:49
wgrant15:25:55 < wgrant> stub: Also, you can hopefully use self.useFixture instead of self.addCleanup and setUp.09:49
lifelessI was going off of the MP thread.09:49
wgrantI am not guilty.09:49
wgrantAh.09:49
wgrantI felt some of the issues needed discussion, so did it on IRC instead.09:50
lifelesssomething I like doing after IRC discussion is to paste that into the MP09:50
wgrantProbably should have, yeah. Will do so in future.09:51
wgrantbigjools: You prefer using coding: utf-8 over \N{SNOWMAN}?09:53
bigjoolshell yes09:53
wgrantBah.09:53
* jelmer wonders how you would type non-ascii characters on a UK keyboard09:56
lifeless09:56
nigelbbuy a new keyboard!09:56
nigelbActually there's a character map thing somewhere you can use :)09:56
wgrantjelmer: Compose keys solve everything.09:56
wgrantExcept for in oneiric, where I can't work out how to configure one...09:56
wgrantGNOME 3 wins.09:57
jelmerOTOH, the special keys handling dialog in GNOME2 excelled in being complex and confusing...09:58
wgrantYeah.09:58
wgrantBut I can't find anywhere to configure keyboard layouts at all any more.09:58
cjwatsonit *was* originally an Emacs hint.  Python just appropriated it.09:59
wgrantIn fact, the new gnome-control-center seems to take GNOME policy to the extreme and delete most of the options.09:59
jelmerwgrant: yeah10:00
wgrantOr perhaps Ubuntu's Language Support button has replaced the GNOME 3 regional settings one or something.10:01
=== jtv is now known as jtv-eat
nigelbMeh. I should just stop. Not helping.10:03
jelmernigelb: hmm?10:04
wgrant#launchpad, I presume.10:04
nigelbYEah.10:04
wgrantcheater is right, our UI is terrible, and attempting to argue otherwise is probably silly :)10:04
wgrantLP was designed in a different era, and was never pulled out of it.10:04
nigelbheh, I agree with that. BUt its not /that/ terrible.10:04
wgrantIt is to people who haven't used it before.10:05
wgrantAnd even to those that have it is cluttered and awkward.10:05
nigelbAlso, I'm trying to say how the UX is different from other similar services.10:05
wgrantAnd does not provide dashboards or anything else that contemporary social applications have.10:05
nigelbI failed at that spectacularly.'10:05
wgrantIt is a good point, but difficult to argue successfully.10:05
nigelbWhat would it take to build a dashboard like approach?10:06
jelmerdashboards would be really nice, especially given we track not just stuff on launchpad but elsewhere as well.10:06
wgrantAhahah10:06
nigelbBesides lots of crying.10:06
nigelbbtw, no StevenK these days?10:09
wgrantStevenK is away this week.10:09
nigelbOr is he using perl to delete large parts of launchpad in secret.10:09
wgrantWell, not away, but not meant to be here.10:09
nigelbwgrant: Like you were a few weeks back.10:09
wgrantShh.10:10
nigelbBad metaphors need to be shot down.10:22
jmlnigelb: shot down from where?10:22
StevenKjml: WRT Facebook and Google+, congrats!10:22
jmlStevenK: thanks :D10:23
nigelbjml: oh yeah! Congrats!10:23
jmlnigelb: cheers :)10:23
StevenKjml: Pictures of the ring are *required*10:23
nigelbjml: I'm adding my comments to the discussion in the other channel.10:23
nigelbStevenK: haha, I just realized, I did pictures of the ring with which you proposed :D10:23
StevenKnigelb: You did?10:23
jmlnigelb: was being witty, "shot down" is itself a metaphor10:23
nigelbjml: haha. Damn. I fail at my own joke :)10:24
jmlor maybe that's what you meant10:24
nigelbStevenK: Yeah, #ubuntu-women ^-^10:24
nigelbback then.10:24
bigjoolsI need unicode help :(10:30
bigjoolswhenever I have to do unicode in Python, I get frustrated10:30
bigjoolswgrant: do you know the appropriate runes to get makeChangelog working with a unicode changelog? the librarian addFile keeps blowing chunks on me10:31
jmlbigjools: Python makes it really hard.10:32
bigjoolsjml: it does :(10:32
wgrantbigjools: You'll need to encode the changelog before you pass it to makeLFA10:32
jmlbigjools: you should see the insane stuff mgz has done to get testtools have proper unicode handling.10:32
bigjoolswgrant: I am, it still bitches10:32
wgrantbigjools: Bitches how?10:32
bigjoolsUnicodeEncodeError: 'ascii' codec can't encode character .... blah10:32
wgrantjml: Python 3's sort of much better, though.10:32
wgrantbigjools: What is your .encode invocation?10:32
bigjoolsjml: I can well imagine10:32
jmlwgrant: yeah. it's the cross-Python support that makes it hard. Would be better with actual real honest-to-goodness types, and banning the word "string"10:33
bigjoolscontent=changelog.decode("utf-8")10:33
wgrantbigjools: encode.10:33
bigjoolsffs10:33
wgrantjml: Yeah, I think they designed stuff like the bytes backports to 2.6 just to make everyone's lives hell.10:34
wgrantI use "backports" loosely.10:34
jmlheh. yeah.10:34
wgrantI end up mostly resorting to casting everything to bytearray instead.10:34
wgrantWhich actually has consistent behaviour...10:34
bigjoolsthis is just utterly confusing10:35
wgrantbigjools: Oh?10:35
wgrantbigjools: You were going completely the wrong way before.10:35
bigjoolsencode/decode/unicode etc10:36
wgrantThat's not Python, it's just people being stupid and not using Unicode everywhere.10:36
bigjoolsI'm confused about whenI need to use encode and decode10:36
wgrantIf your data is not binary or UTF-8, you are wrong.10:36
wgrantbigjools: Librarian files are bytestreams. You need to encode before you put data into an LFA, and decode once you get it out.10:37
wgrantBecause Python 2 doesn't do text files.10:37
wgrantjml: How's the world of app development, anyway?10:39
wgrantHopefully not too much Python unicode support.10:40
jmlwgrant: fun! I have a spec :)10:40
jmlwgrant: https://blueprints.launchpad.net/developer-portal/+spec/automagic-binary-packaging10:40
jmlunicode support only matters insofar as a testtools release would help me and many others at Canonical get things done faster10:41
wgrantThis reminds me... I must work out what is up with poppy-sftp's logging tomorrow.10:41
wgrantbigjools: Have you touched that at all?10:41
wgrantbigjools: It's completely screwed.10:41
bigjoolswgrant: no, not at all10:42
nigelbSo, codeswarm for Launchpad was fun watching.10:42
wgrantbigjools: Normally doesn't log anything, except when you log something explicitly, then it starts logging everything 50-60 times.10:42
wgrantand you can actually see exceptions that occur.10:42
wgrantAfter three recursion depth exceeded errors in the log handler.10:42
bigjoolsI remember that happening when I was adding ftp support, then it went away10:42
bigjoolsnever got to the bottom of it10:43
nigelbjml: Hows your day job? :)10:43
StevenKnigelb: Do you have it for Launchpad?10:44
wgrantjml: So we're going for widespread package-all-the-things before we have sandboxing, or are we hoping sandboxing will be practical before this is mature?10:44
nigelbStevenK: Yes.10:44
StevenKnigelb: Can haz?10:44
nigelbStevenK: http://www.youtube.com/watch?v=9Pe70fw83Zs10:44
jmlwgrant: more the latter10:45
nigelbLots of lifeless floating around ;)10:45
jmlwgrant: for commercial apps, which is my focus for now, we are already operating without sandboxing in much the same way that we do with partner or the things currently in the software center10:45
wgrantjml: Yeah, but I don't think that can scale while maintaining responsiveness.10:46
jmlwgrant: agreed.10:46
nigelbjml: I love your work, except for the bits where its limited to one arch :(10:46
nigelb(well, for now)10:46
jmlnigelb: we're moving up to two!10:46
nigelboooh \o/10:46
* bigjools weeps at having 4 cores which doesn't help when everything bottlenecks on disk10:46
jmlwgrant: I think sandboxing is the next step.10:46
wgrantjml: It should have been the next step for about 15 years, but yeah :)10:47
nigelbheh10:47
wgrantbigjools: tmpfs + LXC + 6 parallel test runs makes good use of cores.10:47
cjwatsonsandboxing's already nearly practical - see arkose10:47
cjwatson(I'm sure jml knows about that already)10:48
wgrantYeah, it's getting there.10:48
jmlyeah, I do.10:48
bigjoolswgrant: I used to run parallel tests using kvm but really, everything bottlenecks on disk.10:48
cjwatsonit's good enough for skype, which is pretty damn good10:48
jmlAlthough haven't had the play with Arkose that I'd like to.10:48
cjwatson(the above is not to be taken to mean "skype is pretty damn good")10:48
bigjoolsI know tmpfs is supposed to help but I still struggled to speed it up10:48
jmlMight do that today, actually, since most of it's consumed by long weekend email recovery10:48
nigelbcjwatson: I can see the tabloids "Ubuntu developer says skype is damn good!"10:49
wgrantbigjools: Which is why I implemented the LXC-based system that lifeless and I have tested. Have a single base chroot, then start 6 COW guests using aufs on tmpfs.10:49
wgrantbigjools: All writes go to tmpfs, and the chroot cache is shared between all of them.10:49
wgrantIt was entirely CPU bound when I tried it.10:49
bigjoolsexcellent10:49
nigelbI need a new machine.10:50
nigelb2 cores is now old.10:50
bigjoolsmy 4 core is a Phenom, a bit old10:50
nigelbBuddy of mine got an 8-core. Runs gentoo one it and says he has great build times.10:50
bigjoolsthe i5 feels quicker, even though it only has 2 (although has the pseudo extra 2)10:50
nigelb(I repllied with "I use Ubuntu, no build time on my laptop at all!")10:51
bigjoolsgentoo users are weird people :)10:51
nigelbhaha10:51
nigelbjml: that spec looks scary - so.many.items!10:52
jmlnigelb: I like having lots of small items.10:53
jmlnigelb: gives me illusions of control and progress.10:53
nigelbAh, they're small.10:53
wgrantFar easier to feel that you're making progress that way.10:53
nigelbI have like one item from UDS that's going to take 2 cycles to do.10:53
nigelbHmm, https://myapps.developer.ubuntu.com/dev/ looks slick. Except I had to read about it on Rick's blog.10:54
nigelbI wish ISD blogged on the planet.10:54
=== matsubara-afk is now known as matsubara
Ganyone got a second to talk about a bug, and a possible bug?10:55
Gerr a possible patch that is :)10:56
nigelb"patch" - the magic word!10:57
nigelbG: Actually, you should just talk about it and someone will respond10:57
Gnigelb: yeah, well my fingers were a timezone behind my brain :)10:57
nigelbI know that feeling well :)10:58
GAnyway, I spotted https://bugs.launchpad.net/launchpad/+bug/837290 last night and thought "that looks wrong", I took a look/poke at the Javascript tonight, and think I have isolated the issue10:58
_mup_Bug #837290: When there is no "Other bug subscribers" incorrect descriptive text is displayed <Launchpad itself:New> < https://launchpad.net/bugs/837290 >10:58
GWhat I seem to have isolated it to, is in lib/lp/app/javascript/subscribers/subscribers_list.js the function combines a set of config variables passed to it, with defaults if not set elsewhere11:00
G(~ line 75 of current devel branch)11:01
Gbut the SubscribersList function/module gets called using the uncombined config parameters11:01
Gwhich results in items such as 'subscribers_label' ending up, undefined11:01
nigelbThat's a real narrow situation. Nice catch :)11:03
bigjoolswgrant: can you sanity check please: http://pastebin.ubuntu.com/677885/11:03
Gnigelb: my thought exactly :)11:04
GI came up with http://pastebin.ubuntu.com/677887/ as a working patch11:04
wgrantbigjools: I guess.11:06
nigelbG: I don't know if it works, but if you propose a merge, you can ask the oncall reviewer to look at your MP and review/land.11:07
GI'm going by https://dev.launchpad.net/FixBugs which says discuss first11:08
nigelbmmm11:08
nigelbI forgot about that one.11:08
Gbut yeah, I was planning on going the MP route, but wanted to cehck my logic first11:08
wgrantbigjools: I don't really like making all the tests unicode like that, but I guess it's fine :)11:08
bigjools<wgrant> If your data is not binary or UTF-8, you are wrong.11:09
jml<http://www.joelonsoftware.com/articles/Unicode.html>11:09
bigjools"Did you ever get an email from your friends in Bulgaria with the subject line "???? ?????? ??? ????"?"11:10
bigjoolslol11:10
wgrantbigjools: By "making all the tests unicode" I mean "using non-ASCII characters just because, which makes the tests ugly"11:10
bigjoolsif it sweeps out decode errors in production, I don't care!11:10
Gthe other thing I'm wondering is if lines 79 & 81 are actually needed at all because everything seems to be 'config.something' not 'this.something'11:10
wgrantbigjools: Still, whenever I see bad Unicode code in LP, I just think to myself "at least it isn't lp.services.encoding.ascii_smash()", and then I feel better.11:12
G(actually, ignore that last line)11:12
wgrantbigjools: (bug #362957)11:13
bigjoolsascii_smash is ....11:14
wgrantBroken and has no cause to exist.11:15
bigjoolsthe bug reporter's name made me laugh.  I think I am a bit evil.11:16
wgrantMIME solved Unicode in emails in 1996 :/11:16
wgrantHeh.11:16
wgrantI haven't seen him around in a while.11:16
wgrantHmm, only archiveuploader and soyuz.adapters.notifications use ascii_smash.11:16
wgrantMaybe we can delete it.11:16
bigjoolsit should be easy11:17
wgrantdef safe_fix_maintainer(content, fieldname): """Wrapper for fix_maintainer() to handle unicode and string argument.11:17
wgrantIt verifies the content type and transform it in a unicode with guess() before call ascii_smash(). Then we can safely call fix_maintainer(). """11:17
wgrantConvert to Unicode just so you can ascii_smash it.11:17
wgrantYAY11:17
cjwatsonI filed a bug about that about four years ago :)11:17
cjwatsonI mean, about ASCII-smashing on uploader names in upload announcements11:18
wgrantBug #3313711:18
wgranthttps://bugs.launchpad.net/launchpad/+bug/3313711:18
cjwatsonit got unfixed11:18
wgrantI think for Changes it's still fixed.11:19
cjwatsonsee e.g. https://lists.ubuntu.com/archives/oneiric-changes/2011-August/005861.html11:19
wgrantOnly for addresses is it still insane.11:19
bigjoolsmails from syncs should be ok11:19
wgrantbigjools: lol11:19
bigjools?11:19
bigjoolsthere are tests to preserve the From address11:19
wgrantbigjools: They still use the ascii_smash codepath.11:19
bigjoolshmm it must be a weird corner case then11:20
wgrantcjwatson: You have to remember that the LP team will only do the absolutely minimal fix.11:20
wgrantcjwatson: Not the sensible one.11:20
wgrant:)11:20
bigjoolswgrant: that is not a helpful remark11:20
wgrantProbably not.11:20
wgrantBut it is hard to make helpful remarks when ascii_smash exists.11:21
wgrantBecause the only conceivable reason for its existence was rendered invalid 8 years before LP was begun.11:22
cjwatsonI'm sure I would be a lot more annoyed about it if it mangled my own name.  Part of the problem is probably that the Latin-alphabet ratio in Ubuntu development is too high.11:23
wgrantYup.11:23
wgrantrvba has been useful.11:23
wgrantWith his Unicode name breaking new Soyuz features :P11:23
bigjoolsheh11:23
wgrantPreviously we had to rely on danilos.11:23
nigelbI should write my name in my mother tongue just to break LP.11:24
jmlwow11:24
=== henninge is now known as henninge-lunch
jmlworking with the LP bzr branch is really different when you are only casually dipping in11:24
cjwatsonOne of our proposed baby names contains an accent; I expect to get more annoyed with broken forms and the like11:24
nigelbheh11:24
bigjoolsin composite changelogs, how many blank lines, if any, do we want to keep once the trailer line is removed?11:25
wgrantcharlieS has been wandering around with a snowman in his LP name for a while now.11:25
wgranthttps://launchpad.net/~cschluti11:25
wgrantbigjools: There should be one blank line between each entry.11:25
daniloswgrant, cjwatson :)11:25
nigelbwgrant: Excellent!11:25
poolie_jml: ha ha11:25
* bigjools curses python-debian11:26
wgrantbigjools: So you probably need to drop the trailing and one of the lines.11:26
cjwatsonWhy do we remove trailer lines in composite changelogs anyway?11:26
daniloswgrant, actually, I think charlieS is snowman-ready to test the SSO bug they have for our RT systems login (they are not sending the full name over anymore, but I suppose they'd like to)11:26
nigelbjml: Now you know how people like me feel :P11:26
bigjoolscjwatson: that is an extremely good question11:26
wgrantdanilos: Ah, but he must have changed it in LP too.11:26
jmlwgrant: $ bzr grep ascii_smash | wc -l11:26
jml2911:26
wgrantdanilos: Or maybe even he is confused by login.launchpad.net :(11:26
wgrantjml: Mostly tests.11:26
daniloswgrant, right, could be :)11:26
jmlwgrant: 29 is a small number. There art thou happy.11:26
nigelbjml: I'm curious though, what bits feel different?11:27
wgrantjml: It still does not inspire confidence that such a thing existed in the first place :(11:27
jmlnigelb: the elapsing time11:27
cjwatsonjml: you have to spend half an hour every time fixing your test setup?11:27
bigjoolscjwatson: in fact as someone who looks at the emails from syncs, do you want to see them with or without trailer lines for each revision?11:27
jmlcjwatson:  yeah, that too.11:27
jmlAlso, caching files into memory11:27
wgrantI think I'd prefer them with trailers.11:27
nigelbjml: Heh :)11:27
jmlAnd bzr taking quite some time to download stuff11:27
wgrantBut it's unconventional and might make parsers angry.11:27
nigelbI think I've accept that I'll take 4 hours to write a patch11:28
cjwatsonhm, I'm not sure, the counterargument is that dpkg-genchanges -v wouldn't include the trailers11:28
nigelband about 12 hours to write a test.11:28
wgrantcjwatson: I think that's the only reason not to include them.11:28
cjwatsonI think e-mails from syncs should omit the trailer lines but representations like +changelog should include them11:28
cjwatsonprobably11:28
bigjoolsdpkg-genchanges output was the original argument for omitting them11:28
wgrantWe really should replace +changelog with the real changelog, now that we have it.11:28
bigjoolsyes11:29
cjwatsonI wouldn't be desperately sad if they were included everywhere, but wgrant may be right that the odd thing might get confused11:29
wgrantIt's only a few lines to get rid of them.11:29
wgrantSo let's get rid of them.11:29
* bigjools gets rid of them11:30
bigjoolsnow, htf to omit this blank line too11:30
wgrantYou could strip the chunks and "\n\n".join()11:30
wgrantIf python-debian isn't being convenient.11:30
bigjoolsgross, but yes11:30
wgrantOr just rstrip and + '\n\n' or so.11:31
bigjoolstoday is going to need a lot more caffeine11:34
poolie_mrevell, wow, interesting post from cheater11:35
poolie_something to get started with :)11:36
wgrantpoolie_: There was some discussion with him in #launchpad earlier.11:36
poolie_yeah i saw the quotes11:37
mrevellpoolie_, I haven't read that yet ... /me dives in11:37
nigelbI find parts of it depressing.11:38
poolie_it is a bit11:38
poolie_in various ways11:38
poolie_some of them being that we saw the problem at the time11:38
poolie_on the other hand it's a lot of free moderately good user feedback11:38
nigelbheh11:39
poolie_it's possibly more efficient than him filing 50 bugs11:39
nigelbWell, now we'd file the 50 bugs instead of him :P11:40
nigelbHoping, of course, that some of them get fixed in the near future.11:40
jmloh that reminds me11:42
jmloneiric feedback :(11:43
poolie_heh11:44
nigelboneiric feedback?11:44
wgrantArgh.11:45
wgrantWhy do I ever try to fix Unicode stuff in Python 2.11:45
wgrantThe implicit str<->unicode conversions suck.11:46
jmlnigelb: I'm running oneiric. It's critically buggy in about a dozen major ways for me. I should file those bugs.11:47
nigelbjml: Ahh.11:47
wgrantUnity has only crashed once today!11:47
wgrantIt didn't much like me opening Character Map.11:47
nigelbAt some point I should upgrade to something with Unity.11:47
nigelbI'm still on Lucid and Maverick.11:48
wgrantnigelb: You're running maverick?11:48
wgrantHah.11:48
mrevellpoolie_, On the positive side, some of the things he raises are pretty easy to fix. I've been reading a book, About Face, which is about goal-oriented design. The issues cheater mentions fall under what the book refers to as "implementation model" design ... i.e. the UI arises from how the thing is engineered, rather than from the user's goals. Such an observation isn't new, but I think we can solve a tonne of cod11:48
mrevelle.lp's problems by saying, "Right, person A wants to host code ... what's the least work they need to do to get up on LP" and then making everything else optional, something you can do later if it's necessary.11:48
wgrantmrevell: Very, very strongly agree.11:48
nigelbAmen.11:48
nigelbIts not very apprent how to upload code coming from github.11:48
wgrantmrevell: It's a huge shift from the last 7 years of UI. But I think it's the way the world has gone.11:48
nigelbThat I need a project and then add to the project.11:49
mrevellSo, perhaps we have a simple, default, path where you push something up and it lands in a renamed +junk (+personal?) and we allow merge proposals on +junk branches ... that'd solve some of what cheater mentions.11:50
cjwatsonnigelb: well, technically you don't, but then you have to put up with your branch being called +junk.11:50
wgrantmrevell: We've long wanted an easy way to promote junk to a project.11:50
nigelbcjwatson: Yeah. I don't like LP calling my stuff +junk :)11:50
nigelb(GAH, no pun intended)11:50
wgrantThe modern DVCS hosts tend to get around this by not having projects.11:51
wgrantEverything is namespaced under a team/person.11:51
nigelbcjwatson: I would like LP to say something like.. "Want to start a project? Go here!"11:51
nigelbOr something.11:51
mrevellwgrant, I think that'd be throwing the baby out with the bathwater, in our case. Projects are a really strong plus point of LP but maybe, in code's case, they shouldn't be compulsory.11:51
mrevellI didn't know what "junk" meant in America when we introduced +junk11:52
wgrantmrevell: Right, but it makes LP projects seem heavier-weight.11:52
wgrantmrevell: Because they are globally namespaced.11:52
wgrantAnd indeed, they sort of are.11:53
wgrantI'm not sure how to fix that without fundamentally changing how LP works, which would imply losing the single project community stuff.11:53
nigelbI'm not sure current LP users want that changed.11:54
mrevellwgrant, Wouldn't being able to promote a branch from +junk to a project solve it? Or am I missing something?11:54
wgrantmrevell: That's still a big leap.11:54
mrevellwgrant, It is?11:54
mrevelltechnically or conceptually?11:54
nigelbI would also like to see code.lp.net telling me how to statr a project.11:54
wgrantConceptually.11:55
wgrantYou're turning something that was local to you into something that is global.11:55
wgrantAnd more permanent.11:55
wgrantAnd more imposing.11:55
jelmer... especially as we don't have a way for users to delete a project11:55
wgrantIn other sites there is no leap there, because everything is equal.11:56
wgrantjelmer: Exactly.11:56
nigelbArgh. Really?11:56
jmlalso, sharing is a big deal11:56
nigelbI've never had to do that yet.11:56
nigelbOh, I can't rename a project either, can I?11:56
jmllicence, commit privs, contributions, etc.11:56
mrevellI haven't thought about the consequences too much but what about personal branches that are associated with a project but still viewed as and controlled by the owner, just like a +junk branch that has an affiliation.11:57
bigjoolswgrant: do we ever need that trailer or is it always redundant?11:57
wgrantbigjools: For the current callsites (all one of them) it is redundant.11:57
bigjoolsparticularly on acceptance and rejectio nemails11:57
bigjoolsthere is more than one call site11:58
wgrantWell, only one conceptual callsite.11:58
wgrantNotifications.11:58
bigjoolsyes11:58
wgrantAnd they should be uniform.11:58
wgrantWhile announcements are all that are likely to be machine-parsed, we should keep it consistent, as they have been traditionally.11:58
wgrantmrevell: How is that different from what we have now?11:59
wgrantmrevell: Branches within a project are still controlled by the owner.11:59
bigjoolsok thanks11:59
wgrantmrevell: It becomes a much smaller leap if we make project registration not scary,.12:00
mrevellwgrant, Well, sure, so that's where perhaps I'm missing something what you're saying. I guess my suggestion was as a looser affiliation between branch and project.12:00
wgrantmrevell: But it is still a significant leap that the other sites don't have.12:00
mrevellwgrant, Hmm ... project registration should, perhaps, be emergent from other "stuff" that's on LP. Maybe.12:01
wgrantYou go from being a repository for code to launchpad.net/launchpad12:01
wgrantFrom relative simplicity to a bombardment of terms and clutter.12:01
wgrantMost of which cannot be disabled.12:01
wgrantThe "Configuration Progress" thing was a good idea.12:02
wgrantBut the implementation is very confusing.12:02
wgrantAnd doesn't go far enough.12:02
mrevellwgrant, We can make the project registration process, etc, much friendlier without fundamentally changing how LP handles projects.12:02
wgrantmrevell: Yes.12:02
wgrantBut it would be nice to be able to get rid of the leap.12:02
wgrantBut i don't think we can, without the fundamental change.12:02
wgrantWhich I really, really don't want.12:02
wgrantI don't think anybody does :)12:03
mrevell:)12:03
wgrantI guess the first step is to make project registration not suck. Then we can think about solutions for going further.12:03
wgrantDefaulting LP features to off, with a nice simple initial project page, which walks you through maybe turning on additional features as you need.12:04
mrevellIf we normalise the idea of personal branches ... so take away the pejorative name, make such branches more like a first-class citizen in LP, that would help.12:04
wgrantSo it doesn't seem 1000x more complex than a +junk branch.12:04
mrevellagreed wgrant12:04
Ggmb: I noticed you are the current reviewer 'on call' do you have a moment?12:04
gmbG: Sure. How can I help?12:05
Ggmb: basically I spotted an issue in LP and I want to run it by someone in the know so I do it right the first time12:05
wgrantmrevell: I think junk's a good name, and other projects have used it for a very similar purpose, but as we've seen it does not seem to be well-received by some :(12:06
Ggmb: I gave an outline an hour ago, but I'm happy to go over it again if you don't want to scroll back12:06
wgrantNot sure what to replace it with.12:06
mrevellwgrant, As an aside,  project registration sucks for a reason ... a kinda bad reason ... but to discourage mistaken or frivolous registrations.12:06
gmbG: Okay, sure. What's the deal, then?12:06
wgrantmrevell: Yeah.12:06
wgrantmrevell: Although it's better than it used to be.12:06
Ggmb: okay, bug in question is: https://bugs.launchpad.net/launchpad/+bug/83729012:06
_mup_Bug #837290: When there is no "Other bug subscribers" incorrect descriptive text is displayed <Launchpad itself:New> < https://launchpad.net/bugs/837290 >12:06
wgrantmrevell: A bit of a workflow, rather than a 5 page form.12:06
StevenKmrevell: Making it easier for registry-admins or LOSAs to delete/hide projects, then?12:07
mrevellwgrant, I'd suggest either "+personal" or we go the whole way and simple allow branches at the /~ level, without a workaround project12:07
StevenKSigh. s/Making/Make/12:07
gmbG: Okay, I'm with you.12:08
Ggmb: basically, from what I've managed to find from looking at the javascript, and a bit of fiddling, is that SubscribersLoader in lib/lp/app/javascript/subscribers isn't merging config variables passed to the function with the defaults properly12:08
mrevellStevenK, Sure. It's very easy to deactivate a project. Do deactivated projects show up in searches etc?12:09
StevenKI have no idea. But if it is easy, then excellent.12:09
Gas a result, when 'resetNoSubscribers' (approx line 596) runs it can't look up the value of subscirbers_label because it doesn't exist12:09
poolie_there's a big difference between someone choosing to call their code junk and us making it12:09
gmbG: Argh, right.12:09
mrevellI'd also like to fix whatever leads to people mistakenly creating a new project, when really they want something else.12:09
poolie_nigelb, as it happens i was just reading some of http://www.bwater.com/Uploads/FileManager/Principles/Bridgewater-Associates-Ray-Dalio-Principles.pdf today about the benefits of facing reality, _especially_ when its painful12:10
Ggmb: it's because the bugs & answers scripts, aren't setting the value in the config var12:10
wgrantmrevell: Making the UI less bad would help there.12:10
poolie_mrevell, they really want CDs :)12:10
wgrantmrevell: Because people might be able to find their way to what they want.12:10
mrevellpoolie_, Heh, yeah :)12:10
Ggmb: it got masked by a unit test, but what I'm thinking is essentially: http://pastebin.ubuntu.com/677887/12:10
nigelbpoolie_: heh :)12:10
* gmb looks12:10
wgrantI wonder if people have stopped looking for ShipIt yet.12:11
nigelbG: If you were using for full-name, we'd have good fun with tabcomplete12:11
nigelb*your12:11
Gnigelb: I have the IRC nick 'Nigel' registered ;)12:11
mrevellwgrant, huwshimi has a great deal of work when he gets back from leave :)12:11
poolie_that thing (200 page) pdf is well worth reading12:11
wgrantmrevell: Oh yes :)12:11
nigelbG: Ha! that's you12:11
nigelbpoolie_: 2 days off, I have soemthing to read :)12:11
GI don't have 'nigelj' though, can't be bothered registering it :)12:12
nigelbhehe12:12
Ggmb: because basically what is happening, it's merging everything into 'this' but SubscribersList(config) doesn't get 'this' it gets the unmerged config attrs12:12
gmbG: I understand and agree :).12:13
Ggmb: I tried SubscribersList(this) but that crashed and burnt12:13
Ggmb: so should I go w/ that and do a Merge Proposal?12:13
bigjoolswgrant: right, it's all fixed.  Would you care to check the MP...12:14
gmbG: Yes, run up an MP and ping me the link. I'll take a look and double check it this afternoon.12:14
* bigjools is now fairly sick of the sight of changelogs and unicode12:14
Ggmb: okay, thanks!12:14
gmbnp12:15
G(for what it's worth, the unit test never picked it up, because the unit test was pre-populated w/ a config that specified everything)12:15
=== henninge-lunch is now known as henninge
StevenKG: I think you should fix/write another test12:15
GStevenK: I was thinking that myself :)12:16
GStevenK: I think what I'll have to do though, is create a second setUpSubscribersList without that information in the unit test12:18
StevenKG: A second unittest without the information sounds like an excellent idea.12:21
Gyep just found how I can do it easy :)12:21
nigelbwait, you found unittest easy?12:26
StevenKnigelb is jealous.12:26
nigelbOf course.12:26
Gnigelb: I'm basically running the same tests, but with a different starting point :)12:26
nigelbI headdesk constantly.12:26
nigelbAnd break them in truckloads12:27
StevenKnigelb: Is there a marked depression in your desk?12:27
nigelbYes.12:27
nigelbdo you have a pillow for those situations?12:28
nigelbOr does joiing the LP team give you a Launchpad branded pillow.12:28
StevenKNo, I was just curious if your constant bashing your head was affecting your desk adversely.12:28
nigelbheh12:29
nigelbBUt I'm geting better.12:29
nigelbI wrote a test + fix with just little help the other day.12:29
nigelbStevenK: But is it just me or are tests challening?12:33
wgrantbigjools: Looks good.12:36
StevenKnigelb: I found tests get easier to write as you get more comfortable with the code base.12:39
StevenKnigelb: But it is still difficult if I jump into an area of the codebase that I'm not familar with.12:39
nigelbStevenK: I guess not being familiar with any bit of the code base is against me.12:40
nigelbI'm also unfamiliar with the different ways to test.12:40
nigelbWell, I am now familiar with a few, but I'm guessing there are more.12:41
jmlnigelb: have you done much TDD before?12:41
nigelbjml: LP was one of the first. Now I'm doing more with Mozilla projects.12:41
StevenKDepending on what I'm doing -- if I'm playing or trying to understand how something works, I will just change the code. If I'm removing stuff, I will tend to just wield the axe and swing. If I'm fixing a bug or something like that, I will write the test first.12:42
jmlnigelb: and I guess both are big, complex, old codebases12:42
nigelbjml: I touch the Mozilla Webdev, not firefox :)12:43
nigelbStevenK: Oh. I should try tyhat.12:43
jmlnigelb: ah ok12:43
nigelbI tend to write tests later. THat's probably wrong.12:43
StevenKnigelb: It can be.12:43
jmlnigelb: I found that getting started w/ TDD took a while, because I wasn't used to being so clear about what I was trying to do. Then, there was a bit of a watershed, and then writing tests was easier before *or* after code12:44
jmlAlthough I still find writing tests after code deadly dull12:44
nigelbSHould find another bug to work on so I can try with tests first.12:44
nigelb2 days holiday, I have 2 full days to come up with something!12:44
=== gary-lunch is now known as gary_poster
gary_posterjelmer, hi.  I have a fix for bzr 2.3 that I'd like in LP.  I know that you (?) have 2.4 coming to us Friday-ish.  John said that my fix would go into 2.4 and trunk "automatically"...do you have a recommendation on me getting my fix in?12:50
gary_posterAbout the best situation I can imagine in the situation is "my fix goes into 2.4 this week and when we switch to 2.4 we get the version with the fix".  Other options might be ppostponing getting my work in till later, but from a Lean/mgmt perspective that's not ideal12:50
gary_posterHm, my connection seems a bit odd...12:53
=== gary-lunch is now known as gary_poster
abentleygary_poster: bzr 2.4.0 went gold on August 11.13:04
gary_posterabentley, I know, but LP uses our own distros of it frequently.13:04
abentleygary_poster: It wasn't clear you were talking about using unreleased versions.  Certainly, we could roll our own.13:05
abentleygary_poster: but the one coming out this week will not have the fix.13:06
gary_posterabentley, ok.  So, do you have a suggestion on how to proceed?  Once the 2.4 line had the fix, I could roll our own and merge it to db-devel13:06
gary_posterOr just wait till Friday and update separately...13:06
gary_posterI guess it depends in part on how quickly the 2.4 line gets the fix13:07
gary_poster(merged via PQM, that is)13:07
abentleygary_poster: to me, it doesn't seem like an urgent fix.  Am I missing something?13:08
gary_posterabentley, it was causing ec2 land to fail for me.  It appears to be intermittent.13:08
Ggmb: thanks for the help, I've just submitted the merge proposal: https://code.launchpad.net/~dev-nigelj/launchpad/bug837290/+merge/7336913:08
gary_posterabentley, so it would only be urgent to LP13:08
gmbG: Okay, thanks. I'll try to get to it in the next hour or so.13:08
Ggmb: okay, no hurry13:09
gary_posterand then only to people who are hitting the intermittent problem13:09
nigelbhehe, I got pinged for the nigel there.13:09
nigelbDrat.13:09
abentleygary_poster: I've seen that behaviour for months if not years.13:09
Gnigelb: haha :)13:09
gary_posterabentley, huh.  I don't know why it was biting me13:09
gary_posterbut it was13:09
Gnigelb: you know, I recently had to write an irssi script to ignore people saying "G+" at the start of a line :)13:10
gary_posterheh13:10
deryckMorning, all.13:10
abentleygary_poster: Anyhow, if it matters to you significantly, then branch 2.4 now, apply the fix, and that'll be good until 2.4.1 comes out.13:10
nigelbG: haha! Fun!13:10
StevenKG: 'bzr pipes' is from a plugin called bzr-pipeline -- lp:bzr-pipeline13:10
nigelbTHere's a machine called babune with bzr team.13:10
nigelbI got pinged for that quite a bit13:11
nigelb(My last name is babu, and I had a hilight for that)13:11
nigelbI had change how that hilight worked13:11
deryckMorning, adeuring.  How are things with the hwdb fixes?13:11
adeuringderyck: mixing results. shall we mumble about it?13:11
deryckthat's not what I wanted to hear. ;)13:12
deryckadeuring, yes. let's mumble.  firing it up now.13:12
GStevenK: looks like rocketfuel-setup didn't know about it13:12
StevenKG: It's optional, but *awesome*13:13
nigelbG: It doesn't, I had to set it up manually as well.13:13
nigelbYou should also probably install python-lint something13:13
gary_posterabentley, ok...I understood the fix would be automatically applied to 2.4 (though I don't think it will apply cleanly because pertinent code has moved around between 2.3 and 2.4), and it is not yet there...so I'll wait to see if it is applied and go from there.  Thanks.13:14
gary_poster(since 2.4 is not in tree yet)13:14
wgrant2.4 is in db-devel now.13:14
wgrantAnd since staging is back after a two-week absence, we might be able to QA it.13:15
wgrantAnd get it into devel.13:15
abentleygary_poster: Not automatically.  bzr devs periodically merge one series into the next.13:15
wgrantjelmer: Any progress?13:15
gary_posterwgrant, ah great news about staging!13:15
gary_posterabentley, ok.  Can I do anything to help or encourage the merge--I'd be happy to prepare my own merge and make an MP if it helped13:16
gary_posterBut don't want to be a bother if it won't help13:16
stubwgrant: Did you happen to rebuild the EC2 image?13:17
jelmerwgrant: on bzr 2.4 QA? Apart from loggerhead I managed to do the QA I wanted to13:17
abentleygary_poster: I think it would be best to wait until bzr 2.4 is actually released.13:18
gary_posterabentley, ok that's fine.13:18
gary_posterthanks13:18
abentleygary_poster: So if it really matters to you, you should cut your own release.13:19
stubgary_poster: If I update launchpad-dependencies, does a losa need to update the buildbot hosts too?13:19
gary_posteroh13:19
abentleygary_poster: i.e. if you want to have it this week or next week, make your own tarball.13:20
gary_posterstub, that's the deb?  If so, yes, I think so.13:20
stubTa. I'll open an RT.13:20
StevenKBah, I can't re-produce that missing pipes thing with lint13:21
gary_posterabentley, ok cool thanks.  I did not see "make a release" instructions; is it just "update bzrlib.version_info to increment the last number, and run ./setup.py build"?13:22
stubAnyone want to volunteer to update the ec2 test image with new launchpad-developer-dependencies so I don't have to experience the process myself via by Internet connection in a rain storm?13:22
abentleygary_poster: First manually override the version number in setup.py, then run "make dist".13:23
gary_posterstub, I or someone on yellow can do it.13:23
gary_posterstub, it's ready to go now?13:24
gary_posterabentley, got it, thank you very much.13:24
stubgary_poster: That would be lovely. Its all ready to go in the PPA. Need anything from me?13:24
gary_posterstub, not that I can think of.13:24
abentleygary_poster: np13:25
flacosteabentley, gary_poster, jelmer, adeuring: i'd like to release 13822 today, please QA your revisions13:26
abentleyflacoste: roger.13:26
flacostethanks!13:26
gary_posterabentley, ack, on it13:27
gary_postersorry abentley, I meant flacoste13:27
nigelbflacoste says that quite differently from wgrant.13:28
nigelb;)13:28
abentleygary_poster: also, sudo make me a sandwich :-)13:28
StevenKnigelb: QA!13:28
nigelbStevenK: Yeah, you too :P13:28
gary_posterabentley :-)13:28
jelmeraye aye!13:29
mrevellflacoste, Skype?13:30
wgrantnigelb: (for the record, I've only said 'QA!' twice, both times to StevenK after he started doing it, despite him doing it to supposedly emulate me!)13:30
flacostemrevell: yes, please13:30
nigelbwgrant: hehe13:31
deryckflacoste, I need to chat with you about the state of that hwdb change.  but am on stand up now.13:31
deryckflacoste, I assume the qa pressure is for that.13:31
flacostederyck: i'm getting on call with mrevell now13:31
flacostederyck: will ping when i'm free13:32
deryckflacoste, ok13:32
rvbahenninge: Hi13:40
henningervba: Hi! ;)13:41
henningervba: just reading your reply.13:41
henningenow13:41
abentleyflacoste: I am having difficulty QAing because https://qastaging.launchpad.net/ is timing out.13:41
rvbahenninge: Okay, I'm available if you need any clarification.13:41
henningervba: cool, thanks13:41
rvbahenninge: BTW thanks for the very nice and instructive review ;)13:42
flacosteabentley: is your change the source of the timeout? or it's something else causing timeout?13:42
abentleyflacoste: it must be something else.13:42
abentleyflacoste: Now qastaging is giving "Please try again/Sorry, there was a problem connecting to the Launchpad server. ", so maybe it was due to a deployment?13:43
wgrantqastaging is not updating, so something is broken.13:44
wgrantIt successfully updated a few hours ago, but the update log file is being truncated frequently when it never has been before, so something may be up.13:45
abentleywgrant: how can you tell it's not updating?13:46
wgrantwgrant@carob:~$ rsync -a asuka::qastaging-logs/qastaging-update.log .13:46
wgrantwgrant@carob:~$ tail qastaging-update.log13:46
wgrantTue Aug 30 13:18:03 UTC 2011 Current Revno: 13822, New Revno: 13822 - nothing to update13:46
wgrantwgrant@carob:~$13:46
wgrantThe next update will not start for almost another minute.13:47
wgrantAnd the last one found nothing to do.13:47
gmbG: Branch approved. I'll land it for you now.14:05
Ggmb: just saw the e-mail, thanks14:06
henningervba: before I try to find out your asset problem, let me find something out.14:29
henningederyck: Hi!14:30
deryckhenninge, hello :)14:30
henningederyck: When you merged lazr-js into lp in Dublin, you kept the directory structure.14:30
henningederyck: There is a seperate directory for each lazrjs class.14:30
henningee.g. overlay, formoverlay, etc.14:31
henningederyck: Do you think that structure should be kept when adding more widgets?14:31
henningederyck: Or wouldn't it be enough to have a file per widget?14:31
deryckhenninge, hmmmm14:32
henningederyck: I think a directory that holds just one file is a bit of a waste.14:32
henningederyck: but then there are assets and tests but they can go into central directories, too.14:32
deryckhenninge, I prefer keeping the directory structure so we know where tests live.....14:33
rvbahenninge: ;)14:33
deryckhenninge, if we do change to individual files and central tests, I don't mind that.  but I'd prefer a conscious change and move everything....14:33
derycknot have done one way, and new stuff done another.14:33
henningederyck: well, the lp stuff does not use directories.14:34
henningeso there is lib/lp/app/javascript/client.js14:34
henningeand not client/client.js14:34
henningeso we already have a mixture.14:34
deryckhmmm, good pont.14:34
deryckpoint14:34
deryckhenninge, I don't really care :)  You and rvba decide. :)14:35
jcsacketthenninge, deryck: there are some cases where multiple files comprise the components. e.g. in the picker directory we have several files. it's probably worth maintaining folders only if we need to break up the files. :-)14:35
deryckyeah, I think do what makes sense for the widget.  I'm just not that passionate about this issue. ;)14:35
henningederyck, jcsackett: although I'd prefer a unified approach.14:36
henningeok, we decide ;-)14:36
henningervba: how do want to do it? ;-)14:36
flacostederyck: i'm free now14:36
deryckflacoste, awesome.  let's mumble.14:36
rvbahenninge: my really first idea was to put my new widget inside formoverlay.14:36
henningervba: no, that was not one of the choices ... ;-P14:37
rvbahenninge: ideally I think we should have a directory called 'overlay' with all the 3 overlays.14:37
flacostederyck: i'm in Orange 1-114:38
deryckcoming, sorry....14:38
rvbahenninge: so, what do you reckon, back to the individual confirmationoverlay directory?14:39
henningervba: I like the "overlay" idea, too, but not for this branch.14:44
rvbahenninge: That's right, not for this branch!14:45
henningervba: I think going back to the individual directory is fine.14:45
rvbahenninge: So, let's go back to the confirmationoverlay directory, and I shall file a bug.14:45
henningervba: cool14:45
rvba\o/14:45
henningervba: your other changes look very good, too. I won't force you to remove all usages of join('')  (though I'd like to ;)14:47
henningervba: push your changes once you are done and 'll have a last look.14:48
rvbahenninge: Thanks ;). You have to admit I followed the vast majority of your advices.14:48
henningervba: yes, thanks14:48
henningervba: but you also wrote some nice code yourself, where I let you ;-)14:49
henningeI am impressed at how nicely it came out.14:49
rvbaThanks!14:49
=== salgado is now known as salgado-lunch
jelmergmb: G'day!15:01
jelmergmb: Can I add another small branch to your queue?15:01
bigjoolsgmb: yo, me too! :)15:03
* nigelb waves15:04
nigelbNeed to find another bug to work on.15:04
abentleyjml: Congratulations!  And, I have a Twisted style question.15:08
Ggmb: oh hey, I just realised, I need to do that Contributor Agreement thing right?15:10
nigelbG: Yeah, you do. Send an email with that stuff to francis15:10
Gsuddenly struck me that the code of conduct thing != contributor agreement15:11
nigelbhehe15:11
GI'll have to do it in the morning when I have access to a scanner15:11
nigelbwait, what?15:12
nigelbHas it changed?15:12
GI'm looking at: http://www.canonical.com/contributors15:13
nigelbI didn't scan for sure.15:13
nigelbBut there's a new agreement.15:13
rvbahenninge: Done!15:15
Gnigelb: it's got the fill & in the blank bits in the PDF, but it says it needs to be printed, signed , scanned and sent15:16
nigelbNeed to check wwhat I did back then15:16
nigelbAh, i just had to send an email with that as an attachment.15:17
nigelbWith Harmony, the rules have changed.15:17
Ggmb: looks like the change needs to hold off for a day so I can send in the form15:17
henningervba: cool. Looking.15:17
gmbG: Ah, blast. I'd forgotten about that.15:33
gmbOkay, I'll stop the EC2 run.15:34
jcsackettgmb: can i throw https://code.launchpad.net/~jcsackett/launchpad/target-adapters-aplenty/+merge/73248 on to your queue?15:35
gmbjcsackett: Sure15:35
jcsackettthanks, gmb!15:35
henningervba: I did not know about ObjectAssert. I did not notice you were using it before.15:39
henningervba: or did you just add that?15:39
henningervba: Also, areEqual seems to be undocumented ... ;-)15:39
rvbahenninge: No I did not.15:39
henningeok, I missed that, then.15:40
henningenp15:40
henningervba: but the test is still failing for me15:40
henningenot on the ObjectAssert, though15:40
rvbahenninge: strange, which test?15:40
henningetest_hidden_field_added_on_ok: failed.15:40
henningeUnexpected error: Cannot call method 'simulate' of null15:40
henningeand this:15:41
henningetest_call_submit_on_ok: failed.15:41
henningeUnexpected error: Cannot call method 'simulate' of null15:41
rvbahenninge: They all pass here ...15:42
henningehmmm15:42
rvbahenninge: last revision is 1378415:43
henningeI will have to get a new branch. I had merged to get make lint working.15:43
henningervba: meanwhile: I *do* think it is important to satisfy the linter otherwise we might miss notice real issues.15:44
henningervba: so thanks for fixing that15:44
henninges/notice//15:44
rvbahenninge: Welcome :)15:45
rvbaBTW I only had lint errors for the css file which was mostly copied from existing code. Hence my remark ;)15:47
jelmergmb: Can I add another small branch to your queue?15:49
gmbjelmer: SUre15:49
gmbjcsackett: Your branch is approved.15:49
henningervba: even with a new checkout the test is still failing.15:49
jelmergmb: Thanks! It's at https://code.launchpad.net/~jelmer/launchpad/no-code-import-approval-2/+merge/7338815:50
jcsackettgmb: thanks. :-)15:50
gmballenap: What's the story with https://code.launchpad.net/~allenap/launchpad/dd-beta-icon-bug-827508/+merge/72492?15:50
rvbahenninge: Ok ... let me try with a new checkout...15:51
rvbagmb: allenap is off today.15:51
gmbrvba: What a slacker. Thanks :)15:51
matsubaragmb, hi there, can I add this one https://code.launchpad.net/~matsubara/oops-tools/837468-missing-req-vars/+merge/73399 to your queue?15:52
rvbagmb: Back on Thursday. ;)15:52
gmbjelmer: I love it when a diff confuses the hell out of me. Approved.15:52
gmbrvba: I only care about other people's branches on Tuesdays. Says so on my calendar ;)15:52
rvbagmb: I see ;)15:52
gmbmatsubara: Sure, looking now.15:53
bigjoolsgmb: hello, did you see my request from 16:03?  Looks like you're busy though ...15:53
gmbbigjools: I missed it, sorry, was picking up my car  from its service/MOT/owner-gouging. I'll take a look after I've looked at matsubara's. Please send me the link again.15:54
gmbmatsubara: Approved.15:54
matsubaragmb, thanks!15:55
bigjoolsgmb: https://code.launchpad.net/~julian-edwards/launchpad/sync-close-bugs-bug-833736/+merge/73401  thank you sir15:55
bigjoolsgmb: and I hear you about the car....15:55
flacostematsubara: you saw jane approved the examples script open-sourcing? can you make the necessary updates to the TestApiApplications page?15:55
flacostematsubara: we'll revisit the whole SLA wording when lifeless once lifeless comes back, but i think the TestingApiApplications documentation is good enough in its current form15:56
jelmergmb: :) thanks15:56
matsubaraflacoste, yep, I saw Jane's email. I'll add to my todo list and try to get to it this week. when do you need this done? Are the scripts ready for release or OEM's going to release them?15:57
henningervba: so, it is failing on the second "simulate" in  test_hidden_field_added_on_ok15:57
rvbahenninge: It looks like the button on the overlay is not found somehow.15:58
bigjoolsgmb: before you start one mine, the current diff is bong, it's not picked up the pre-req branch15:59
bigjoolson*15:59
flacostematsubara: i think we should take the responsibility of releasing them15:59
gmbbigjools: Oh, joy.15:59
gmbHadn't started yet though.15:59
bigjoolsgmb: ok it has now15:59
gmbHurrah.15:59
flacostematsubara: since it's useful to us as examples more than anything else15:59
gmbWill look shortly.15:59
flacostematsubara: and there is no urgency to this, do it as time permit15:59
bigjoolsgmb: yes.  Turns out you need to merge and push more than you think :)15:59
gmb:)15:59
flacostematsubara: might be good to blog about testing API applications once it's complete16:00
matsubaraflacoste, ok.16:00
flacostethanks matsubara16:00
matsubaranp16:00
=== deryck is now known as deryck[lunch]
rvbahenninge: all good on a fresh checkout.16:01
henninge*#@$%& ???16:02
nigelbheh16:02
* rvba *#@$%& too16:02
james_wflacoste, matsubara: http://bazaar.launchpad.net/~work-items-tracker-hackers/launchpad-work-items-tracker/trunk/view/head:/lpworkitems/fake_launchpad.py might pique your interest as an approach with pretty much the opposite set of pros and cons :-)16:02
rvbahenninge: oh oh ... I bet you're using chrome ..?16:05
* henninge was just starting FF16:05
henningervba: yes16:05
henningepasses in FF16:05
rvbaYep :(16:06
henningervba: what is the difference?16:06
rvbaI really don't know.16:06
rvbaLet's see if it's just the tests.16:06
rvbahenninge: Gosh, something is really wrong with Chrome ... I guess I'm back to the drawing board.16:08
matsubarajames_w, thanks for the link. I'll take a look when I get to update the wiki page.16:08
LPCIBotProject devel build #1,012: STILL FAILING in 4 hr 32 min: https://lpci.wedontsleep.org/job/devel/1012/16:08
=== matsubara is now known as matsubara-lunch
henningervba: that is strange, though.16:13
henningemaybe it is just the selector in the test?16:13
* henninge tries16:13
rvbahenninge: "<button class="lazr-neg lazr-btn">Cancel</button></div>"16:13
rvbaThat's what chrome sees.16:13
rvbaNo "type=submit"16:13
rvbaI mean no type=button16:14
gmbbigjools: Approved16:15
bigjoolsgmb: thanks.  I am surprised you don't have questions!16:15
gmbbigjools: Usually when someone says that it means I might have missed something. What kind of questions did you expect?16:16
bigjoolsgmb: well, it's soyuz ....16:16
bigjoolsterminology mainly16:16
bigjoolsmaybe you guys are starting to understand it!16:16
* bigjools lives in hope16:17
gmbbigjools: Yeah, but for Soyuz this is pretty obvious. I don't think I got stuck on any terminology beyond a couple of "what-does-that-tla-mean-again" moments.16:17
henningervba: Not sure where you see that.16:17
rvbahenninge: In Chrome's dom inspector.16:17
gmbbigjools: I shan't profess to understanding *just* yet, thanks. I'm not that crazy ;)16:17
bigjoolsgmb: tell you what though, I am glad I didn't have to write those regexes ...16:18
henningervba: I see. I was looking at the dom node in the javascript debugger.16:19
henningervba: that shows me that both buttons are type=submit.16:19
henningervba: I think that is the problem.16:19
henningeor rather, *may* be the problem16:20
rvba"""var cancel_button = Y.Node.create('<button>').set('type', 'button')"""16:20
gmbbigjools: I can imagine :)16:20
henningeha!16:20
bigjoolsgmb: right, ta16:20
henningeno16:24
rvbahenninge: it works if I set a class on the button and use it to grab the button.16:25
henningeyes, I expect so.16:25
henningeI still wonder about the type thing16:25
henningervba: but does the form work in chrome?16:27
rvbaTesting that right now.16:27
rvbaIt does.16:28
=== salgado-lunch is now known as salgado
henningervba: This works, too, strangely enough:16:30
henningeY.Node.create('<button type="submit"></button>')16:30
henningervba: I gotta run. r=me with some comments. Please have a look. ;-)16:35
rvbahenninge: ok, I will ... I'm still trying to figure out what's going on.16:36
henningervba: may be a YUI bug.16:36
rvbahenninge: Looks like allenap had a reason to do it this way:16:36
henningervba: but of course the test has to pass in both FF and chrome before you land this ...16:37
rvbaY.Node.create( '<button type="button" class="lazr-neg lazr-btn" />').set("text", "Cancel");16:37
rvbahenninge: Sure.16:37
henningeYes, I guess so.16:37
henningeSee you tomorrow! ;-)16:37
=== matsubara-lunch is now known as matsubara
jmlabentley: hi16:48
jmlabentley: sorry, was offline processing email.16:48
jmlabentley: also, thanks :D16:48
jmlabentley: how can I help?16:48
abentleyjml: Currently, I have a method that either returns a Deferred or None, and calling code that assumes it always returns a Deferred.16:51
=== gmb changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 244 - 0:[#######=]:256
abentleyjml: is it more tasteful to call maybeDeferred or to update the method to return twisted.internet.defer.success(None)16:52
=== deryck[lunch] is now known as deryck
jmlabentley: my taste leans to the latter, but either can be alright. Generally maybeDeferred is best when calling arbitrary, "untrusted" code.16:53
jmlabentley: or if you want to make things easy for function/method writers16:53
abentleyjml: okay, cool.16:54
jmle.g. twisted.cred allows authentication methods to return a non-Deferred thing synchronously, because that's actually quite nice to do a lot of the time.16:55
=== beuno is now known as beuno-lunch
nigelbWho's a good person to talk to about registry UI?17:49
nigelbI'm just wondering why we don't do mailto: for email ID's on the person page17:49
abentleynigelb: sinzui is the usual guy, but he's not here at the moment.17:51
nigelbabentley: Ah, ok :)17:51
nigelbI was looking at bug 82002 and wondering if I could link the jabber ones at least.17:51
_mup_Bug #82002: Jabber ids look like email addresses, causing confusion <jabber> <lp-registry> <Launchpad itself:Triaged> < https://launchpad.net/bugs/82002 >17:51
nigelbabentley: Is he off today/this week?17:51
abentleynigelb: I don't know.17:52
nigelbOr am I asking at the wrong time17:52
abentleynigelb: he is usually around at this time.17:52
nigelbcool, so I can try another day :)17:52
nigelbabentley: Thanks!17:52
abentleynigelb: np17:52
abentleyderyck: as we have no OCR, could you please review https://code.launchpad.net/~abentley/launchpad/simplify-twisted-runner-2/+merge/73402 ?17:54
deryckabentley, sure.17:54
deryckabentley, r=me.18:09
abentleyderyck: ta18:10
derycknp!18:11
nigelbI have a conflict on utilities/sourcedeps.cache18:11
nigelbhow do I fix that?18:11
nigelb(this is in devel)18:11
nigelbi.e., which is preferred? lpreview vs loggerhead apparently.18:11
abentleynigelb: use the version you merged, then run update-sourcecode.18:12
nigelbso, whatever is in  MERGE-SOURCE is what I want?18:13
abentleynigelb: there should be a complete copy called utilities/sourcedeps.cache.OTHER which what you want.18:14
nigelbah, bzr resolve --take-other sourcedeps.cache did the trick!18:15
=== beuno-lunch is now known as beuno
abentleynigelb: not sure if that does the same thing, but it's probably okay.18:16
nigelb:)18:16
lifelessflacoste: hi; waving at you via the hwdb bug; bye;)19:07
flacostelifeless: hi! don't you have more important things to do than commenting on LP bugs? ;-)19:09
lifelessyes; am on the way to the hospital now. its slow going :19:09
* lifeless goes19:10
LPCIBotProject devel build #1,013: STILL FAILING in 3 hr 56 min: https://lpci.wedontsleep.org/job/devel/1013/20:05
=== matsubara is now known as matsubara-afk
thumperimapfilter hates bug mail21:42
thumperx-launchpad-bug appears once per task21:42
thumperhowever imapfilter uses server side filtering using the IMAP RFC21:42
thumperwhich only checks the first header21:43
thumperso trying to match bugmail for bugs with multiple tasks is full of fail21:43
thumperI'd love a header like: x-launchpad-project that lists all effected projects21:43
thumperx-launchpad-sourcepackage for the packages ones21:44
thumperthen the mail filtering would at least work21:44
thumperalso21:44
thumperblueprint email has no x-launchpad-message-rational nor x-launchpad-project ...21:44
thumperif y'all can get LP working on oneiric I may provide patches21:44
jelmerthumper: it works (as far as I can tell) on oneiric here21:57
Ggmb: btw, I fired off the CLA document, so I don't know what the process is now.  Sorry I didn't realise I hadn't done it before.23:35

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