Wednesday, 2016-01-06

*** ozamiatin_ has quit IRC00:13
*** pratikmallya has joined #openstack-oslo00:18
openstackgerritJoshua Harlow proposed openstack/taskflow: A 'nth_task' and '{1..9}_task' decorators  https://review.openstack.org/18511600:26
*** harlowja_ has joined #openstack-oslo00:27
openstackgerritJamie Lennox proposed openstack/oslo.context: Provide a helper to load a context from environment  https://review.openstack.org/22924800:29
*** harlowja has quit IRC00:30
* sputnik13 pokes dhellmann 00:39
sputnik13dhellmann I heard from a certain coding demon that you might be able to +A https://review.openstack.org/#/c/261074/00:40
jamielennoxthe debtcollector renames.renamed_kwarg doesn't actually rename the kwarg?00:55
*** rockyg has quit IRC01:00
openstackgerritJoshua Harlow proposed openstack/taskflow: Use the retrying lib. to do basic sqlalchemy engine validation  https://review.openstack.org/26074301:01
*** pratikmallya has quit IRC01:03
harlowja_jamielennox i sorta expected u the dev to rename it :-P01:04
harlowja_because thats the name that will show up in docstrinngs and sphinx01:05
jamielennoxharlowja_: i kind of expected http://paste.openstack.org/show/483094/ to work01:06
jamielennoxspecifically @renames.renamed_kwarg('tenant', 'project') so that if tenant was passed then it would be renamed to project01:06
harlowja_could be a simple change to https://github.com/openstack/debtcollector/blob/master/debtcollector/renames.py#L25 to do that01:07
harlowja_via a new kwarg01:07
harlowja_then tweak https://github.com/openstack/debtcollector/blob/master/debtcollector/renames.py#L4001:07
harlowja_to do that rename/change01:07
jamielennoxit would mean that (on the stupid case that python allows) if you were passing everything positionally it would still work01:07
harlowja_ya, well that gets more complicated, that'd almost be a super-rename-argument function that can handle arguments or kwargs01:10
harlowja_*positional arguments01:10
harlowja_not impossible either, just would need to be created :-P01:11
* harlowja_ mainly created debtcollector stuff as needed, lol01:11
harlowja_don't think i ever hit this case :-P01:11
sputnik13lifeless any chance you can take a look at https://review.openstack.org/#/c/261074/ ? it's a requirement bump for taskflow01:14
harlowja_whats taskflow01:14
sputnik13this really confusing thing some coding demon guy from yahoo tries to get everyone to use01:15
harlowja_sounds weird01:15
sputnik13part of some world domination sub-plot or something or other01:15
harlowja_lol01:15
jamielennoxharlowja_: not that complicated in this case, but i'll whip something up and see if it works01:16
harlowja_k01:16
harlowja_jamielennox sounds good01:16
harlowja_@renames.renamed_argument('project', 'tenant', position=3, replace=True)01:17
harlowja_or something01:17
harlowja_^ not sexy or anything, but to bad01:17
harlowja_lol01:17
*** clayton has quit IRC01:17
*** EinstCrazy has joined #openstack-oslo01:17
jamielennoxharlowja_: i don't think you even need position01:18
*** clayton has joined #openstack-oslo01:18
jamielennoxbut replace is what i was thinking01:18
harlowja_k01:18
sputnik13lifeless thank you :)01:22
openstackgerritJamie Lennox proposed openstack/debtcollector: Allow replacing a keyword argument  https://review.openstack.org/26398401:24
jamielennoxharlowja_: just that easy ^01:26
harlowja_jamielennox ya01:26
harlowja_jamielennox although the shitty part is01:27
harlowja_+    def __init__(self, auth_token=None, user=None, project=None, domain=None,01:27
harlowja_                  user_domain=None, project_domain=None, is_admin=False,01:27
harlowja_                  read_only=False, show_deleted=False, request_id=None,01:27
harlowja_                  resource_uuid=None, overwrite=True):01:27
harlowja_u'll need to keep 'tenant' as a kwarg01:27
lifelesssputnik13: np01:27
jamielennoxharlowja_: why?01:27
harlowja_>>> def a(b=2, c=3):01:28
harlowja_...    pass01:28
harlowja_...01:28
harlowja_>>>01:28
harlowja_>>> a(d=4)01:28
harlowja_Traceback (most recent call last):01:28
harlowja_  File "<stdin>", line 1, in <module>01:28
harlowja_TypeError: a() got an unexpected keyword argument 'd'01:28
harlowja_pretty sure that will happen :-/01:28
harlowja_right?01:28
lifelessharlowja_: isn't the decorators job to move it across?01:28
jamielennoxharlowja_:                 if replace:01:28
jamielennox                    kwargs.setdefault(new_name, kwargs.pop(old_name))01:28
* harlowja_ double checking here, want to make sure i'm not on crack01:28
jamielennoxso it will pop tenant from kwargs (if specified) and reinsert it as project01:29
harlowja_right01:29
* harlowja_ just double checking01:29
jamielennoxlifeless: this is what surprised me, i expected it to be moved01:30
harlowja_jamielennox ya u are right, it works, nm01:30
*** clayton has quit IRC01:30
harlowja_not debtsolver, debtcollector, lol01:30
harlowja_:-P01:30
jamielennoxdebtcollectors generally do a good job of solving debt01:31
harlowja_depends on how much debt u got lol01:32
jamielennoxdebtcollector.kneecap01:32
*** sputnik13 has quit IRC01:32
harlowja_:)01:33
openstackgerritJoshua Harlow proposed openstack/tooz: Track node information so that we can compare-and-delete and do better heartbeat  https://review.openstack.org/26398701:44
*** jecarey has joined #openstack-oslo01:46
*** jecarey has quit IRC01:50
openstackgerritJoshua Harlow proposed openstack/tooz: Track node information so that we can compare-and-delete and do better heartbeat  https://review.openstack.org/26398701:50
*** clayton has joined #openstack-oslo01:50
*** mtanino has quit IRC02:07
*** yamamoto has joined #openstack-oslo02:35
*** vilobhmm11 has quit IRC02:39
*** yamamoto has quit IRC02:48
*** yamamoto has joined #openstack-oslo02:54
*** yamamoto_ has joined #openstack-oslo02:57
*** yamamoto has quit IRC02:57
*** dims has quit IRC02:59
*** browne has quit IRC03:02
*** browne has joined #openstack-oslo03:02
*** yamamoto_ has quit IRC03:07
*** vilobhmm11 has joined #openstack-oslo03:08
*** vilobhmm11 has quit IRC03:28
*** zqfan has joined #openstack-oslo03:40
*** sputnik13 has joined #openstack-oslo03:50
*** links has joined #openstack-oslo03:51
*** yamahata has quit IRC03:52
*** yamamoto has joined #openstack-oslo03:57
*** sputnik13 has quit IRC03:59
openstackgerritMerged openstack/taskflow: Use alembic upgrade function/command directly  https://review.openstack.org/19193504:02
*** yamamoto has quit IRC04:06
*** browne has quit IRC04:08
openstackgerritJamie Lennox proposed openstack/oslo.context: Add properties for id attributes  https://review.openstack.org/26402104:28
*** deray has joined #openstack-oslo04:33
*** deray is now known as deray-afk05:03
*** vilobhmm11 has joined #openstack-oslo05:13
*** deray-afk has quit IRC05:37
*** deray has joined #openstack-oslo05:45
*** jecarey has joined #openstack-oslo05:46
*** jecarey has quit IRC05:51
*** gcb has joined #openstack-oslo05:56
*** harlowja_at_home has joined #openstack-oslo06:16
*** vilobhmm111 has joined #openstack-oslo06:22
*** vilobhmm11 has quit IRC06:24
openstackgerritJoshua Harlow proposed openstack/taskflow: Use the retrying lib. to do basic sqlalchemy engine validation  https://review.openstack.org/26074306:34
*** harlowja_at_home has quit IRC06:51
*** xianghui has quit IRC07:10
*** xianghui has joined #openstack-oslo07:16
*** e0ne has joined #openstack-oslo07:25
*** yamahata has joined #openstack-oslo08:00
*** zakora has joined #openstack-oslo08:10
*** vilobhmm11 has joined #openstack-oslo08:17
*** vilobhmm112 has joined #openstack-oslo08:19
*** vilobhmm111 has quit IRC08:19
*** vilobhmm11 has quit IRC08:21
*** EinstCra_ has joined #openstack-oslo08:32
*** shardy has joined #openstack-oslo08:32
*** EinstCrazy has quit IRC08:35
openstackgerritReedip proposed openstack/pycadf: remove suport for py33  https://review.openstack.org/26408108:55
*** ihrachys has joined #openstack-oslo08:55
openstackgerritJacky_lei_zhang proposed openstack/oslo.service: Fix some inconsistency in docstrings  https://review.openstack.org/26408209:12
*** yassine has joined #openstack-oslo09:19
*** mhickey has joined #openstack-oslo09:19
*** ozamiatin_ has joined #openstack-oslo09:28
*** vilobhmm112 has quit IRC09:40
*** EinstCra_ has quit IRC09:40
*** EinstCrazy has joined #openstack-oslo09:42
*** jecarey has joined #openstack-oslo09:47
*** jecarey has quit IRC09:52
*** haypo has joined #openstack-oslo09:56
*** EinstCrazy has quit IRC10:04
*** ndipanov has joined #openstack-oslo10:05
*** ndipanov has quit IRC10:12
*** cdent has joined #openstack-oslo10:28
*** ndipanov has joined #openstack-oslo10:34
*** dims has joined #openstack-oslo10:47
*** gcb has quit IRC10:52
*** gcb has joined #openstack-oslo10:54
*** yassine has quit IRC10:55
*** mhickey has quit IRC10:56
openstackgerritjaveme proposed openstack/oslo.messaging: rabbit: fix unit conversion error of expiration  https://review.openstack.org/26371210:57
*** gcb has quit IRC11:01
*** lucas-dinner is now known as lucasagomes11:06
*** deray has quit IRC11:14
*** gcb has joined #openstack-oslo11:21
*** mriedem has joined #openstack-oslo11:28
*** cdent has quit IRC11:28
*** mhickey has joined #openstack-oslo11:46
dimsdukhlov : ozamiatin : i think a project-config change broke oslo.messaging + ceilometer - trying to fix that in https://review.openstack.org/#/c/264144/11:57
ozamiatin_dims: I had it accidentally passed here https://review.openstack.org/#/c/262205/ was it broken again?11:58
*** yassine has joined #openstack-oslo11:59
*** sreshetnyak has quit IRC11:59
dimsozamiatin_ : ah weird!11:59
dimslooks like jd__ has a revert for that project-config change11:59
dimsthanks jd__11:59
jd__pretty awesome how we masterize this pile of… jobs.12:08
*** cdent has joined #openstack-oslo12:09
openstackgerritJacky_lei_zhang proposed openstack/oslo.service: Fix some inconsistency in docstrings  https://review.openstack.org/26408212:11
*** pkholkin has quit IRC12:15
*** obondarev_ has quit IRC12:17
*** gordc has joined #openstack-oslo12:26
*** jaypipes has joined #openstack-oslo12:42
*** pradk has quit IRC12:45
*** EinstCrazy has joined #openstack-oslo12:53
*** zz_dimtruck is now known as dimtruck13:06
openstackgerritMerged openstack/oslo.config: Numerous corrections to the docstrings  https://review.openstack.org/26393413:07
*** EinstCrazy has quit IRC13:09
*** kgiusti has joined #openstack-oslo13:10
*** EinstCrazy has joined #openstack-oslo13:11
*** EinstCrazy has quit IRC13:12
openstackgerritMerged openstack/tooz: tests: do not hardcode /tmp  https://review.openstack.org/26368313:22
openstackgerritMerged openstack/oslo.utils: Add a mechanism to mask passwords in dictionaries  https://review.openstack.org/25756113:27
*** dimtruck is now known as zz_dimtruck13:31
*** links has quit IRC13:32
*** edmondsw has joined #openstack-oslo13:34
*** amrith is now known as _amrith_13:38
openstackgerritRicardo Kirkner proposed openstack/stevedore: remove unnecessary dependency on argparse  https://review.openstack.org/26419114:02
*** rlrossit has joined #openstack-oslo14:03
*** pkholkin has joined #openstack-oslo14:07
*** sreshetnyak has joined #openstack-oslo14:10
*** zz_dimtruck is now known as dimtruck14:15
*** links has joined #openstack-oslo14:22
*** links has quit IRC14:28
*** cdent has quit IRC14:29
*** dimtruck is now known as zz_dimtruck14:29
*** lucasagomes is now known as lucas-hungry14:30
*** deray has joined #openstack-oslo14:31
*** ozamiatin_ has quit IRC14:33
*** gordc has quit IRC14:37
*** _amrith_ is now known as amrith14:39
flaper87dims: around ?14:42
*** pradk has joined #openstack-oslo14:42
flaper87nvm, going to post to the m-l14:43
*** jecarey has joined #openstack-oslo14:44
dimsflaper87 : pong. ok14:46
openstackgerritMerged openstack/oslo.service: Refactoring of tests/eventlet_service.py  https://review.openstack.org/26038414:49
dimsrpodolyaka : will you be taking the actions to propose oslo.db and oslo.service changes for things popping up from zzzeek's email thread? please let me know :)14:51
openstackgerritMerged openstack/oslo.messaging: [zmq] Switch notifications to PUB/SUB pattern  https://review.openstack.org/26220514:51
openstackgerritMerged openstack/oslo.log: Pass environment variables of proxy to tox  https://review.openstack.org/25711814:53
openstackgerritMerged openstack/oslo.policy: Add string format rendering to RoleCheck.__call__()  https://review.openstack.org/25880814:55
*** gordc has joined #openstack-oslo14:55
openstackgerritMerged openstack/oslo.privsep: Replace deprecated LOG.warn with LOG.warning  https://review.openstack.org/26360514:56
*** sigmavirus24_awa is now known as sigmavirus2414:59
openstackgerritJacky_lei_zhang proposed openstack/oslo.service: Fix some inconsistency in docstrings  https://review.openstack.org/26408215:01
*** ozamiatin_ has joined #openstack-oslo15:02
*** cdent has joined #openstack-oslo15:07
openstackgerritMerged openstack/debtcollector: Allow replacing a keyword argument  https://review.openstack.org/26398415:08
*** regXboi has joined #openstack-oslo15:09
*** zz_dimtruck is now known as dimtruck15:10
*** yamahata has quit IRC15:26
*** mtanino has joined #openstack-oslo15:26
*** yamahata has joined #openstack-oslo15:26
openstackgerritJulien Danjou proposed openstack/tooz: Fix etcd env setup  https://review.openstack.org/26422615:31
openstackgerritMerged openstack/oslo.messaging: Optimize simulator.py for better throughput  https://review.openstack.org/26110015:32
*** lucas-hungry is now known as lucasagomes15:33
*** devananda has quit IRC15:48
*** devananda has joined #openstack-oslo16:01
lucasagomesif you have a time, mind taking a look at https://review.openstack.org/#/c/263811/ ? It's a tiny patch and I'd appreciate some feedback on the approach taken16:02
lucasagomesthanks16:02
openstackgerritDmitry Tantsur proposed openstack/futurist: PeriodicWorker.create to accept arguments for periodic tasks  https://review.openstack.org/26424716:08
*** salv-orlando has joined #openstack-oslo16:12
openstackgerritSwapnil Kulkarni (coolsvap) proposed openstack/oslo.utils: Use assertTrue/False instead of assertEqual(T/F)  https://review.openstack.org/26424916:14
openstackgerritDmitry Tantsur proposed openstack/futurist: Add periodics.is_periodic to check if object is a periodic task  https://review.openstack.org/26425016:16
openstackgerritMerged openstack/pycadf: Put py34 first in the env order of tox  https://review.openstack.org/26051616:40
openstackgerritMerged openstack/pycadf: remove suport for py33  https://review.openstack.org/26408116:40
*** zakora has quit IRC16:48
*** salv-orlando has quit IRC16:57
*** salv-orlando has joined #openstack-oslo16:58
*** yassine has quit IRC17:06
*** salv-orlando has quit IRC17:19
*** salv-orlando has joined #openstack-oslo17:20
*** jecarey has quit IRC17:22
lxsliCan anyone help define which parts of oslo.config must be considered API? Usually I'd go with - anything not in a private module (_boo.py), also not in a private class (_Namespace), also not private methods. Everything else is. Does that sound accurate?17:23
lxsliSpecifically, ConfigParser and MultiConfigParser are both public classes in a public module but I don't think they should be17:24
lxsliIf they are API, changing anything about them will be real hard - possibly why no one has yet17:24
*** e0ne has quit IRC17:32
*** jecarey has joined #openstack-oslo17:32
*** yamahata has quit IRC17:42
*** jecarey has quit IRC17:45
*** deray has quit IRC17:59
mhickeydims: Hey. Do you have some bandwidth for a quick question?18:00
ihrachysjd__: hey!18:01
jd__hi ihrachys18:01
ihrachysjd__: I was looking at adopting oslotest in neutron, and I found some issue that I cannot explain myself.18:01
ihrachysjd__: for py34, tests fail because I removed mock.patch.stopall cleanup from neutron base test class, assuming that oslotest one will handle it for me.18:02
ihrachysjd__: but it seems that stopall() is called once per test case class, not per test case18:02
ihrachysis it designed that way, and if yes, why?18:02
ihrachysthe code in question is https://github.com/openstack/oslotest/blob/master/oslotest/base.py#L8918:03
jd__ihrachys: this is weird indeed, I imagine that would be in setUp18:04
ihrachysI debug it in context of https://review.openstack.org/#/c/264158/ neutron patch18:05
jd__this has been changed by https://review.openstack.org/#/c/119201/ by dhellmann18:05
*** yamahata has joined #openstack-oslo18:05
jd__if the cleanup functions are reset on each test case run, that might fail18:06
jd__that's all I can say :)18:06
ihrachysnot that it works for me the other way around18:06
mhickeyHey. Anyone know how to enable stdout when doing o.vo testing?18:06
jd__ihrachys: that'd be more weird though18:07
jd__ihrachys: though best thing would be to just use mock.patch fixture or as decorator and not needing that O:-)18:07
ihrachysjd__: ok, I will continue digging tomorrow. thought maybe I assume wrong behaviour.18:07
*** salv-orlando has quit IRC18:08
*** salv-orlando has joined #openstack-oslo18:09
*** ihrachys has quit IRC18:10
*** jecarey has joined #openstack-oslo18:16
*** jecarey has quit IRC18:16
*** jecarey has joined #openstack-oslo18:16
*** mhickey has quit IRC18:16
*** sputnik13 has joined #openstack-oslo18:25
*** pratikmallya has joined #openstack-oslo18:27
*** jecarey has quit IRC18:42
*** jecarey has joined #openstack-oslo18:42
*** ozamiatin_ has quit IRC18:43
*** e0ne has joined #openstack-oslo18:44
*** vilobhmm11 has joined #openstack-oslo18:44
openstackgerritGraham Hayes proposed openstack/debtcollector: Add updated_kwarg_default_value decorator  https://review.openstack.org/25594118:46
*** jecarey has quit IRC18:47
*** alejandrito has joined #openstack-oslo18:56
*** browne has joined #openstack-oslo18:57
*** rlrossit has quit IRC19:01
*** rlrossit has joined #openstack-oslo19:08
*** edmondsw has quit IRC19:14
*** edmondsw has joined #openstack-oslo19:17
*** harlowja_ has quit IRC19:18
*** harlowja has joined #openstack-oslo19:19
openstackgerritJoshua Harlow proposed openstack/taskflow: Allow for alterations in decider 'area of influence'  https://review.openstack.org/24605119:20
openstackgerritJoshua Harlow proposed openstack/taskflow: Fix wrong usage of iter_utils.unique_seen  https://review.openstack.org/25658619:24
openstackgerritJoshua Harlow proposed openstack/taskflow: Allow for alterations in decider 'area of influence'  https://review.openstack.org/24605119:24
openstackgerritJoshua Harlow proposed openstack/tooz: Adjust some of the zookeeper exception message  https://review.openstack.org/26340719:28
openstackgerritMerged openstack/taskflow: Trap and expose exception any 'args'  https://review.openstack.org/23727919:31
dhellmannjd__ , ihrachys: it might be better to move that addCleanup() call from __init__ to the beginning of setUp().19:32
openstackgerritGraham Hayes proposed openstack/debtcollector: Add updated_kwarg_default_value decorator  https://review.openstack.org/25594119:40
*** e0ne has quit IRC19:47
*** jecarey has joined #openstack-oslo19:58
*** amrith is now known as _amrith_20:02
*** lucasagomes is now known as lucas-dinner20:03
*** ndipanov has quit IRC20:09
openstackgerritJoshua Harlow proposed openstack/tooz: Track lock node information on acquire  https://review.openstack.org/26398720:10
*** e0ne has joined #openstack-oslo20:28
*** e0ne has quit IRC20:29
*** e0ne has joined #openstack-oslo20:30
*** e0ne has quit IRC20:33
*** mhickey has joined #openstack-oslo20:38
mhickeydims: Hey!20:40
openstackgerritJoshua Harlow proposed openstack/oslo-specs: Add failure remoting best-of-breed spec  https://review.openstack.org/22919420:40
harlowjadamn, just found that nova has its own copy of the hacky oslo.messaging failure/exceptoion remoting thing20:40
*** mixos has joined #openstack-oslo20:49
*** zqfan has quit IRC20:51
*** _amrith_ is now known as amrith21:01
*** cdent has quit IRC21:08
*** kragniz is now known as {^-^}21:17
*** {^-^} is now known as Guest4635321:18
*** Guest46353 is now known as kragniz21:18
openstackgerritJamie Lennox proposed openstack/oslo.context: Add properties for id attributes  https://review.openstack.org/26402121:20
*** alejandrito has quit IRC21:20
*** vipul has quit IRC21:21
*** SlickNik has quit IRC21:21
*** SlickN1k is now known as SlickNik21:21
*** ozamiatin has quit IRC21:28
*** kgiusti has left #openstack-oslo21:45
dimsmhickey : ping (on a call)21:51
mhickeydims: not a bother; ok for the moment. happy new year btw.21:52
*** ozamiatin has joined #openstack-oslo21:54
*** DuncanT has quit IRC22:04
*** dimtruck has quit IRC22:04
*** dougwig has quit IRC22:05
*** haypo has quit IRC22:05
*** haypo has joined #openstack-oslo22:05
*** haypo has joined #openstack-oslo22:05
*** ozamiatin has quit IRC22:08
*** salv-orl_ has joined #openstack-oslo22:09
*** mhickey has quit IRC22:10
*** dimtruck has joined #openstack-oslo22:11
*** salv-orlando has quit IRC22:12
*** dougwig has joined #openstack-oslo22:17
*** DuncanT has joined #openstack-oslo22:17
*** dims has quit IRC22:22
*** ozamiatin has joined #openstack-oslo22:26
*** shardy has quit IRC22:26
*** pratikmallya has quit IRC22:30
*** ozamiatin has quit IRC22:40
*** mriedem has quit IRC22:46
*** dims has joined #openstack-oslo22:53
*** pratikmallya has joined #openstack-oslo22:54
*** rlrossit has quit IRC22:56
*** pratikmallya has quit IRC22:59
openstackgerritJoshua Harlow proposed openstack/tooz: Track lock node information on acquire  https://review.openstack.org/26398722:59
openstackgerritJoshua Harlow proposed openstack/taskflow: Allow for alterations in decider 'area of influence'  https://review.openstack.org/24605123:03
*** dims has quit IRC23:04
*** regXboi has quit IRC23:08
openstackgerritJoshua Harlow proposed openstack/tooz: Use utils.convert_blocking to convert blocking argument  https://review.openstack.org/26440023:10
openstackgerritJoshua Harlow proposed openstack/tooz: Use utils.convert_blocking to convert blocking argument  https://review.openstack.org/26440023:10
openstackgerritOpenStack Proposal Bot proposed openstack/oslotest: Updated from global requirements  https://review.openstack.org/26440123:10
*** dimtruck is now known as zz_dimtruck23:11
*** mixos has quit IRC23:12
*** pradk has quit IRC23:18
*** pratikmallya has joined #openstack-oslo23:22
*** sigmavirus24 is now known as sigmavirus24_awa23:25
openstackgerritOpenStack Proposal Bot proposed openstack/oslo.db: Updated from global requirements  https://review.openstack.org/26444923:26
*** dims_ has joined #openstack-oslo23:29
openstackgerritOpenStack Proposal Bot proposed openstack/taskflow: Updated from global requirements  https://review.openstack.org/26447323:29
*** dims_ has quit IRC23:34
*** dims_ has joined #openstack-oslo23:36
*** pballand has joined #openstack-oslo23:38
*** mriedem has joined #openstack-oslo23:44
*** gordc has quit IRC23:52
*** pballand has quit IRC23:55

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