diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-25 01:57:46 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-25 01:57:46 +0100 |
| commit | 87106c1e85af6f8badcfa08c41442f01fa9f5b8e (patch) | |
| tree | 14c9a162dcafd47a1c64ff6ecdca0410f442a7a7 | |
| parent | 62f1563a6c3108747a9b950e784f1419aebdf253 (diff) | |
| download | perlweeklychallenge-club-87106c1e85af6f8badcfa08c41442f01fa9f5b8e.tar.gz perlweeklychallenge-club-87106c1e85af6f8badcfa08c41442f01fa9f5b8e.tar.bz2 perlweeklychallenge-club-87106c1e85af6f8badcfa08c41442f01fa9f5b8e.zip | |
- Added solutions by Arne Sommer.
25 files changed, 1823 insertions, 1324 deletions
diff --git a/challenge-070/arne-sommer/blog.txt b/challenge-070/arne-sommer/blog.txt new file mode 100644 index 0000000000..2058e9e780 --- /dev/null +++ b/challenge-070/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/gray-swapping.html diff --git a/challenge-070/arne-sommer/node/ch-2.js b/challenge-070/arne-sommer/node/ch-2.js new file mode 100755 index 0000000000..c3e831c06f --- /dev/null +++ b/challenge-070/arne-sommer/node/ch-2.js @@ -0,0 +1,62 @@ +#! /usr/bin/env node + +var N = process.argv[2] || 3; + +var verbose = false; + +if (N == '--verbose') +{ + verbose = true; + N = process.argv[3] || 3; +} + +let die = (message) => { + console.log(message); + process.kill(process.pid); +}; + +var NN = parseInt(N); + +if (NN != N || NN < 2 || NN > 5) + die('N: Integer 2,3,4,5 only'); + +var sequence = [0,1,3,2]; + +let asBinary = (value, length) => { + var binary = value.toString(2); + + while (binary.length < length) + binary = "0" + binary; + + return binary; +} + +let generate2bgcs = (array, level) => { + var S1a = array.map(x => asBinary(x,level-1) ); + var S2a = S1a.slice(); S2a.reverse(); + var S1 = S1a.map(x => '0' + x); + var S2 = S2a.map(x => '1' + x); + var S3 = S1; for (x of S2) { S3.push(x); } + var out = S3.map( x => parseInt(x, 2) ); + + if (verbose) + { + console.log(': in: ' + array); + console.log(': a) S1 = ' + S1a); + console.log(': b) S2 = ' + S2a); + console.log(': c) S1 = ' + S1); + console.log(': d) S2 = ' + S2); + console.log(': e) S3 = ' + S3); + console.log(': out: ' + out); + } + + return out; +} + +for (level = 3; level <= NN; level++) +{ + sequence = generate2bgcs(sequence, level); +} + +console.log(sequence); + diff --git a/challenge-070/arne-sommer/node/gray-code-seq-node b/challenge-070/arne-sommer/node/gray-code-seq-node new file mode 100755 index 0000000000..c3e831c06f --- /dev/null +++ b/challenge-070/arne-sommer/node/gray-code-seq-node @@ -0,0 +1,62 @@ +#! /usr/bin/env node + +var N = process.argv[2] || 3; + +var verbose = false; + +if (N == '--verbose') +{ + verbose = true; + N = process.argv[3] || 3; +} + +let die = (message) => { + console.log(message); + process.kill(process.pid); +}; + +var NN = parseInt(N); + +if (NN != N || NN < 2 || NN > 5) + die('N: Integer 2,3,4,5 only'); + +var sequence = [0,1,3,2]; + +let asBinary = (value, length) => { + var binary = value.toString(2); + + while (binary.length < length) + binary = "0" + binary; + + return binary; +} + +let generate2bgcs = (array, level) => { + var S1a = array.map(x => asBinary(x,level-1) ); + var S2a = S1a.slice(); S2a.reverse(); + var S1 = S1a.map(x => '0' + x); + var S2 = S2a.map(x => '1' + x); + var S3 = S1; for (x of S2) { S3.push(x); } + var out = S3.map( x => parseInt(x, 2) ); + + if (verbose) + { + console.log(': in: ' + array); + console.log(': a) S1 = ' + S1a); + console.log(': b) S2 = ' + S2a); + console.log(': c) S1 = ' + S1); + console.log(': d) S2 = ' + S2); + console.log(': e) S3 = ' + S3); + console.log(': out: ' + out); + } + + return out; +} + +for (level = 3; level <= NN; level++) +{ + sequence = generate2bgcs(sequence, level); +} + +console.log(sequence); + diff --git a/challenge-070/arne-sommer/perl/ch-1.pl b/challenge-070/arne-sommer/perl/ch-1.pl new file mode 100755 index 0000000000..b28433a0d9 --- /dev/null +++ b/challenge-070/arne-sommer/perl/ch-1.pl @@ -0,0 +1,32 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; + +my $verbose = 0; + +if (@ARGV && $ARGV[0] eq "--verbose") +{ + $verbose = 1; + shift(@ARGV); +} + +my $S = shift(@ARGV) // 'perlandraku'; +my $N = length $S; +my $O = shift(@ARGV) // 4; +my $C = shift(@ARGV) // 3; + +die '$O: Integer >= 1 only' unless int $O == $O; +die '$C: Integer >= 1 only' unless int $C == $C; +die '$C: Must be < $O' unless $C < $O; +die '$C + $O: Must be <= $N' unless $C + $O <= $N; + +for my $index (1 .. $C) +{ + say "swap $index: " . substr($S, $index, 1) . " <-> " . substr($S, $index + $O, 1) . " == $S" if $verbose; + + (substr($S, $index,1), substr($S, $index + $O,1) ) = + (substr($S, $index + $O, 1), substr($S, $index, 1)); +} + +say $S; diff --git a/challenge-070/arne-sommer/perl/ch-2.pl b/challenge-070/arne-sommer/perl/ch-2.pl new file mode 100755 index 0000000000..62ed872faa --- /dev/null +++ b/challenge-070/arne-sommer/perl/ch-2.pl @@ -0,0 +1,48 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; +use feature 'signatures'; +no warnings 'experimental::signatures'; + +my $verbose = 0; + +if (@ARGV && $ARGV[0] eq "--verbose") +{ + $verbose = 1; + shift(@ARGV); +} + +my $N = shift(@ARGV) // 3; + +die '$N out of range (2..5)' unless 2 <= $N && $N <=5; + +my @sequence = (0,1,3,2); + +for my $level (3 .. $N) +{ + @sequence = generate2bgcs($level, $verbose, @sequence); +} + +say "[" . join(", ", @sequence) . "]"; + +sub generate2bgcs ($level, $verbose, @in) +{ + my @S1a = map { sprintf('%0' . ($level-1) . 'b', $_) } @in; + my @S2a = reverse @S1a; + my @S1 = map { "0$_" } @S1a; + my @S2 = map { "1$_" } @S2a; + my @S3 = (@S1, @S2); + my @out = map { oct("0b$_") } @S3; + + if ($verbose) + { + say ": a) S1 = [" . join(", ", @S1a) ."]"; + say ": b) S2 = [" . join(", ", @S2a) ."]"; + say ": c) S1 = [" . join(", ", @S1) ."]"; + say ": b) S2 = [" . join(", ", @S2) ."]"; + say ": e) S3 = [" . join(", ", @S3) ."]"; + say ": \$N=$level = [" . join(", ", @out) . "]"; + } + return @out; +} diff --git a/challenge-070/arne-sommer/perl/charswap-perl b/challenge-070/arne-sommer/perl/charswap-perl new file mode 100755 index 0000000000..b28433a0d9 --- /dev/null +++ b/challenge-070/arne-sommer/perl/charswap-perl @@ -0,0 +1,32 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; + +my $verbose = 0; + +if (@ARGV && $ARGV[0] eq "--verbose") +{ + $verbose = 1; + shift(@ARGV); +} + +my $S = shift(@ARGV) // 'perlandraku'; +my $N = length $S; +my $O = shift(@ARGV) // 4; +my $C = shift(@ARGV) // 3; + +die '$O: Integer >= 1 only' unless int $O == $O; +die '$C: Integer >= 1 only' unless int $C == $C; +die '$C: Must be < $O' unless $C < $O; +die '$C + $O: Must be <= $N' unless $C + $O <= $N; + +for my $index (1 .. $C) +{ + say "swap $index: " . substr($S, $index, 1) . " <-> " . substr($S, $index + $O, 1) . " == $S" if $verbose; + + (substr($S, $index,1), substr($S, $index + $O,1) ) = + (substr($S, $index + $O, 1), substr($S, $index, 1)); +} + +say $S; diff --git a/challenge-070/arne-sommer/perl/gray-code-seq-perl b/challenge-070/arne-sommer/perl/gray-code-seq-perl new file mode 100755 index 0000000000..62ed872faa --- /dev/null +++ b/challenge-070/arne-sommer/perl/gray-code-seq-perl @@ -0,0 +1,48 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; +use feature 'signatures'; +no warnings 'experimental::signatures'; + +my $verbose = 0; + +if (@ARGV && $ARGV[0] eq "--verbose") +{ + $verbose = 1; + shift(@ARGV); +} + +my $N = shift(@ARGV) // 3; + +die '$N out of range (2..5)' unless 2 <= $N && $N <=5; + +my @sequence = (0,1,3,2); + +for my $level (3 .. $N) +{ + @sequence = generate2bgcs($level, $verbose, @sequence); +} + +say "[" . join(", ", @sequence) . "]"; + +sub generate2bgcs ($level, $verbose, @in) +{ + my @S1a = map { sprintf('%0' . ($level-1) . 'b', $_) } @in; + my @S2a = reverse @S1a; + my @S1 = map { "0$_" } @S1a; + my @S2 = map { "1$_" } @S2a; + my @S3 = (@S1, @S2); + my @out = map { oct("0b$_") } @S3; + + if ($verbose) + { + say ": a) S1 = [" . join(", ", @S1a) ."]"; + say ": b) S2 = [" . join(", ", @S2a) ."]"; + say ": c) S1 = [" . join(", ", @S1) ."]"; + say ": b) S2 = [" . join(", ", @S2) ."]"; + say ": e) S3 = [" . join(", ", @S3) ."]"; + say ": \$N=$level = [" . join(", ", @out) . "]"; + } + return @out; +} diff --git a/challenge-070/arne-sommer/raku/ch-1.raku b/challenge-070/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..459d0da9af --- /dev/null +++ b/challenge-070/arne-sommer/raku/ch-1.raku @@ -0,0 +1,18 @@ +#! /usr/bin/env raku + +subset PosInt of Int where * >= 1; + +unit sub MAIN (:$S is copy = 'perlandraku', + PosInt :$O = 4, + PosInt :$C where $C < $O && $C + $O <= $S.chars = 3, + :$v, :$verbose = $v); + +for 1 .. $C -> $index +{ + say "swap $index: { $S.substr($index, 1) } <-> { $S.substr($index + $O, 1) } == $S" if $verbose; + + ($S.substr-rw($index,1), $S.substr-rw($index + $O,1) ) = + ($S.substr($index + $O, 1), $S.substr($index, 1)); +} + +say $S; diff --git a/challenge-070/arne-sommer/raku/ch-2.raku b/challenge-070/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..24b72afae0 --- /dev/null +++ b/challenge-070/arne-sommer/raku/ch-2.raku @@ -0,0 +1,34 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $N where 2 <= $N <=5 = 3, + :$v, :$verbose = $v); + +my @sequence = (0,1,3,2); + +for 3 .. $N -> $level +{ + @sequence = generate2bgcs(@sequence, $level, $verbose); +} + +say "[{ @sequence.join(", ") }]"; + +sub generate2bgcs (@in, $level, $verbose) +{ + my @S1a = @in.map({ .fmt('%0' ~ ($level-1) ~ 'b') }); + my @S2a = @S1a.reverse; + my @S1 = @S1a.map({ "0$_" }); + my @S2 = @S2a.map({ "1$_" }); + my @S3 = (@S1, @S2).flat; + my @out = @S3.map( *.parse-base(2) ); + + if $verbose + { + say ": a) S1 = [{ @S1a.join(", ") }]"; + say ": b) S2 = [{ @S2a.join(", ") }]"; + say ": c) S1 = [{ @S1.join(", ") }]"; + say ": b) S2 = [{ @S2.join(", ") }]"; + say ": e) S3 = [{ @S3.join(", ") }]"; + say ": \$N=$level = [{ @out.join(", ") }]"; + } + return @out; +} diff --git a/challenge-070/arne-sommer/raku/charswap b/challenge-070/arne-sommer/raku/charswap new file mode 100755 index 0000000000..459d0da9af --- /dev/null +++ b/challenge-070/arne-sommer/raku/charswap @@ -0,0 +1,18 @@ +#! /usr/bin/env raku + +subset PosInt of Int where * >= 1; + +unit sub MAIN (:$S is copy = 'perlandraku', + PosInt :$O = 4, + PosInt :$C where $C < $O && $C + $O <= $S.chars = 3, + :$v, :$verbose = $v); + +for 1 .. $C -> $index +{ + say "swap $index: { $S.substr($index, 1) } <-> { $S.substr($index + $O, 1) } == $S" if $verbose; + + ($S.substr-rw($index,1), $S.substr-rw($index + $O,1) ) = + ($S.substr($index + $O, 1), $S.substr($index, 1)); +} + +say $S; diff --git a/challenge-070/arne-sommer/raku/charswap-mod b/challenge-070/arne-sommer/raku/charswap-mod new file mode 100755 index 0000000000..05f090bcae --- /dev/null +++ b/challenge-070/arne-sommer/raku/charswap-mod @@ -0,0 +1,25 @@ +#! /usr/bin/env raku + +subset PosInt of Int where * >= 1; + +unit sub MAIN (:$S = 'perlandraku', + PosInt :$O = 4, + PosInt :$C where $C < $O && $C + $O <= $S.chars = 3, + :$v, :$verbose = $v); + +my @S = $S.comb; +my $N = $S.chars; + +for 1 .. $C -> $index +{ + say "swap $index: { @S[$index % $N] } <-> { @S[ ($index + $O) % $N ] } == { @S.join }" if $verbose; + + swap(@S[$index % $N], @S[ ($index + $O) % $N ]); +} + +say @S.join; + +sub swap ($a is rw, $b is rw) +{ + ($a, $b) = ($b, $a); +} diff --git a/challenge-070/arne-sommer/raku/charswap-node b/challenge-070/arne-sommer/raku/charswap-node new file mode 100755 index 0000000000..f7768133fc --- /dev/null +++ b/challenge-070/arne-sommer/raku/charswap-node @@ -0,0 +1,38 @@ +#! /usr/bin/env node + +var S = process.argv[2] || 'perlandraku'; +var N = S.length; +var O = process.argv[3] || 4; +var C = process.argv[4] || 3; + +let die = (message) => { + console.log(message); + process.kill(process.pid); +}; + +var OO = parseInt(O); + +if (OO != O || O < 1) + die('O: Integer >= 1 only'); + +var CC = parseInt(C); + +if (CC != C || C < 1) + die('C: Integer >= 1 only'); + +if (C >= O) + die('C: Must be < O'); + +if (CC + OO > N) + die('C + O: Must be <= N'); + +for (index = 1; index <= CC; index++) +{ + S = S.slice(0, index) + + S.charAt(index + OO) + + S.slice(index +1, index + OO) + + S.charAt(index) + + S.slice(index + OO +1); +} + +console.log(S); diff --git a/challenge-070/arne-sommer/raku/charswap-sans-mod b/challenge-070/arne-sommer/raku/charswap-sans-mod new file mode 100755 index 0000000000..899fe610bc --- /dev/null +++ b/challenge-070/arne-sommer/raku/charswap-sans-mod @@ -0,0 +1,24 @@ +#! /usr/bin/env raku + +subset PosInt of Int where * >= 1; + +unit sub MAIN (:$S = 'perlandraku', + PosInt :$O = 4, + PosInt :$C where $C < $O && $C + $O <= $S.chars = 3, + :$v, :$verbose = $v); + +my @S = $S.comb; + +for 1 .. $C -> $index +{ + say "swap $index: { @S[$index] } <-> { @S[$index + $O] } == { @S.join }" if $verbose; + + swap(@S[$index], @S[$index + $O]); +} + +say @S.join; + +sub swap ($a is rw, $b is rw) +{ + ($a, $b) = ($b, $a); +} diff --git a/challenge-070/arne-sommer/raku/gray-code-seq b/challenge-070/arne-sommer/raku/gray-code-seq new file mode 100755 index 0000000000..24b72afae0 --- /dev/null +++ b/challenge-070/arne-sommer/raku/gray-code-seq @@ -0,0 +1,34 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $N where 2 <= $N <=5 = 3, + :$v, :$verbose = $v); + +my @sequence = (0,1,3,2); + +for 3 .. $N -> $level +{ + @sequence = generate2bgcs(@sequence, $level, $verbose); +} + +say "[{ @sequence.join(", ") }]"; + +sub generate2bgcs (@in, $level, $verbose) +{ + my @S1a = @in.map({ .fmt('%0' ~ ($level-1) ~ 'b') }); + my @S2a = @S1a.reverse; + my @S1 = @S1a.map({ "0$_" }); + my @S2 = @S2a.map({ "1$_" }); + my @S3 = (@S1, @S2).flat; + my @out = @S3.map( *.parse-base(2) ); + + if $verbose + { + say ": a) S1 = [{ @S1a.join(", ") }]"; + say ": b) S2 = [{ @S2a.join(", ") }]"; + say ": c) S1 = [{ @S1.join(", ") }]"; + say ": b) S2 = [{ @S2.join(", ") }]"; + say ": e) S3 = [{ @S3.join(", ") }]"; + say ": \$N=$level = [{ @out.join(", ") }]"; + } + return @out; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 0abf270aaa..e7cb24a406 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,30 +1,125 @@ { - "title" : { - "text" : "Perl Weekly Challenge - 070" - }, "tooltip" : { - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", "followPointer" : 1, - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" }, "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { "enabled" : 1, "format" : "{point.y}" - } + }, + "borderWidth" : 0 } }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "chart" : { + "type" : "column" + }, + "series" : [ + { + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 070", + "data" : [ + { + "drilldown" : "Andrew Shitov", + "y" : 4, + "name" : "Andrew Shitov" + }, + { + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", + "y" : 5 + }, + { + "y" : 4, + "name" : "Athanasius", + "drilldown" : "Athanasius" + }, + { + "drilldown" : "Csaba Simandi", + "name" : "Csaba Simandi", + "y" : 1 + }, + { + "y" : 2, + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "drilldown" : "Javier Luque", + "y" : 5, + "name" : "Javier Luque" + }, + { + "y" : 2, + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey" + }, + { + "name" : "Luca Ferrari", + "y" : 4, + "drilldown" : "Luca Ferrari" + }, + { + "name" : "Mark Anderson", + "y" : 2, + "drilldown" : "Mark Anderson" + }, + { + "y" : 4, + "name" : "Mohammad S Anwar", + "drilldown" : "Mohammad S Anwar" + }, + { + "y" : 2, + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke" + }, + { + "drilldown" : "Pete Houston", + "y" : 2, + "name" : "Pete Houston" + }, + { + "y" : 5, + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West" + }, + { + "drilldown" : "Simon Green", + "name" : "Simon Green", + "y" : 3 + }, + { + "y" : 2, + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor" + }, + { + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "y" : 4 + }, + { + "drilldown" : "Walt Mankowski", + "name" : "Walt Mankowski", + "y" : 2 + }, + { + "y" : 2, + "name" : "Wanderdoc", + "drilldown" : "Wanderdoc" + } + ] } + ], + "legend" : { + "enabled" : 0 }, "drilldown" : { "series" : [ { - "name" : "Andrew Shitov", "data" : [ [ "Raku", @@ -35,10 +130,28 @@ 2 ] ], - "id" : "Andrew Shitov" + "id" : "Andrew Shitov", + "name" : "Andrew Shitov" + }, + { + "name" : "Arne Sommer", + "id" : "Arne Sommer", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] }, { - "name" : "Athanasius", "data" : [ [ "Perl", @@ -49,21 +162,22 @@ 2 ] ], - "id" : "Athanasius" + "id" : "Athanasius", + "name" : "Athanasius" }, { + "name" : "Csaba Simandi", "id" : "Csaba Simandi", "data" : [ [ "Perl", 1 ] - ], - "name" : "Csaba Simandi" + ] }, { - "id" : "Dave Jacoby", "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -72,7 +186,6 @@ ] }, { - "name" : "Javier Luque", "data" : [ [ "Perl", @@ -87,20 +200,22 @@ 1 ] ], - "id" : "Javier Luque" + "id" : "Javier Luque", + "name" : "Javier Luque" }, { + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey" + "name" : "Jorg Sommrey" }, { "name" : "Luca Ferrari", + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -110,22 +225,19 @@ "Blog", 2 ] - ], - "id" : "Luca Ferrari" + ] }, { - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], + "id" : "Mark Anderson", "name" : "Mark Anderson" }, { - "id" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -135,30 +247,31 @@ "Raku", 2 ] - ] + ], + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" }, { + "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "name" : "Niels van Dijke", "id" : "Niels van Dijke" }, { - "name" : "Pete Houston", + "id" : "Pete Houston", "data" : [ [ "Perl", 2 ] ], - "id" : "Pete Houston" + "name" : "Pete Houston" }, { - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -173,6 +286,7 @@ 1 ] ], + "id" : "Roger Bell_West", "name" : "Roger Bell_West" }, { @@ -186,20 +300,21 @@ 1 ] ], - "name" : "Simon Green", - "id" : "Simon Green" + "id" : "Simon Green", + "name" : "Simon Green" }, { + "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "name" : "Simon Proctor", "id" : "Simon Proctor" }, { + "name" : "Ulrich Rieke", "id" : "Ulrich Rieke", "data" : [ [ @@ -210,134 +325,42 @@ "Raku", 2 ] - ], - "name" : "Ulrich Rieke" + ] }, { - "id" : "Walt Mankowski", - "name" : "Walt Mankowski", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Walt Mankowski", + "name" : "Walt Mankowski" }, { - "id" : "Wanderdoc", - "name" : "Wanderdoc", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Wanderdoc", + "name" : "Wanderdoc" } ] }, "xAxis" : { "type" : "category" }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 070", - "data" : [ - { - "name" : "Andrew Shitov", - "y" : 4, - "drilldown" : "Andrew Shitov" - }, - { - "y" : 4, - "drilldown" : "Athanasius", - "name" : "Athanasius" - }, - { - "drilldown" : "Csaba Simandi", - "y" : 1, - "name" : "Csaba Simandi" - }, - { - "y" : 2, - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby" - }, - { - "name" : "Javier Luque", - "y" : 5, - "drilldown" : "Javier Luque" - }, - { - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey", - "y" : 2 - }, - { - "name" : "Luca Ferrari", - "y" : 4, - "drilldown" : "Luca Ferrari" - }, - { - "name" : "Mark Anderson", - "y" : 2, - "drilldown" : "Mark Anderson" - }, - { - "drilldown" : "Mohammad S Anwar", - "y" : 4, - "name" : "Mohammad S Anwar" - }, |
