/srv/irclogs.ubuntu.com/2007/06/12/#ubuntu-meeting.txt

=== DBO [n=DBO@unaffiliated/dbo] has joined #ubuntu-meeting
=== Czessi [n=Czessi@dslb-088-073-061-082.pools.arcor-ip.net] has joined #ubuntu-meeting
=== merriam [n=merriam@85-211-184-56.dyn.gotadsl.co.uk] has joined #ubuntu-meeting
=== cjwatson [n=cjwatson@82-69-40-219.dsl.in-addr.zen.co.uk] has joined #ubuntu-meeting
=== j_ack [n=jack@p508D8C44.dip0.t-ipconnect.de] has joined #ubuntu-meeting
=== jsgotangco [n=jsg123@ubuntu/member/jsgotangco] has joined #ubuntu-meeting
=== licio [n=licio@ubuntu/member/licio] has joined #ubuntu-meeting
=== jsgotangco_ [n=jsg123@121.97.243.223] has joined #ubuntu-meeting
=== jsgotangco_ [n=jsg123@121.97.243.223] has joined #ubuntu-meeting
=== jsgotangco [n=jsg123@ubuntu/member/jsgotangco] has joined #ubuntu-meeting
=== fernando_ [n=fernando@189.0.206.32] has joined #ubuntu-meeting
=== gouki_ [n=gouki@ubuntu/member/gouki] has joined #ubuntu-meeting
=== Hobbsee [n=Hobbsee@ubuntu/member/hobbsee] has joined #ubuntu-meeting
=== freeflying [n=freeflyi@123.116.102.227] has joined #ubuntu-meeting
=== neversfelde [n=neversfe@nrbg-4db445a8.pool.einsundeins.de] has joined #ubuntu-meeting
=== huahua [n=huahua@60.20.49.90] has joined #ubuntu-meeting
=== Burgundavia [n=corey@ubuntu/member/burgundavia] has joined #ubuntu-meeting
=== Lure [n=lure@external-1.hermes.si] has joined #ubuntu-meeting
=== anibal [n=anibal@debian/developer/anibal] has joined #ubuntu-meeting
=== Fujitsu [n=william@c58-107-52-79.eburwd7.vic.optusnet.com.au] has joined #ubuntu-meeting
=== dholbach [n=daniel@i59F718A8.versanet.de] has joined #ubuntu-meeting
=== dholbach_ [n=daniel@i59F706F1.versanet.de] has joined #ubuntu-meeting
=== mvo [n=egon@p54A67D50.dip.t-dialin.net] has joined #ubuntu-meeting
=== gnomefreak [n=gnomefre@ubuntu/member/gnomefreak] has joined #ubuntu-meeting
=== asac_ [n=asac@debian/developer/asac] has joined #ubuntu-meeting
=== huahua_ [n=huahua@60.20.48.147] has joined #ubuntu-meeting
=== huahua [n=huahua@60.20.58.41] has joined #ubuntu-meeting
=== juliux [n=juliux@ubuntu/member/juliux] has joined #ubuntu-meeting
=== ogra [n=ogra@ubuntu/member/ogra] has joined #ubuntu-meeting
=== mc44 [n=mc44@unaffiliated/mc44] has joined #ubuntu-meeting
=== mvo_ [n=egon@p54A64893.dip.t-dialin.net] has joined #ubuntu-meeting
=== mc44 [n=mc44@unaffiliated/mc44] has joined #ubuntu-meeting
=== mvo__ [n=egon@p54A659F4.dip.t-dialin.net] has joined #ubuntu-meeting
=== DarkSun88 [n=Ma@ubuntu/member/darksun88] has joined #ubuntu-meeting
DarkSun88Hi all11:03
=== cjwatson [n=cjwatson@82-69-40-219.dsl.in-addr.zen.co.uk] has joined #ubuntu-meeting
=== mc44 [n=mc44@unaffiliated/mc44] has joined #ubuntu-meeting
=== blenderhead001 [n=blenderh@adsl-157-232-187.jax.bellsouth.net] has joined #ubuntu-meeting
=== juliux [n=juliux@ubuntu/member/juliux] has joined #ubuntu-meeting
=== raphink [i=raphink@nat/wormhole.x-echo.com/x-6cc591a9e805a144] has joined #ubuntu-meeting
=== beuno [i=martin@ubuntu/member/beuno] has joined #ubuntu-meeting
=== mvo_ [n=egon@p54A675E7.dip.t-dialin.net] has joined #ubuntu-meeting
=== mvo__ [n=egon@p54A65221.dip.t-dialin.net] has joined #ubuntu-meeting
=== profoX` [n=wesley@d54C0E764.access.telenet.be] has joined #ubuntu-meeting
=== cjwatson_ [n=cjwatson@82-69-40-219.dsl.in-addr.zen.co.uk] has joined #ubuntu-meeting
=== rpereira [n=rpereira@ubuntu/member/rpereira] has joined #ubuntu-meeting
=== PriceChild [n=pricechi@ubuntu/member/pricechild] has joined #ubuntu-meeting
=== n3t0 [n=n3t0@201-26-6-31.dsl.telesp.net.br] has joined #ubuntu-meeting
=== zul [n=chuck@ubuntu/member/zul] has joined #ubuntu-meeting
=== ogra [n=ogra@ubuntu/member/ogra] has joined #ubuntu-meeting
=== philth [n=philth@U193.LoyalistC.ON.CA] has joined #ubuntu-meeting
=== evand [n=evand@ubuntu/member/evand] has joined #ubuntu-meeting
=== evand [n=evand@ubuntu/member/evand] has left #ubuntu-meeting []
=== Fujitsu [n=william@ubuntu/member/fujitsu] has joined #ubuntu-meeting
=== fernando [n=fernando@unaffiliated/musb] has joined #ubuntu-meeting
=== licio [n=licio@ubuntu/member/licio] has joined #ubuntu-meeting
=== nixternal [n=nixterna@ubuntu/member/pdpc.active.nixternal] has joined #ubuntu-meeting
=== beuno [i=martin@ubuntu/member/beuno] has joined #ubuntu-meeting
=== j_ack [n=jack@p508D8080.dip0.t-ipconnect.de] has joined #ubuntu-meeting
zul@schedule montreal03:58
ubotuSchedule for America/Montreal: 12 Jun 11:00: Kernel Team | 13 Jun 08:00: Edubuntu | 14 Jun 12:00: Ubuntu Development Team | 16 Jun 13:00: Xubuntu Developers | 19 Jun 15:00: Technical Board | 20 Jun 16:00: Edubuntu03:58
=== j_ack [n=jack@p508D8080.dip0.t-ipconnect.de] has joined #ubuntu-meeting
=== vuntz is now known as vuntz|away
=== ..[topic/#ubuntu-meeting:ubotu] : Current meeting: Kernel Team | Calendar: http://fridge.ubuntu.com/event | Logs: https://wiki.ubuntu.com/MeetingLogs/ | 13 Jun 12:00 UTC: Edubuntu | 14 Jun 16:00 UTC: Ubuntu Development Team | 16 Jun 17:00 UTC: Xubuntu Developers | 19 Jun 19:00 UTC: Technical Board | 20 Jun 20:00 UTC: Edubuntu
=== neversfelde [n=neversfe@nrbg-4db44711.pool.einsundeins.de] has joined #ubuntu-meeting
zuldo do do04:51
philthdo do do doooo04:55
philthSmoooooke on the water..04:55
=== heno [n=henrik@ubuntu/member/heno] has joined #ubuntu-meeting
=== BenC [n=bcollins@debian/developer/bcollins] has joined #ubuntu-meeting
=== mbt [n=mbt@c-24-98-32-225.hsd1.ga.comcast.net] has joined #ubuntu-meeting
zulhey05:01
BenChello05:01
philthhi05:01
BenCwaiting for someone05:01
=== amitk [n=amit@a81-197-135-210.elisa-laajakaista.fi] has joined #ubuntu-meeting
BenCthere he is :)05:02
BenCOk, agenda is at https://wiki.ubuntu.com/KernelTeam/Meeting05:02
BenCTeam status will be short05:02
=== cr3 [n=marc@pdpc/supporter/bronze/cr3] has joined #ubuntu-meeting
BenCfirst I'd like to welcome amitk, just starting with us today05:02
BenCamitk has a strong background in linux power savings and similar areas05:03
=== amitk waves
BenCkyle is currently at UME sprint, and rtg is away this week05:04
BenCgoing to skip around in the agenda. I don't want cr3 to sit idle watching our discussions, so lets get the KVM stuff out of the way first05:05
BenCI did a test logon to the KVM this morning with cr3, and it went pretty well05:05
BenCso this should give us some excellent access to machines in their centre05:06
BenCcr3: did you have any comments on the kvm at this point?05:06
dholbachRock On, amitk!05:06
BenCGuess not, let's move on :)05:07
BenCheno: I assume you are representing the debian-qa team for that agenda item?05:08
BenCerr, distro-qa05:08
henoBenC: indeed05:08
zuldebian-qa?05:08
=== BenC smacks head
henoyes, I'm a DD now ;)05:08
cr3BenC: should I mention the 3 annoyance points discussed together?05:09
BenCcr3: I think they are worth mentioning, yes05:09
cr3so, after testing the KVM setup with BenC this morning, these are three annoyance points which I would like to address before the next meeting:05:10
cr31. requiring a VPN to the certification network might conflict with local addresses05:10
cr32. list of machines in machines.txt is a pain, I really hate how machines are scattered all over the place: text file, salesforce and wiki. I really want this to all appear in the hardware certification website, if that makes sense to everyone too.05:10
cr33. having to refer to machines by the kvm id is also a pain, might as well have a canonical id which can be used as a reference everywhere05:10
cr3If there are point that should be given higher precedence, please let me know.05:10
BenCthe vpn is the ugliest...would be nice to have an ssh tunnel instead05:11
BenCor even an stunnel with client side certs05:12
cr3BenC: I had originally tried with an ssh tunnel but had problems, so vpn was the quick and dirty solution. I'll try again, I'm sure there's a way to get it working somehow05:12
BenCcr3: if you need more testing, let us know05:12
cr3BenC: thanks for the offer :)05:13
BenCcr3: ok, thanks for dropping in and getting this setup done05:13
BenCI've noted the items and the action item for working on killing vpn05:13
=== freeflying [n=freeflyi@123.116.100.249] has joined #ubuntu-meeting
BenCheno: so, what does distro-qa have in store? :)05:15
henoJust wanted to introduce the distro-qa team. We will keep track of certain high impact bugs that originate from our HW testing, our partners of from support. My thinking is to assign hese to the kernel-team and give them a non-zero priority so they show up on everyone's radar. It's of course up to you how you divide that up within the team.05:15
heno(just the kernel bugs, obviously)05:19
=== camrdale [n=camrdale@d64-180-228-60.bchsia.telus.net] has joined #ubuntu-meeting
BenCthank goodness :)05:19
BenCassigning to kernel-team and giving priority is exactly how we handle bugs now...is there some way to flag the bugs that need more immediate attention?05:19
henoThey'll be subscribed to distro-qa and I can also tag them05:19
henoI'll also feature certain bugs at the weekly distro meetings05:19
BenCarbitrary tags are a complete mess we can't manage (or enforce)...so distro-qa subscribe sounds like a good filter05:19
henook, cool. that's already in place05:19
BenCah, excellent05:19
henohttps://bugs.launchpad.net/~distro-qa/05:19
BenCheno: would it make more sense to pull kernel related bugs into the kernel team meeting instead of distro? Only downside is we are bi-weekly05:19
henoare the ones we are following so far05:19
cr3heno: could HW testing or support tag the bugs for you?05:19
=== camrdale [n=camrdale@d64-180-228-60.bchsia.telus.net] has left #ubuntu-meeting []
cr3heno: reason I offer is that we already have to set milestone and perhaps priority, so setting a tag wouldn't be any more work05:19
henoBenC: if I could email a list to someone to present here that might work well05:20
henocr3: right, I still have to think a bit about how best to group these05:20
henopeople have mixed luck with tags, as Ben says05:20
BenCheno: sure, email me lists as you feel appropriate and I'll add it to the agenda for our meetings05:21
BenCmight be more focused than the distro meetings05:21
henoso, just a heads up for now. I'll work more on this process and we'll speak in London05:21
BenCsounds like a plan05:21
henoright, that's true05:21
henothanks, that's it from me05:23
BenCheno: I might just make it a rolling agenda item to discuss high prio distro-qa kernel bugs05:23
BenCwe can update the bug status based on the discussion05:23
BenCadd comments and such05:23
henogood idea05:24
BenCheno: ok, thanks for your time. In London, the kernel team will be having frequent break out sessions to handle some coordination, so we can do something with you as well05:24
henogreat, let's schedule a session05:24
henoon this and bug workflow in general05:25
henopop quiz: how many open bugs against the kernel today? :)05:25
BenCgutsy, about 25 :)05:25
zulalot05:26
BenCfeisty is like 700-80005:26
henoBenC: which is great, because that's the important number05:26
henoabout 3000 total05:26
henobut much of that is just noise at this point05:26
heno(which is an issues in itself)05:27
henowe should consider some mass closings at some point, at least at EOL05:27
BenCI did that for 2.6.12, IIRC05:27
henoah, right, yeah the old ones are nearly empty05:28
BenCSo let's move on to gutsy kernel hand-off05:28
zulgoodie05:29
BenCamitk, pkl_: Unfortunately, it's just us 3 here. I would rather do this with all 5 of us, but I can't hold off on it, so we'll start here, and I'll bring kyle and rtg up to speed later05:29
BenCThe basic idea here is that gutsy kernel is where all the action should be at, but because of my initial process for "each team member is responsible for a kernel", it's become quite isolated05:31
BenCI want to totally, over a period of time of course, get my hands off it, and get the rest of the team working on it05:31
BenCas a group05:31
BenCthe only twitch to this process is git is funky when we're working with w rebased tree and > 1 developer accessing it with the intention of writing to it05:32
=== Hobbsee_ [n=Hobbsee@ubuntu/member/hobbsee] has joined #ubuntu-meeting
BenConce 2.6.22 is released, this wont be much of an issue anymore, since the rebase will stop05:33
BenCso we need a good process for you guys to not step on each others changes05:33
BenCor at least, good communication about who is doing what, and when someone plans a rebase to linux-2.6.git05:33
BenCbut aside from the technical issue, the process should just be a free-for-all of everyone doing whatever needs to be done05:34
BenCwith normal discussion on kernel-team@ for anything that would be considered questionable05:35
amitkwhy can't we all have our own trees, and we (individually) are responsible for rebasing to the gutsy tree?05:35
=== mvo_ [n=egon@p54A6685D.dip.t-dialin.net] has joined #ubuntu-meeting
zulthats what kind of happens now doesnt it?05:35
BenCamitk: you can have your own tree, and you can keep it on kernel.ubuntu.com if you want05:36
BenCbut the lifetime of changes in that tree are going to be very very short05:36
zulwhat I would do is send an email to kernel-team@ with a diffstat asking for a merge *shrug*05:36
zuldoh..05:36
zulls05:36
=== mvo__ [n=egon@p54A65FD2.dip.t-dialin.net] has joined #ubuntu-meeting
BenChow this is all going to work will be a work in progress...there are three goals to this: 1) Get the team working on stuff, and 2) Get the team working together more closely, and 3) Give me more time to step back from day-to-day dev stuff so I can make sure the rest of the team has what it needs to get things done05:40
BenCSo this is a heads up of some upcoming process changes in our devel cycle, and some expectations of what you guys will need to do05:42
BenCany questions? :)05:43
=== fernando_ [n=fernando@189.0.207.39] has joined #ubuntu-meeting
zulnope but I guess the community people is involved with that stuff as well?05:43
pkl_BenC: none at the moment...  It all sounds quite sensible, the test will come when we try to do the co-ordination in practice.05:47
BenCthey can be, yes...but frankly my focus is on making sure that people we hired have work to do05:47
amitkwho QAs the code?05:47
BenCamitk: most original code we write gets sent to kernel-team@ list, and needs at least one other person to sign-off on it05:47
BenCamitk: we try to mirror normal upstream kernel development as much as possible to make it easier for people to work with us who are already used to working with lkml/git/linus (and vice versa)05:47
BenCbut we're kind of making kernel-team == Linus in that comparison05:47
amitkthere is no problem till someone decides to rebase to Linus' tree, right?05:47
BenCright, and that shouldn't happen often, and it only happens until our target version is released (2.6.22, right now)05:47
BenCit's a quirk, but a big one...some one will have to say "heads up, I'm doing a rebase this weekend, so push all your changes if you want to make things easier"05:48
amitkwill a fixed rebase schedule help?05:48
BenCyeah, that's what I'm thinking05:49
BenCfriday night rebase parties :)05:49
amitkso we rebase once (or twice) a week, say, wed and fri, and deadline to get code in is previous day05:49
BenCtwice a week is probably good, after hours, maybe someone different can do it each time05:50
BenCaction item for me, create schedule for rebase during devel cycle, create upload schedule matching milestone releases05:51
BenCprocess for rebase, process for group development on devel tree05:51
BenCI think we're good for today unless anyone has any last minute issues to bring up?05:52
pkl_after hours in the US for the Europe based people will be really after hours.  In practice this will probably mean early in the morning...05:52
BenCpkl_: we'll make it a UTC time frame, everyone will just need to be aware of how it affects their work day05:53
BenCsomething like 17:00 UTC05:54
BenCok, thanks everyone for joining, especially to heno and cr3 for taking time to talk with us05:55
=== amitk [n=amit@a81-197-135-210.elisa-laajakaista.fi] has left #ubuntu-meeting ["Konversation]
BenCadjourned05:55
=== BenC [n=bcollins@debian/developer/bcollins] has left #ubuntu-meeting ["Ex-Chat"]
=== cr3 [n=marc@pdpc/supporter/bronze/cr3] has left #ubuntu-meeting []
PriceChildmc44, smells06:18
=== coreymon77 [n=chatzill@unaffiliated/coreymon77] has joined #ubuntu-meeting
=== coreymon77 [n=chatzill@unaffiliated/coreymon77] has left #ubuntu-meeting []
=== ..[topic/#ubuntu-meeting:ubotu] : Calendar: http://fridge.ubuntu.com/event | Logs: https://wiki.ubuntu.com/MeetingLogs/ | 13 Jun 12:00 UTC: Edubuntu | 14 Jun 16:00 UTC: Ubuntu Development Team | 16 Jun 17:00 UTC: Xubuntu Developers | 19 Jun 19:00 UTC: Technical Board | 20 Jun 20:00 UTC: Edubuntu | 21 Jun 18:00 UTC: Mozilla Team
=== lifeless_ [n=robertc@ppp245-86.static.internode.on.net] has joined #ubuntu-meeting
=== PriceChild [n=pricechi@ubuntu/member/pricechild] has left #ubuntu-meeting ["Leaving"]
=== slomo [n=slomo@ubuntu/member/slomo] has joined #ubuntu-meeting
=== blenderhead001 [n=blenderh@adsl-17-208-200.jax.bellsouth.net] has joined #ubuntu-meeting
=== blenderhead__ [n=blenderh@adsl-234-45-220.jax.bellsouth.net] has joined #ubuntu-meeting
=== zul [n=chuck@ubuntu/member/zul] has joined #ubuntu-meeting
=== hagi [n=hagi@adsl-84-227-220-125.adslplus.ch] has joined #ubuntu-meeting
=== hagi [n=hagi@adsl-84-227-220-125.adslplus.ch] has joined #ubuntu-meeting
=== neversfelde|mobi [n=neversfe@82.113.106.1] has joined #ubuntu-meeting
=== _czessi [n=Czessi@dslb-088-073-048-156.pools.arcor-ip.net] has joined #ubuntu-meeting
=== fernando_ [n=fernando@189.0.201.135] has joined #ubuntu-meeting
=== slomo_ [n=slomo@ubuntu/member/slomo] has joined #ubuntu-meeting
=== blenderhead001 [n=blenderh@adsl-80-252-159.jax.bellsouth.net] has joined #ubuntu-meeting
=== tkjacobsen [n=tkjacobs@133.15.236.89.dk-boa.res.dyn.perspektivbredband.net] has joined #ubuntu-meeting
=== fernando [n=fernando@unaffiliated/musb] has joined #ubuntu-meeting
=== neversfelde|mobi [n=neversfe@82.113.106.1] has joined #ubuntu-meeting
=== hagi_ [n=hagi@adsl-89-217-94-140.adslplus.ch] has joined #ubuntu-meeting
=== simira [n=simira@aine.err.no] has joined #ubuntu-meeting
=== ompaul [n=ompaul@freenode/staff/gnewsense.ompaul] has joined #ubuntu-meeting
=== petrovicivan [n=ivan@89.216.210.236] has joined #ubuntu-meeting
=== doko_ [n=doko@dslb-088-073-087-069.pools.arcor-ip.net] has joined #ubuntu-meeting
=== petrovicivan [n=ivan@89.216.210.236] has left #ubuntu-meeting []
=== _neversfelde [n=neversfe@nrbg-4db44428.pool.einsundeins.de] has joined #ubuntu-meeting
=== Lure [n=lure@89-212-19-55.dynamic.dsl.t-2.net] has joined #ubuntu-meeting
=== finalbeta [n=gggggggg@d54C6865D.access.telenet.be] has joined #ubuntu-meeting
=== PriceChild [n=pricechi@ubuntu/member/pricechild] has joined #ubuntu-meeting
=== highvoltage [n=highvolt@196.1.61.41] has joined #ubuntu-meeting
=== DarkSun88 [n=Ma@ubuntu/member/darksun88] has left #ubuntu-meeting ["Sto]
=== mvo [n=egon@p54A6645D.dip.t-dialin.net] has joined #ubuntu-meeting
=== lamont [i=lamont@nat/hp/x-c4608a929fbe53fc] has joined #ubuntu-meeting
=== mvo_ [n=egon@p54A66E13.dip.t-dialin.net] has joined #ubuntu-meeting
=== j_ack [n=jack@p508D8080.dip0.t-ipconnect.de] has joined #ubuntu-meeting
=== mvo__ [n=egon@p54A645E2.dip.t-dialin.net] has joined #ubuntu-meeting
=== emonkey [n=emonkey@static-pro-212-101-27-121.adsl.solnet.ch] has joined #ubuntu-meeting
=== hoora_ [i=ariel@gateway/tor/x-6862f7dccb745d08] has joined #ubuntu-meeting
=== j_ack [n=jack@p508D8080.dip0.t-ipconnect.de] has joined #ubuntu-meeting
=== philth [n=philth@U193.LoyalistC.ON.CA] has joined #ubuntu-meeting
=== mvo_ [n=egon@p54A67C51.dip.t-dialin.net] has joined #ubuntu-meeting
=== blenderhead001 [n=blenderh@adsl-068-209-133-121.sip.jax.bellsouth.net] has joined #ubuntu-meeting
=== Burgundavia [n=corey@ubuntu/member/burgundavia] has joined #ubuntu-meeting
=== mvo [n=egon@p54A66335.dip.t-dialin.net] has joined #ubuntu-meeting
=== mvo__ [n=egon@p54A64B14.dip.t-dialin.net] has joined #ubuntu-meeting
shawarma@schedule copenhagen10:23
ubotuSchedule for Europe/Copenhagen: 13 Jun 14:00: Edubuntu | 14 Jun 18:00: Ubuntu Development Team | 16 Jun 19:00: Xubuntu Developers | 19 Jun 21:00: Technical Board | 20 Jun 22:00: Edubuntu | 21 Jun 20:00: Mozilla Team10:23
fabbione@schedule aalborg10:27
fabbione:)10:27
=== j_ack [n=jack@p508D8080.dip0.t-ipconnect.de] has joined #ubuntu-meeting
shawarma:)10:31
shawarmaECITYTOOSMALL10:31
fabbioneit just doesn't know about continental dk TZ.... :)10:37
fabbioneshawarma: btw.. the last weekend in June i will be in rhus/Randers10:37
=== txwikinger [n=txwiking@sblug/member/txwikinger] has joined #ubuntu-meeting
shawarmafabbione: I'll be leaving for the server sprint that Friday, unfortunately. My girlfriend is there with her father the week leading up to it and then we have the weekend together over there.10:45
fabbioneshawarma: oh right.. too bad...10:45
=== merriam [n=merriam@85-211-184-56.dyn.gotadsl.co.uk] has joined #ubuntu-meeting
=== cjwatson_ [n=cjwatson@82-69-40-219.dsl.in-addr.zen.co.uk] has joined #ubuntu-meeting
=== blenderhead001 [n=blenderh@adsl-068-209-133-121.sip.jax.bellsouth.net] has joined #ubuntu-meeting
=== cjwatson [n=cjwatson@82-69-40-219.dsl.in-addr.zen.co.uk] has joined #ubuntu-meeting
=== yharrow [n=sysadmin@unaffiliated/yharrow] has joined #ubuntu-meeting

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