*** vinsh has joined #openstack-swift | 00:11 | |
*** vinsh has quit IRC | 00:16 | |
*** ho has joined #openstack-swift | 00:17 | |
ho | good morning | 00:17 |
---|---|---|
*** km has joined #openstack-swift | 00:30 | |
*** dmorita has joined #openstack-swift | 00:31 | |
*** km__ has joined #openstack-swift | 00:36 | |
*** bsdkurt has quit IRC | 00:37 | |
*** km has quit IRC | 00:37 | |
*** bsdkurt has joined #openstack-swift | 00:37 | |
*** km__ has quit IRC | 00:38 | |
*** kota_ has joined #openstack-swift | 00:40 | |
* mattoliverau is back from camping and has internet access again! Woo, miss anything exciting or should I just start reading days of scroll back | 00:44 | |
*** xianghui has quit IRC | 01:02 | |
*** xianghui has joined #openstack-swift | 01:04 | |
jrichli | mattoliverau: Welcome back! Hope you had a great time. | 01:19 |
*** ahonda has joined #openstack-swift | 02:00 | |
*** archers has joined #openstack-swift | 02:01 | |
mattoliverau | jrichli: thanks :) yeah was good. Tiring but good :) | 02:05 |
jrichli | mattoliverau: did you come across any interesting Aussie animals? | 02:08 |
*** archers has quit IRC | 02:08 | |
mattoliverau | Nothing deadly, just jelly fish, birds etc. How was your easter? | 02:09 |
jrichli | just like another day :-) | 02:10 |
jrichli | it was fine, tho. thanks! | 02:10 |
jrichli | jelly fish could be deadly, I suppose | 02:12 |
mattoliverau | Nah, unless they're box jelly fish, other wise they just hurt heaps :p | 02:14 |
jrichli | one thing from today: I tested out of my silks class, so I am moving to the next level | 02:15 |
mattoliverau | Nice | 02:16 |
jrichli | BTW, you will get to meet Mitch at Vancouver | 02:17 |
jrichli | I finally found out I am going and plans are all set | 02:18 |
*** vinsh has joined #openstack-swift | 02:30 | |
*** Guest____ has quit IRC | 02:37 | |
*** vinsh has quit IRC | 02:40 | |
*** chlong has joined #openstack-swift | 03:00 | |
*** kota_ has quit IRC | 03:45 | |
*** archers has joined #openstack-swift | 03:45 | |
*** archers has quit IRC | 03:47 | |
*** ppai has joined #openstack-swift | 03:50 | |
mattoliverau | Yay, Awesome! I look forward to it! | 03:51 |
jrichli | me too. well, i'm goin 2 bed. have a good day! | 03:58 |
*** jrichli has quit IRC | 03:59 | |
*** kei_yama has quit IRC | 04:13 | |
*** kei_yama has joined #openstack-swift | 04:18 | |
*** os1 has joined #openstack-swift | 05:09 | |
*** os1 has left #openstack-swift | 05:12 | |
*** vinsh has joined #openstack-swift | 05:40 | |
*** vinsh has quit IRC | 05:45 | |
*** bkopilov has quit IRC | 06:09 | |
*** Akshat has joined #openstack-swift | 06:09 | |
*** Akshat has quit IRC | 06:13 | |
*** nshaikh has joined #openstack-swift | 06:23 | |
*** bkopilov has joined #openstack-swift | 06:27 | |
*** jamielennox|away is now known as jamielennox | 06:48 | |
*** Trixboxer has joined #openstack-swift | 07:36 | |
*** silor has joined #openstack-swift | 08:25 | |
*** nshaikh has quit IRC | 08:47 | |
*** chlong_ has joined #openstack-swift | 08:54 | |
*** chlong has quit IRC | 08:57 | |
*** geaaru has joined #openstack-swift | 08:59 | |
*** nshaikh has joined #openstack-swift | 09:01 | |
*** dmorita has quit IRC | 09:02 | |
*** nshaikh has quit IRC | 09:25 | |
*** mjfork_ has joined #openstack-swift | 09:48 | |
*** mjfork has quit IRC | 09:49 | |
*** mjfork_ is now known as mjfork | 09:49 | |
*** chlong_ has quit IRC | 10:41 | |
*** chlong_ has joined #openstack-swift | 10:58 | |
*** chlong_ has quit IRC | 11:05 | |
*** tomtom has joined #openstack-swift | 11:15 | |
*** tomtom is now known as Guest49654 | 11:16 | |
*** Guest____ has joined #openstack-swift | 11:17 | |
*** chlong has joined #openstack-swift | 11:24 | |
-openstackstatus- NOTICE: gerrit has been restarted to restore event streaming. any change events missed by zuul (between 10:56 and 11:37 utc) will need to be rechecked or have new approval votes set | 11:39 | |
*** ho has quit IRC | 11:40 | |
*** jamielennox is now known as jamielennox|away | 11:49 | |
*** kei_yama has quit IRC | 11:52 | |
*** Gu_______ has joined #openstack-swift | 11:59 | |
*** Akshat has joined #openstack-swift | 12:11 | |
*** Gu_______ has quit IRC | 12:13 | |
*** mjfork has quit IRC | 12:15 | |
Akshat | Hi | 12:17 |
Akshat | anyone has seen this error before | 12:17 |
Akshat | 2Traceback (most recent call last):#012 File "/usr/lib/python2.7/dist-packages/swift/obj/server.py", line 408, in PUT#012 orig_metadata = disk_file.read_metadata()#012 File "/usr/lib/python2.7/dist-packages/swift/obj/diskfile.py", line 1510, in read_metadata#012 with self.open():#012 File "/usr/lib/python2.7/dist-packages/swift/obj/diskfil | 12:17 |
Akshat | e.py", line 1248, in open#012 raise self._construct_exception_from_ts_file(ts_file)#012DiskFileNotExist | 12:17 |
Akshat | @Clayg,@ctennis...please help | 12:17 |
*** theanalyst has quit IRC | 12:28 | |
*** theanalyst has joined #openstack-swift | 12:31 | |
*** SkyRocknRoll has joined #openstack-swift | 12:32 | |
*** Akshat has quit IRC | 12:45 | |
*** Akshat has joined #openstack-swift | 12:46 | |
*** Guest____ has quit IRC | 12:46 | |
*** Guest____ has joined #openstack-swift | 12:49 | |
*** annegentle has joined #openstack-swift | 12:50 | |
*** ppai has quit IRC | 12:50 | |
*** annegentle has quit IRC | 12:52 | |
*** annegentle has joined #openstack-swift | 12:52 | |
*** jkugel has joined #openstack-swift | 12:54 | |
*** petertr7 has joined #openstack-swift | 13:01 | |
*** mjfork has joined #openstack-swift | 13:02 | |
*** mjfork_ has joined #openstack-swift | 13:04 | |
*** straycat is now known as undeadcat | 13:04 | |
*** mjfork__ has joined #openstack-swift | 13:05 | |
*** mjfork has quit IRC | 13:07 | |
*** mjfork__ is now known as mjfork | 13:07 | |
*** mjfork_ has quit IRC | 13:09 | |
*** annegentle has quit IRC | 13:22 | |
*** mahatic has joined #openstack-swift | 13:49 | |
*** annegentle has joined #openstack-swift | 13:52 | |
*** early has quit IRC | 13:53 | |
*** wer_ has quit IRC | 13:53 | |
*** occupant has quit IRC | 13:53 | |
*** InAnimaTe has quit IRC | 13:53 | |
*** briancline has quit IRC | 13:53 | |
*** bkopilov has quit IRC | 13:53 | |
*** xianghui has quit IRC | 13:53 | |
*** david-lyle has quit IRC | 13:53 | |
*** amandap has quit IRC | 13:53 | |
*** csmart has quit IRC | 13:53 | |
*** anticw has quit IRC | 13:53 | |
*** raginbajin has quit IRC | 13:53 | |
*** eikke has quit IRC | 13:53 | |
*** d0ugal has quit IRC | 13:53 | |
*** portante has quit IRC | 13:53 | |
*** silor has quit IRC | 13:53 | |
*** bsdkurt has quit IRC | 13:53 | |
*** mitz has quit IRC | 13:53 | |
*** jdaggett has quit IRC | 13:53 | |
*** nottrobin has quit IRC | 13:53 | |
*** goodes has quit IRC | 13:53 | |
*** fanyaohong has quit IRC | 13:53 | |
*** mordred has quit IRC | 13:53 | |
*** mariusv has quit IRC | 13:53 | |
*** zacksh has quit IRC | 13:53 | |
*** mattoliverau has quit IRC | 13:53 | |
*** ekarlso has quit IRC | 13:53 | |
*** sudorandom has quit IRC | 13:53 | |
*** Trozz has quit IRC | 13:53 | |
*** CrackerJackMack has quit IRC | 13:53 | |
*** donagh has quit IRC | 13:53 | |
*** jroll has quit IRC | 13:53 | |
*** AbyssOne__ has quit IRC | 13:53 | |
*** rsFF has quit IRC | 13:53 | |
*** Anticimex has quit IRC | 13:53 | |
*** chrisnelson has quit IRC | 13:53 | |
*** jeblair has quit IRC | 13:53 | |
*** jkugel has quit IRC | 13:53 | |
*** Akshat has quit IRC | 13:53 | |
*** mikehn has quit IRC | 13:53 | |
*** sc has quit IRC | 13:53 | |
*** ondergetekende has quit IRC | 13:53 | |
*** zackmdavis has quit IRC | 13:53 | |
*** tellesnobrega has quit IRC | 13:54 | |
*** tellesnobrega has joined #openstack-swift | 13:55 | |
*** silor has joined #openstack-swift | 13:55 | |
*** bsdkurt has joined #openstack-swift | 13:55 | |
*** mitz has joined #openstack-swift | 13:55 | |
*** jdaggett has joined #openstack-swift | 13:55 | |
*** nottrobin has joined #openstack-swift | 13:55 | |
*** goodes has joined #openstack-swift | 13:55 | |
*** fanyaohong has joined #openstack-swift | 13:55 | |
*** mordred has joined #openstack-swift | 13:55 | |
*** mariusv has joined #openstack-swift | 13:55 | |
*** zacksh has joined #openstack-swift | 13:55 | |
*** mattoliverau has joined #openstack-swift | 13:55 | |
*** ekarlso has joined #openstack-swift | 13:55 | |
*** sudorandom has joined #openstack-swift | 13:55 | |
*** Trozz has joined #openstack-swift | 13:55 | |
*** CrackerJackMack has joined #openstack-swift | 13:55 | |
*** donagh has joined #openstack-swift | 13:55 | |
*** jroll has joined #openstack-swift | 13:55 | |
*** AbyssOne__ has joined #openstack-swift | 13:55 | |
*** sendak.freenode.net sets mode: +v mattoliverau | 13:55 | |
*** rsFF has joined #openstack-swift | 13:56 | |
*** Anticimex has joined #openstack-swift | 13:56 | |
*** chrisnelson has joined #openstack-swift | 13:56 | |
*** jeblair has joined #openstack-swift | 13:56 | |
*** early has joined #openstack-swift | 13:58 | |
*** wer_ has joined #openstack-swift | 13:58 | |
*** occupant has joined #openstack-swift | 13:58 | |
*** InAnimaTe has joined #openstack-swift | 13:58 | |
*** briancline has joined #openstack-swift | 13:58 | |
*** bkopilov has joined #openstack-swift | 13:58 | |
*** xianghui has joined #openstack-swift | 13:58 | |
*** david-lyle has joined #openstack-swift | 13:58 | |
*** amandap has joined #openstack-swift | 13:58 | |
*** csmart has joined #openstack-swift | 13:58 | |
*** anticw has joined #openstack-swift | 13:58 | |
*** raginbajin has joined #openstack-swift | 13:58 | |
*** eikke has joined #openstack-swift | 13:58 | |
*** d0ugal has joined #openstack-swift | 13:58 | |
*** portante has joined #openstack-swift | 13:58 | |
*** jkugel has joined #openstack-swift | 13:58 | |
*** Akshat has joined #openstack-swift | 13:58 | |
*** mikehn has joined #openstack-swift | 13:58 | |
*** sc has joined #openstack-swift | 13:58 | |
*** ondergetekende has joined #openstack-swift | 13:58 | |
*** zackmdavis has joined #openstack-swift | 13:58 | |
*** sc has quit IRC | 13:59 | |
*** early has quit IRC | 14:00 | |
*** wer_ has quit IRC | 14:00 | |
*** occupant has quit IRC | 14:00 | |
*** InAnimaTe has quit IRC | 14:00 | |
*** briancline has quit IRC | 14:00 | |
*** early has joined #openstack-swift | 14:01 | |
*** wer_ has joined #openstack-swift | 14:01 | |
*** occupant has joined #openstack-swift | 14:01 | |
*** InAnimaTe has joined #openstack-swift | 14:01 | |
*** briancline has joined #openstack-swift | 14:01 | |
*** sc has joined #openstack-swift | 14:01 | |
*** annegentle has quit IRC | 14:05 | |
Akshat | Hi clayg | 14:09 |
Akshat | Hi ctennis | 14:09 |
ctennis | Akshat: I don't know without a lot more information about your cluster. | 14:10 |
*** Akshat has quit IRC | 14:15 | |
*** mahatic has quit IRC | 14:23 | |
*** jrichli has joined #openstack-swift | 14:26 | |
*** mahatic has joined #openstack-swift | 14:26 | |
*** vinsh has joined #openstack-swift | 14:40 | |
*** annegentle has joined #openstack-swift | 14:49 | |
*** silor has quit IRC | 14:53 | |
*** Guest____ has quit IRC | 14:53 | |
*** zul has quit IRC | 14:54 | |
*** silor has joined #openstack-swift | 14:55 | |
*** Guest____ has joined #openstack-swift | 14:56 | |
*** SkyRocknRoll has quit IRC | 14:56 | |
*** chlong has quit IRC | 15:00 | |
*** Guest____ has quit IRC | 15:02 | |
*** Guest____ has joined #openstack-swift | 15:07 | |
*** marcusvrn has joined #openstack-swift | 15:19 | |
*** wer_ is now known as wer | 15:23 | |
*** lpabon has joined #openstack-swift | 15:28 | |
*** gyee has joined #openstack-swift | 15:45 | |
*** dencaval has joined #openstack-swift | 15:53 | |
*** annegentle has quit IRC | 16:03 | |
*** zul has joined #openstack-swift | 16:16 | |
*** Guest____ has quit IRC | 16:18 | |
notmyname | good morning, world | 16:31 |
dencaval | morning! | 16:32 |
*** Akshat has joined #openstack-swift | 16:32 | |
*** bkopilov has quit IRC | 16:33 | |
* notmyname checks in on the status of things | 16:34 | |
*** bkopilov has joined #openstack-swift | 16:35 | |
openstackgerrit | Thiago da Silva proposed openstack/swift: Select policy when running functional test https://review.openstack.org/167595 | 16:37 |
*** Guest____ has joined #openstack-swift | 16:38 | |
*** bkopilov has quit IRC | 16:40 | |
*** Akshat has quit IRC | 16:41 | |
*** Akshat has joined #openstack-swift | 16:53 | |
*** Akshat has quit IRC | 16:54 | |
*** Akshat has joined #openstack-swift | 16:54 | |
Akshat | ctennis: the setup is SAIO | 16:55 |
*** annegentle has joined #openstack-swift | 16:55 | |
Akshat | but the machine has large compute | 16:55 |
*** Guest____ has quit IRC | 17:00 | |
clayg | morning | 17:00 |
clayg | Akshat: I think it's weird to see that traceback - that exception is normally caught and handled anywhere that might catch it - is that an object-server log line? | 17:01 |
Akshat | Yes | 17:02 |
Akshat | that was in object server | 17:02 |
*** Guest____ has joined #openstack-swift | 17:08 | |
*** thumpba has joined #openstack-swift | 17:09 | |
clayg | Akshat: is this master? can you do a larger exceprt from the logs for that traceback in a paste? | 17:10 |
Akshat | master as in | 17:11 |
Akshat | its a single node | 17:11 |
Akshat | serving Proxy | 17:11 |
Akshat | and storage cluster | 17:11 |
*** Guest____ has quit IRC | 17:18 | |
*** marcusvrn has quit IRC | 17:39 | |
*** mjfork has joined #openstack-swift | 17:45 | |
*** undeadcat is now known as straycat | 17:58 | |
petertr7 | Is there a maximum capacity or size a container can handle in regards to number of objects or total volume of data? | 18:16 |
notmyname | petertr7: no | 18:17 |
petertr7 | notmyname: Thanks! Very convenient | 18:17 |
tdasilva | clayg: is the plan to _not_ enable EC by default on SAIO? | 18:18 |
*** Akshat has quit IRC | 18:18 | |
*** zhill has joined #openstack-swift | 18:21 | |
*** theanalyst has quit IRC | 18:26 | |
*** theanalyst has joined #openstack-swift | 18:30 | |
clayg | tdasilva: I dont' think we want to make it mandatory - but I think the verbage in the saio docs at the end of the patch chain should probably "encourge" it? | 18:34 |
tdasilva | clayg: I just noticed that the ec policy is commented out here: https://review.openstack.org/#/c/169990/4/doc/saio/swift/swift.conf so I was just wondering if we want to keep it that way | 18:35 |
openstackgerrit | Samuel Merritt proposed openstack/swift: Add functional test for multi-range GET requests. https://review.openstack.org/167828 | 18:36 |
*** silor has quit IRC | 18:36 | |
*** bkopilov has joined #openstack-swift | 18:40 | |
clayg | tdasilva: i'm not sure - it should be consistent - did the remakerings scripts get updated to include the extra devices by default - or are those commented out? | 18:43 |
tdasilva | clayg: I was thinking the same thing, we did add the new ring in remakerings, so yeah, I think we need to fix up swift.conf too | 18:43 |
tdasilva | otherwise it wouldn't be consistent | 18:44 |
clayg | i agree - either make a commit or push over - thanks! | 18:44 |
tdasilva | cool, will do | 18:44 |
*** kutija has quit IRC | 18:52 | |
petertr7 | notmyname: To your knowledge, is there a recommended max number of objects per container? I've read from a few sources it's somewhere between 1-10million per container as a significant drop in performance may occur after that. | 18:59 |
petertr7 | *sources = Rackspace developers whom are also stackers I believe | 19:00 |
notmyname | petertr7: it's determined by your object write/second requirements and your hardware. | 19:00 |
*** thumpba_ has joined #openstack-swift | 19:00 | |
petertr7 | notmyname: Thank you | 19:00 |
*** thumpba has quit IRC | 19:03 | |
*** uschreiber_ has joined #openstack-swift | 19:18 | |
*** mahatic has quit IRC | 19:21 | |
*** uschreiber_ has quit IRC | 19:23 | |
clayg | anyone have anything they're about to push to ec docs - and want me to hold off on a rebase? | 19:24 |
clayg | or in the middle of commenting on something? | 19:24 |
clayg | i have all the acoles fixups in place sans the reconstructor - and I have my own ideas about how to fix the perception of the race on handoff reversion - and all the other fixes i commented on earlier that we should prioritize | 19:25 |
tdasilva | clayg: i'm good...I will probably push a patch to docs after you | 19:25 |
clayg | tdasilva: right on - the docs sha will change cause it'll be rebased but the content of your diff should prbably apply cleanly | 19:26 |
clayg | y | 19:26 |
clayg | e | 19:26 |
*** mahatic has joined #openstack-swift | 19:26 | |
clayg | s | 19:26 |
tdasilva | sounds good | 19:27 |
clayg | hrm.... i didn't do my rolling unittest/flake8 over all the shas there : | 19:29 |
clayg | maybe it'll be fine... | 19:29 |
clayg | jenkins'll do it for me | 19:30 |
*** vinsh_ has joined #openstack-swift | 19:31 | |
*** zul has quit IRC | 19:32 | |
*** zhill has quit IRC | 19:33 | |
*** vinsh has quit IRC | 19:34 | |
*** zhill has joined #openstack-swift | 19:35 | |
*** zhill has quit IRC | 19:40 | |
*** dencaval has quit IRC | 19:52 | |
*** vinsh_ has quit IRC | 19:59 | |
*** vinsh has joined #openstack-swift | 19:59 | |
*** annegentle has quit IRC | 20:01 | |
*** mahatic has quit IRC | 20:13 | |
notmyname | clayg: thanks | 20:14 |
*** lpabon has quit IRC | 20:15 | |
*** mahatic has joined #openstack-swift | 20:15 | |
*** bkopilov has quit IRC | 20:17 | |
*** vinsh_ has joined #openstack-swift | 20:21 | |
*** vinsh has quit IRC | 20:21 | |
*** bkopilov has joined #openstack-swift | 20:22 | |
clayg | notmyname: yeah np, it's mostly acoles - i *am* workin on the reconstructor right now tho - so i may end up doing something useful on accident after all! | 20:25 |
*** zhill has joined #openstack-swift | 20:35 | |
*** zhill has quit IRC | 20:40 | |
*** zul has joined #openstack-swift | 20:45 | |
*** anonymous2 has joined #openstack-swift | 20:57 | |
*** anonymous2 has quit IRC | 20:58 | |
*** Guest49654 has quit IRC | 21:12 | |
*** Bsony has joined #openstack-swift | 21:14 | |
*** geaaru has quit IRC | 21:28 | |
*** Bsony has quit IRC | 21:28 | |
*** mahatic has quit IRC | 21:30 | |
*** annegentle has joined #openstack-swift | 21:35 | |
*** zhill has joined #openstack-swift | 21:36 | |
*** mahatic has joined #openstack-swift | 21:38 | |
peluse | clayg, let me know if you have anything specific you want me on... out meetings for a bit | 21:39 |
*** zhill has quit IRC | 21:41 | |
*** annegentle has quit IRC | 21:46 | |
clayg | peluse: naa not really - just review the chain, find stuff so other reviewer's don't, i've got the reconstructor all pulled a part and apparently acoles_away and I are gunna have to have it out later in the week ;) | 21:46 |
*** jrichli has quit IRC | 21:46 | |
clayg | notmyname: you got anything for peluse? | 21:46 |
clayg | docs? test plan? | 21:46 |
clayg | I still think we should get something out the ML - try to see if we can anyone out there to come at docs and stuff with fresh eyes? | 21:47 |
clayg | notmyname: peluse: ^ | 21:47 |
*** mjfork has quit IRC | 21:47 | |
notmyname | peluse: yup. what clayg said | 21:50 |
notmyname | clayg: I'll work on the ML thing | 21:50 |
*** mahatic has quit IRC | 21:53 | |
peluse | the ML thing? | 21:55 |
peluse | mail list? | 21:55 |
peluse | machine leanring? | 21:56 |
peluse | major elague? | 21:56 |
notmyname | peluse: ya. mailing list | 21:56 |
peluse | or I was gonna say much love :) | 21:56 |
notmyname | much love from the mailing list about the major league | 21:57 |
tdasilva | ML³ | 21:57 |
torgomatic | http://en.wikipedia.org/wiki/ML_%28programming_language%29 | 21:57 |
peluse | oh geeze | 21:57 |
torgomatic | so to update the ec_review patch chain, are we just pushing stuff? mailing diffs to clayg? smoke signals? | 22:02 |
* peluse likes smoke signals | 22:04 | |
*** jkugel has quit IRC | 22:05 | |
notmyname | clayg asked that reviews be left in gerrit. if you've got code, put it in a gist/pastebin and leave it in a comment. if it's a doc update, push over it | 22:06 |
mattoliverau | Morning | 22:12 |
peluse | morning | 22:15 |
*** Bsony has joined #openstack-swift | 22:34 | |
notmyname | hey mattoliverau | 22:35 |
notmyname | cool. +2s starting to be seen on the ec_review patches (thanks peluse!) | 22:37 |
*** zhill has joined #openstack-swift | 22:37 | |
*** Bsony has quit IRC | 22:39 | |
*** zhill has quit IRC | 22:42 | |
*** annegentle has joined #openstack-swift | 22:44 | |
*** devlaps has joined #openstack-swift | 22:59 | |
*** annegentle has quit IRC | 22:59 | |
*** annegent_ has joined #openstack-swift | 23:00 | |
*** jamielennox|away is now known as jamielennox | 23:07 | |
*** chlong has joined #openstack-swift | 23:10 | |
*** annegent_ has quit IRC | 23:13 | |
*** vinsh_ has quit IRC | 23:15 | |
*** petertr7 has quit IRC | 23:21 | |
*** zul has quit IRC | 23:24 | |
*** kei_yama has joined #openstack-swift | 23:26 | |
*** annegent_ has joined #openstack-swift | 23:36 | |
*** zhill has joined #openstack-swift | 23:38 | |
*** occup4nt has joined #openstack-swift | 23:38 | |
*** occupant has quit IRC | 23:38 | |
*** zhill has quit IRC | 23:42 | |
*** annegent_ has quit IRC | 23:48 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!