aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-07-25 01:57:46 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-07-25 01:57:46 +0100
commit87106c1e85af6f8badcfa08c41442f01fa9f5b8e (patch)
tree14c9a162dcafd47a1c64ff6ecdca0410f442a7a7
parent62f1563a6c3108747a9b950e784f1419aebdf253 (diff)
downloadperlweeklychallenge-club-87106c1e85af6f8badcfa08c41442f01fa9f5b8e.tar.gz
perlweeklychallenge-club-87106c1e85af6f8badcfa08c41442f01fa9f5b8e.tar.bz2
perlweeklychallenge-club-87106c1e85af6f8badcfa08c41442f01fa9f5b8e.zip
- Added solutions by Arne Sommer.
-rw-r--r--challenge-070/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-070/arne-sommer/node/ch-2.js62
-rwxr-xr-xchallenge-070/arne-sommer/node/gray-code-seq-node62
-rwxr-xr-xchallenge-070/arne-sommer/perl/ch-1.pl32
-rwxr-xr-xchallenge-070/arne-sommer/perl/ch-2.pl48
-rwxr-xr-xchallenge-070/arne-sommer/perl/charswap-perl32
-rwxr-xr-xchallenge-070/arne-sommer/perl/gray-code-seq-perl48
-rwxr-xr-xchallenge-070/arne-sommer/raku/ch-1.raku18
-rwxr-xr-xchallenge-070/arne-sommer/raku/ch-2.raku34
-rwxr-xr-xchallenge-070/arne-sommer/raku/charswap18
-rwxr-xr-xchallenge-070/arne-sommer/raku/charswap-mod25
-rwxr-xr-xchallenge-070/arne-sommer/raku/charswap-node38
-rwxr-xr-xchallenge-070/arne-sommer/raku/charswap-sans-mod24
-rwxr-xr-xchallenge-070/arne-sommer/raku/gray-code-seq34
-rw-r--r--stats/pwc-current.json303
-rw-r--r--stats/pwc-language-breakdown-summary.json66
-rw-r--r--stats/pwc-language-breakdown.json1004
-rw-r--r--stats/pwc-leaders.json386
-rw-r--r--stats/pwc-summary-1-30.json106
-rw-r--r--stats/pwc-summary-121-150.json54
-rw-r--r--stats/pwc-summary-151-180.json60
-rw-r--r--stats/pwc-summary-31-60.json102
-rw-r--r--stats/pwc-summary-61-90.json90
-rw-r--r--stats/pwc-summary-91-120.json98
-rw-r--r--stats/pwc-summary.json402
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"
- },