| [2010/01/29 01:07:17] @ Log started by gepetto | ||
| [2010/01/29 01:07:17] @ nigelk joined channel #puppet-dev | ||
| [2010/01/29 01:20:08] @ ppickfor joined channel #puppet-dev | ||
| [2010/01/29 01:29:34] @ mqr joined channel #puppet-dev | ||
| [2010/01/29 01:30:33] <jamesturnbull> mqr: ping | ||
| [2010/01/29 01:30:41] <mqr> pong | ||
| [2010/01/29 01:30:55] <jamesturnbull> mqr: okay nigel's issue was a non issue | ||
| [2010/01/29 01:31:09] <mqr> What was the scoop? | ||
| [2010/01/29 01:31:12] <jamesturnbull> mqr: he and worked through it and discovered he needs a good swift kick up the bum | ||
| [2010/01/29 01:31:20] <jamesturnbull> mqr: mixed release on the server | ||
| [2010/01/29 01:31:26] <mqr> Yep. | ||
| [2010/01/29 01:31:33] <mqr> Some 0.25.1 in there? | ||
| [2010/01/29 01:31:35] <jamesturnbull> some 0.25.1 files | ||
| [2010/01/29 01:31:36] <jamesturnbull> yep | ||
| [2010/01/29 01:31:41] <jamesturnbull> but.. | ||
| [2010/01/29 01:31:48] <mqr> That was the only way I could get it to happen. | ||
| [2010/01/29 01:31:48] <jamesturnbull> I just logged a weird one | ||
| [2010/01/29 01:31:57] <mqr> I was just looking. | ||
| [2010/01/29 01:32:56] <mqr> So is it a concern? | ||
| [2010/01/29 01:33:44] <jamesturnbull> well - i don't know why its suddnly happening | ||
| [2010/01/29 01:33:48] <jamesturnbull> git bisect not helpful | ||
| [2010/01/29 01:35:45] @ Quit: nigelk: | ||
| [2010/01/29 01:37:01] @ Quit: ppickfor2: Read error: 110 (Connection timed out) | ||
| [2010/01/29 01:37:44] <mqr> Does it happen consistently then? | ||
| [2010/01/29 01:37:59] <jamesturnbull> yeppers | ||
| [2010/01/29 01:39:02] <mqr> That looks like your dpkg database is orrupted. | ||
| [2010/01/29 01:39:12] <mqr> s/orrup/corrup/ | ||
| [2010/01/29 01:39:35] <mqr> What happens if you try to check versions manually? | ||
| [2010/01/29 01:41:57] <jamesturnbull> mqr: it's a fedora box | ||
| [2010/01/29 01:42:02] @ Quit: notbrien: Client Quit | ||
| [2010/01/29 01:42:08] <mqr> ? | ||
| [2010/01/29 01:42:15] <jamesturnbull> mqr: it's nbot a debian or ubuntu box | ||
| [2010/01/29 01:42:22] <jamesturnbull> mqr: that's what's weird | ||
| [2010/01/29 01:42:24] <mqr> Yeah, I got that. | ||
| [2010/01/29 01:43:04] <mqr> So the tests that should see far enough to get that error state message shouldn't run there, at least as I understand it. | ||
| [2010/01/29 01:43:10] <jamesturnbull> I am going to merge your #3114 fix too | ||
| [2010/01/29 01:43:11] <gepetto> jamesturnbull: #3114 is http://projects.reductivelabs.com/issues/show/3114 "Puppet - Bug #3114: Puppet crashes after run - ReductiveLabs.com" | ||
| [2010/01/29 01:43:20] <mqr> I'm going to look at the code. | ||
| [2010/01/29 01:44:22] <mqr> Merge away (it's been tested) but I think that's going towards 0.25.5, and 0.25.4rc3 is poised to be 0.24.4, right? | ||
| [2010/01/29 01:45:00] <jamesturnbull> mqr: you marked the ticket 0.25.4 | ||
| [2010/01/29 01:45:06] <jamesturnbull> mqr: I presumed you had reason to? | ||
| [2010/01/29 01:46:15] <mqr> That was when I thought we'd be doing an rc4 (see my notes on the ticket). Basically, I was willing to pull it in if we were going to take another bite of the apple, but not willing to delay for it. | ||
| [2010/01/29 01:46:33] <mqr> It's an easy patch to apply locally, if needed. | ||
| [2010/01/29 01:46:51] <jamesturnbull> mqr: sur | ||
| [2010/01/29 01:46:53] <jamesturnbull> e | ||
| [2010/01/29 01:50:00] <mqr> So your dpkg bug is od | ||
| [2010/01/29 01:50:00] <mqr> d | ||
| [2010/01/29 01:51:50] <jamesturnbull> yep | ||
| [2010/01/29 01:52:02] <jamesturnbull> Iam good at those - odd bugs | ||
| [2010/01/29 01:53:04] <mqr> The all seem to be related, in that it's not getting the results from the mock, but rather from...what? | ||
| [2010/01/29 01:55:13] <mqr> What if you run the spec directly ("spec spec/unit/provider/package/dpkg.rb")? | ||
| [2010/01/29 01:56:03] <mqr> jamesturnbull? | ||
| [2010/01/29 01:58:15] <jamesturnbull> mqr: same failures | ||
| [2010/01/29 01:58:25] <mqr> *sigh* | ||
| [2010/01/29 01:59:01] <mqr> Are you sure _you_ aren't running mixed versions? :) | ||
| [2010/01/29 01:59:40] <jamesturnbull> mqr: okay let's check | ||
| [2010/01/29 02:00:15] <jamesturnbull> pot keetle black | ||
| [2010/01/29 02:00:26] <jamesturnbull> dog our tests are fragile | ||
| [2010/01/29 02:01:08] <jamesturnbull> at the very least we need to protect them from looking at the locally installed Puppet | ||
| [2010/01/29 02:01:22] <mqr> So was that it? | ||
| [2010/01/29 02:02:07] <mqr> And yes, we do. Jesse and I are trying to come up with a way to do that reliably. | ||
| [2010/01/29 02:04:31] <jamesturnbull> *sighs* | ||
| [2010/01/29 02:04:47] <jamesturnbull> okay back to same three tests I already have failing | ||
| [2010/01/29 02:05:42] <jamesturnbull> okay back to releasing | ||
| [2010/01/29 02:05:52] <mqr> I was just about to ask that. | ||
| [2010/01/29 02:06:05] <jamesturnbull> okay with you? | ||
| [2010/01/29 02:06:26] @ github joined channel #puppet-dev | ||
| [2010/01/29 02:06:26] <github> puppet: James Turnbull 0.25.x SHA1-c5eef04 | ||
| [2010/01/29 02:06:26] <github> Updated CHANGELOG for 0.25.4 | ||
| [2010/01/29 02:06:27] <github> http://bit.ly/bighwO | ||
| [2010/01/29 02:06:29] @ github left channel #puppet-dev () | ||
| [2010/01/29 02:06:32] <mqr> Yep. | ||
| [2010/01/29 02:06:39] <mqr> Fire at will. | ||
| [2010/01/29 02:19:23] <jamesturnbull> I've updated a bit - will do rest of release when home | ||
| [2010/01/29 05:26:42] <duritong> masterzen: thanks for the final nginx serving stuff :) | ||
| [2010/01/29 05:34:42] <masterzen> duritong: you're welcome. I wanted to link to you in the article, but couldn't find either your website or blog if you have one. | ||
| [2010/01/29 05:55:42] <duritong> masterzen: oh thanks! I didn't yet have time to setup one, but you can link identica/twitter if you like to | ||
| [2010/01/29 05:57:46] <masterzen> duritong: yes, will do, thanks | ||
| [2010/01/29 07:50:24] <Volcane> notice: //puppet::client::cron/Cron[runpuppet]/ensure: created | ||
| [2010/01/29 07:50:30] <Volcane> its the little things that make me happy | ||
| [2010/01/29 07:50:35] <Volcane> wooh for 0.25.4 | ||
| [2010/01/29 07:56:33] <jamesturnbull> Volcane: dog I hope it all works | ||
| [2010/01/29 07:56:57] <jamesturnbull> it was a long long long haul to get this stable | ||
| [2010/01/29 07:58:26] <Volcane> % mc-puppetd -W country="/uk|za/" runonce | ||
| [2010/01/29 07:58:28] <Volcane> lets see :) | ||
| [2010/01/29 07:58:42] <Volcane> already upgraded my us machines to it those seem ok | ||
| [2010/01/29 08:08:31] <Volcane> k, 40ish hosts so far says its fine | ||
| [2010/01/29 08:11:05] <jamesturnbull> Volcane: excellent | ||
| [2010/01/29 08:11:09] <jamesturnbull> Volcane: that's really good news | ||
| [2010/01/29 08:13:51] <ohadlevy> maybe its time to let 0.25.4 on production :) | ||
| [2010/01/29 08:20:42] <duritong> "Puppet doesn't update configurations in a synchronous way" <- I don't get the point | ||
| [2010/01/29 08:23:51] <Volcane> think it means top down in order written? not sure, where's this? | ||
| [2010/01/29 08:24:05] <duritong> -dev list "Help for a pacht" | ||
| [2010/01/29 08:24:09] <duritong> patch | ||
| [2010/01/29 08:24:18] <Volcane> oh, not been following that one | ||
| [2010/01/29 08:40:16] <Volcane> kewl, thats all my own machines upgraded without a hitch | ||
| [2010/01/29 08:40:48] * duritong need to do it as well | ||
| [2010/01/29 09:15:14] @ notbrien joined channel #puppet-dev | ||
| [2010/01/29 10:31:15] @ nigelk joined channel #puppet-dev | ||
| [2010/01/29 10:49:13] @ Quit: nigelk: | ||
| [2010/01/29 10:57:04] @ stevenjenkins joined channel #puppet-dev | ||
| [2010/01/29 11:29:53] @ nigelk joined channel #puppet-dev | ||
| [2010/01/29 11:51:16] <nigelk> hrm. looks to me like the 0.25.4 tag is applied to the commit before the CHANGELOG update? | ||
| [2010/01/29 12:33:35] @ Quit: nasrat: "stuff" | ||
| [2010/01/29 13:37:32] @ lak joined channel #puppet-dev | ||
| [2010/01/29 13:37:45] @ lak left channel #puppet-dev () | ||
| [2010/01/29 14:35:31] @ jes5 joined channel #puppet-dev | ||
| [2010/01/29 15:32:19] <rocket> mqr: I am at a loss on this rspec thing .. :/ | ||
| [2010/01/29 15:32:39] <rocket> mqr: is there any additional info you would need from me to try and troubleshoot it? | ||
| [2010/01/29 15:34:20] <mqr> rocket: not sure off the top of my head. I'll have to look at it again... | ||
| [2010/01/29 15:35:43] <mqr> I think the biggest thing would be the code you are testing. I'm on my way to lunch, but if you pass that allong I'll take a look at it after. | ||
| [2010/01/29 15:43:39] <rocket> sure thing | ||
| [2010/01/29 15:48:19] <rocket> http://pastebin.com/m2a09faef | ||
| [2010/01/29 15:49:03] <rocket> mqr: I have pasted the new type and provider I have been working on | ||
| [2010/01/29 15:49:51] <rocket> mqr: this is an attempt to build a repository type that uses the zypper repository manager on suse/opensuse which controls which servers fixes/patches etc are pulled from | ||
| [2010/01/29 15:51:03] <rocket> the code seems to work for me .. eg I have a repo{ } type in a sample .pp file and it has done everything I need it to .. adjust settings, add or remove repositories etc .. | ||
| [2010/01/29 15:51:56] <rocket> this is the spec file I was attempting to use again http://pastebin.com/m2833bd30 | ||
| [2010/01/29 16:23:50] @ Quit: jes5: "Leaving." | ||
| [2010/01/29 16:40:32] @ Quit: notbrien: Read error: 110 (Connection timed out) | ||
| [2010/01/29 17:22:52] @ github joined channel #puppet-dev | ||
| [2010/01/29 17:22:52] <github> puppet: refs/tags/0.25.4 James Turnbull * c5eef04 (1 files in 1 dirs): Updated CHANGELOG for 0.25.4 - http://bit.ly/bighwO | ||
| [2010/01/29 17:22:52] @ github left channel #puppet-dev () | ||
| [2010/01/29 17:37:22] @ github joined channel #puppet-dev | ||
| [2010/01/29 17:37:22] <github> puppet: 0.25.x Markus Roberts * 1f086c2 (1 files in 1 dirs): Fix for #3114 (ruby's arbitrary limit on process groups too low) ... | ||
| [2010/01/29 17:37:23] <gepetto> github: puppet: #3114 is http://projects.reductivelabs.com/issues/show/3114 "Puppet - Bug #3114: Puppet crashes after run - ReductiveLabs.com" | ||
| [2010/01/29 17:37:23] <github> puppet: 0.25.x Markus Roberts * 49a7185 (1 files in 1 dirs): Fix for #3085 (user_role_add pulls from same source as useradd) | ||
| [2010/01/29 17:37:24] <gepetto> github: puppet: #3085 is http://projects.reductivelabs.com/issues/show/3085 "Puppet - Bug #3085: rsources type generates warnings for multiple providers of the managed type - ReductiveLabs.com" | ||
| [2010/01/29 17:37:25] <github> puppet: 0.25.x Markus Roberts * 10becce (5 files in 4 dirs): Fix for #3077 (unit tests broken in 0.25.1-->0.25.4) ... | ||
| [2010/01/29 17:37:25] <gepetto> github: puppet: #3077 is http://projects.reductivelabs.com/issues/show/3077 "Puppet - Bug #3077: Some of the unit tests in the test (not spec) directory were broken by changes in 0.25.1 --> 0.25.4 - ReductiveLabs.com" | ||
| [2010/01/29 17:37:28] <github> puppet: 0.25.x Markus Roberts * 9419c2b (1 files in 1 dirs): Fix for #3035 (redhat services use init for source) ... | ||
| [2010/01/29 17:37:28] <gepetto> github: puppet: #3035 is http://projects.reductivelabs.com/issues/show/3035 "Puppet - Bug #3035: ralsh service spews lots of warning on redhat - ReductiveLabs.com" | ||
| [2010/01/29 17:37:31] <github> puppet: 0.25.x Jesse Wolfe * b473264 (8 files in 8 dirs): Fix #1842 Net::HTTP#enable_post_connection_check doesn't work anymore ... | ||
| [2010/01/29 17:37:31] <gepetto> github: puppet: #1842 is http://projects.reductivelabs.com/issues/show/1842 "Puppet - Bug #1842: Net::HTTP#enable_post_connection_check doesn't work anymore - ReductiveLabs.com" | ||
| [2010/01/29 17:37:34] <github> puppet: 0.25.x Markus Roberts * f9e05a8 (2 files in 2 dirs): Fix for #3094 (libdir should take ":" delimited path) ... | ||
| [2010/01/29 17:37:35] <gepetto> github: puppet: #3094 is http://projects.reductivelabs.com/issues/show/3094 "Puppet - Bug #3094: Trying to specify multiple libdir values fails - ReductiveLabs.com" | ||
| [2010/01/29 17:37:37] <github> puppet: 0.25.x commits c5eef04...f9e05a8 - http://bit.ly/bEtC3z | ||
| [2010/01/29 17:37:39] @ github left channel #puppet-dev () | ||
| [2010/01/29 17:40:40] <jamesturnbull> mqr: ping - if you get a chance could you please merge tag 0.25.4 to master ... some conflicts I am nervous about resolving :) | ||
| [2010/01/29 18:11:58] @ Quit: Chiku|dc: "Quitte" | ||
| [2010/01/29 18:17:16] @ mqr_ joined channel #puppet-dev | ||
| [2010/01/29 18:30:17] <mqr_> jamesturnbull: yes, but not right away. | ||
| [2010/01/29 18:34:14] @ Quit: mqr: Read error: 110 (Connection timed out) | ||
| [2010/01/29 18:45:45] <jamesturnbull> mqr_: no rush | ||
| [2010/01/29 19:10:50] @ github joined channel #puppet-dev | ||
| [2010/01/29 19:10:50] <github> puppet: 0.25.x Todd Zullinger * b3c363c (1 files in 1 dirs): vim: puppetDefArguments is contained by puppetDefine ... | ||
| [2010/01/29 19:10:50] <github> puppet: 0.25.x Todd Zullinger * b7b7a1c (1 files in 1 dirs): vim: Improve function matching when functions contain ')' ... | ||
| [2010/01/29 19:10:53] <github> puppet: 0.25.x James Turnbull * 55f6239 (2 files in 2 dirs): Minor unit test fixes | ||
| [2010/01/29 19:10:55] <github> puppet: 0.25.x commits f9e05a8...55f6239 - http://bit.ly/9gAnNL | ||
| [2010/01/29 19:10:57] @ github left channel #puppet-dev () | ||
| [2010/01/29 19:17:18] <jamesturnbull> mqr_: I missed your ticket for those unit test failures and ended up replicating a chunk of your fixes | ||
| [2010/01/29 19:17:48] <jamesturnbull> mqr_: I've since merged yours and one commit of mine that fixed 10 odd additional errors | ||
| [2010/01/29 19:18:00] <jamesturnbull> mqr_: unit tests looking much healthier as a result | ||
| [2010/01/29 19:20:49] <mqr_> jamesturnbull: not sure which you mean, but I'm not bothered if you're not, as long as we're moving in the right direction. | ||
| [2010/01/29 19:23:42] @ Quit: ppickfor: "Leaving." | ||
| [2010/01/29 19:29:44] @ ppickfor joined channel #puppet-dev | ||
| [2010/01/29 20:10:21] <jamesturnbull> mqr_: I fixed some of the same unit test failures you did | ||
| [2010/01/29 20:10:31] <jamesturnbull> mqr_: your fix was better | ||
| [2010/01/29 20:14:09] <mqr_> jamesturnbull: BTW, jesse and I had a question about your process (we're looking for ways to avoid getting merge commits in the history with the testing branch). | ||
| [2010/01/29 20:14:42] <mqr_> When you merge into 0.25.x or whatever, what's your process? Do you rebase? | ||
| [2010/01/29 20:15:01] <jamesturnbull> mqr_: my process is git chekcout -b branch remote/branch | ||
| [2010/01/29 20:15:12] <mqr_> ok | ||
| [2010/01/29 20:15:16] <jamesturnbull> mqr_: then git rebase 0.25.x - fix any conflicts, squash etc | ||
| [2010/01/29 20:15:27] <mqr_> yep. | ||
| [2010/01/29 20:15:32] <jamesturnbull> mqr_: git checkout 0.25.x, git mereg branch, git merge -d branch, etc | ||
| [2010/01/29 20:15:44] <mqr_> You squash the conflict resolution? | ||
| [2010/01/29 20:15:45] <jamesturnbull> sorry last is git branch -d branch | ||
| [2010/01/29 20:15:56] <mqr_> Yeah, I figured. | ||
| [2010/01/29 20:15:58] <jamesturnbull> mqr_: no no - sometimes people have multiple commits that don't mqke sense | ||
| [2010/01/29 20:16:16] <jamesturnbull> so I squash them - like six commits to fix a doco error in three places | ||
| [2010/01/29 20:16:30] <mqr_> So do you leave the conflict resolution out there as a trailing commit, or? | ||
| [2010/01/29 20:17:16] <jamesturnbull> not if I am rebasing | ||
| [2010/01/29 20:17:23] <jamesturnbull> git rebase 0.25.x | ||
| [2010/01/29 20:17:24] <jamesturnbull> conflict | ||
| [2010/01/29 20:17:26] <jamesturnbull> fix conflict | ||
| [2010/01/29 20:17:31] <jamesturnbull> git add conflicted_file | ||
| [2010/01/29 20:17:37] <jamesturnbull> git rebase --continue | ||
| [2010/01/29 20:17:43] <jamesturnbull> then no trace of the conflict | ||
| [2010/01/29 20:17:57] <mqr_> Interesting. | ||
| [2010/01/29 20:18:14] <mqr_> So there are potentially changes that don't show up on any commit? | ||
| [2010/01/29 20:18:36] <jamesturnbull> no no | ||
| [2010/01/29 20:18:38] <jamesturnbull> you don | ||
| [2010/01/29 20:18:45] <jamesturnbull> t get a conflict merge commit | ||
| [2010/01/29 20:18:45] <mqr_> Or does it squash them for you (I may need to test this). | ||
| [2010/01/29 20:18:53] <jamesturnbull> you still see any changes to the code | ||
| [2010/01/29 20:18:57] <jamesturnbull> just not an extra commit | ||
| [2010/01/29 20:19:30] <mqr_> So it squashes the changes onto the rebased version of the commit which caused the conflict? | ||
| [2010/01/29 20:19:37] <mqr_> That makes sense. | ||
| [2010/01/29 20:19:43] <jamesturnbull> yep | ||
| [2010/01/29 20:19:50] <jamesturnbull> it's one of the reasons I like git so much | ||
| [2010/01/29 20:20:26] <jamesturnbull> the only time we decided we'd like "merge" commits is when merging from one branch to another | ||
| [2010/01/29 20:20:32] <jamesturnbull> at least that is what Luke and I agreed | ||
| [2010/01/29 20:20:43] <mqr_> We were considering a process (for testing) where we'd: | ||
| [2010/01/29 20:21:00] <jamesturnbull> that shows you've made a conscious choice to merge into another branch | ||
| [2010/01/29 20:21:01] <mqr_> 1) set up a copy of the branch to be merged | ||
| [2010/01/29 20:21:18] <mqr_> 2) rebase it onto the testing | ||
| [2010/01/29 20:21:58] <mqr_> 3) if it works (cleanly or fixable) delete the testing branch and rename this one as testing | ||
| [2010/01/29 20:22:18] <mqr_> otherwise delete the failed rebase branch. | ||
| [2010/01/29 20:23:10] <mqr_> I believe this is isomorphic with yours (just rename instead of back-rebase) | ||
| [2010/01/29 20:23:53] <mqr_> The second rebase in your method always goes cleanly, correct? | ||
| [2010/01/29 20:24:17] <mqr_> 'cause at that point it's just a fast forward. | ||
| [2010/01/29 20:25:11] <jamesturnbull> mqr_: what 2nd rebase? | ||
| [2010/01/29 20:25:28] <jamesturnbull> mqr_: I only rebase once - against the branch I am going to merge into | ||
| [2010/01/29 20:25:43] <mqr_> Ah, it's a merge, sorry. | ||
| [2010/01/29 20:26:02] <jamesturnbull> yeah it should just be an ff | ||
| [2010/01/29 20:26:09] <mqr_> The "git checkout 0.25.x/git merge rebasedbranch" | ||
| [2010/01/29 20:26:19] <jamesturnbull> yep | ||
| [2010/01/29 20:26:27] <mqr_> So that should be the same as a rename, right? | ||
| [2010/01/29 20:26:36] <jamesturnbull> yes... | ||
| [2010/01/29 20:27:40] <jamesturnbull> seems reasonable | ||
| [2010/01/29 20:28:22] <jamesturnbull> hmmm something is niggling though | ||
| [2010/01/29 20:30:04] <jamesturnbull> let me work through the commands - git co localbranch remote/branchtobemerged, git rebase testing, git branch -d testing, git branch -m branchtobemerged testing | ||
| [2010/01/29 20:31:02] <jamesturnbull> if the rebase fails do you fix it or fail? | ||
| [2010/01/29 20:32:45] @ Quit: nigelk: | ||
| [2010/01/29 21:46:13] <mqr_> jamesturnbull: sorry, I went off line for a tad. Had some roast pork calling me. | ||
| [2010/01/29 21:47:36] <mqr_> Our idea was to have a set of patches associated with each branch to resolve known conflicts (since we're going to be doing this again and again). | ||
| [2010/01/29 21:48:30] <mqr_> If it succeeds, or if the patches resolve it and we can continue, then it's fixed and becomes the new testing. | ||
| [2010/01/29 21:49:48] <mqr_> Otherwise, we call it a failure, note the conflicts (so resolutions can be added to the bag of tricks) and that branch fails to merge this time (testing remains testing and the bolloxed localbranch is deleted). | ||
| [2010/01/29 21:50:39] @ Quit: fsweetser: calvino.freenode.net irc.freenode.net | ||
| [2010/01/29 21:50:42] @ Quit: ch: calvino.freenode.net irc.freenode.net | ||
| [2010/01/29 21:50:46] @ zeha joined channel #puppet-dev | ||
| [2010/01/29 21:50:47] @ fsweetser joined channel #puppet-dev | ||
| [2010/01/29 22:35:11] <tmz> mqr_: You may well be able to use git rerere to help with the task of remembering conflict resolutions: | ||
| [2010/01/29 22:35:14] <tmz> http://kernel.org/pub/software/scm/git-core/docs/git-rerere.html | ||
| [2010/01/29 22:36:06] * tmz has not had a need to use it personally, but knows that Junio makes use of it developing git itself. |
Generated by irclog2html.py 2.6 by Marius Gedminas - find it at mg.pov.lt!