aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-10-04 01:39:04 +0200
committerAbigail <abigail@abigail.be>2021-10-04 01:39:04 +0200
commitcc1c8cd6a35088d07ac56660c2a6bfe1133f0bdc (patch)
treeb0e68e63b2e24c2dabe18db2c2af871ceed74a5d
parent6402d1999431a5f11531f8af5791aa578ffca308 (diff)
parentbadf80d54dbb9baa4d4c87fd61a541da55176d25 (diff)
downloadperlweeklychallenge-club-cc1c8cd6a35088d07ac56660c2a6bfe1133f0bdc.tar.gz
perlweeklychallenge-club-cc1c8cd6a35088d07ac56660c2a6bfe1133f0bdc.tar.bz2
perlweeklychallenge-club-cc1c8cd6a35088d07ac56660c2a6bfe1133f0bdc.zip
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
-rw-r--r--challenge-132/abigail/blog2.txt1
-rw-r--r--challenge-132/adam-russell/perl/ch-1.pl42
-rw-r--r--challenge-132/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-132/arne-sommer/raku/ch-1.raku26
-rwxr-xr-xchallenge-132/arne-sommer/raku/ch-2.raku28
-rwxr-xr-xchallenge-132/arne-sommer/raku/hash-join77
-rwxr-xr-xchallenge-132/arne-sommer/raku/hash-join-module26
-rwxr-xr-xchallenge-132/arne-sommer/raku/hash-join-module228
-rwxr-xr-xchallenge-132/arne-sommer/raku/hash-join-module339
-rwxr-xr-xchallenge-132/arne-sommer/raku/hash-join-module440
-rwxr-xr-xchallenge-132/arne-sommer/raku/hash-join-sorted72
-rw-r--r--challenge-132/arne-sommer/raku/lib/HashJoin.rakumod146
-rwxr-xr-xchallenge-132/arne-sommer/raku/mirror-dates26
-rw-r--r--stats/pwc-current.json255
-rw-r--r--stats/pwc-language-breakdown-summary.json52
-rw-r--r--stats/pwc-language-breakdown.json1862
-rw-r--r--stats/pwc-leaders.json764
-rw-r--r--stats/pwc-summary-1-30.json118
-rw-r--r--stats/pwc-summary-121-150.json100
-rw-r--r--stats/pwc-summary-151-180.json32
-rw-r--r--stats/pwc-summary-181-210.json114
-rw-r--r--stats/pwc-summary-211-240.json34
-rw-r--r--stats/pwc-summary-241-270.json64
-rw-r--r--stats/pwc-summary-31-60.json100
-rw-r--r--stats/pwc-summary-61-90.json98
-rw-r--r--stats/pwc-summary-91-120.json116
-rw-r--r--stats/pwc-summary.json34
27 files changed, 2448 insertions, 1847 deletions
diff --git a/challenge-132/abigail/blog2.txt b/challenge-132/abigail/blog2.txt
new file mode 100644
index 0000000000..9593e5f199
--- /dev/null
+++ b/challenge-132/abigail/blog2.txt
@@ -0,0 +1 @@
+https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-132-2.html
diff --git a/challenge-132/adam-russell/perl/ch-1.pl b/challenge-132/adam-russell/perl/ch-1.pl
new file mode 100644
index 0000000000..5cf04756a2
--- /dev/null
+++ b/challenge-132/adam-russell/perl/ch-1.pl
@@ -0,0 +1,42 @@
+use strict;
+use warnings;
+##
+# You are given a date (yyyy/mm/dd).
+# Assuming, the given date is your date of birth.
+# Write a script to find the mirror dates of the given date.
+##
+use Time::Piece;
+use Time::Seconds;
+
+sub mirror_dates{
+ my($date_string, $start_date_string) = @_;
+ my $date = Time::Piece->strptime($date_string, q[%Y/%m/%e]);
+ my $today;
+ if($start_date_string){
+ $today = Time::Piece->strptime($start_date_string, q[%Y/%m/%e]);
+ }
+ else{
+ $today = localtime;
+ }
+ my $age = $today - $date;
+ my $past = $date - $age;
+ my $future = $today + $age;
+ return $past->strftime(q[%Y/%m/%d]), $future->strftime(q[%Y/%m/%d]);
+}
+
+MAIN:{
+ my($past, $future);
+ ($past, $future) = mirror_dates("2021/09/18", "2021/09/22");
+ print "$past, $future\n";
+ ($past, $future) = mirror_dates("1975/10/10", "2021/09/22");
+ print "$past, $future\n";
+ ($past, $future) = mirror_dates("1967/02/14", "2021/09/22");
+ print "$past, $future\n";
+
+ ($past, $future) = mirror_dates("2021/09/18");
+ print "$past, $future\n";
+ ($past, $future) = mirror_dates("1975/10/10");
+ print "$past, $future\n";
+ ($past, $future) = mirror_dates("1967/02/14");
+ print "$past, $future\n";
+} \ No newline at end of file
diff --git a/challenge-132/arne-sommer/blog.txt b/challenge-132/arne-sommer/blog.txt
new file mode 100644
index 0000000000..91ef16738c
--- /dev/null
+++ b/challenge-132/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/mirrored-hash.html
diff --git a/challenge-132/arne-sommer/raku/ch-1.raku b/challenge-132/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..1867da0bb3
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,26 @@
+#! /usr/bin/env raku
+
+subset SlashDate where * ~~ /^\d\d\d\d\/\d\d\/\d\d$/;
+
+my $fmt = { sprintf "%04d/%02d/%02d", .year, .month, .day };
+
+unit sub MAIN (SlashDate $date = "2021/09/18",
+ SlashDate :$today = Date.new(DateTime.now, formatter => $fmt).Str,
+ :v($verbose));
+
+my $date-iso = $date.subst("/", "-", :g);
+
+my $earlier = Date.new($date-iso, formatter => $fmt);
+my $now = Date.new($today.subst("/", "-", :g), formatter => $fmt);
+
+die "The date ($earlier) should be earlier than today ($now)" unless $earlier < $now;
+
+my $diff = $now - $earlier;
+
+say ": Today: $now" if $verbose;
+say ": Difference: $diff days" if $verbose;
+
+my $first = $earlier.earlier(day => $diff);
+my $last = $now.later( day => $diff);
+
+say "$first, $last";
diff --git a/challenge-132/arne-sommer/raku/ch-2.raku b/challenge-132/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..6f0e2607d9
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,28 @@
+#! /usr/bin/env raku
+
+use lib "lib";
+use HashJoin;
+
+unit sub MAIN (:v(:$verbose));
+
+my @player_ages = (
+ [20, "Alex" ],
+ [28, "Joe" ],
+ [38, "Mike" ],
+ [18, "Alex" ],
+ [25, "David" ],
+ [18, "Simon" ],
+);
+
+my @player_names = (
+ ["Alex", "Stewart"],
+ ["Joe", "Root" ],
+ ["Mike", "Gatting"],
+ ["Joe", "Blog" ],
+ ["Alex", "Jones" ],
+ ["Simon","Duane" ],
+);
+
+my @joined = HashJoin::merge(@player_ages, 1, @player_names, 0, :$verbose);
+
+HashJoin::print-it(@joined);
diff --git a/challenge-132/arne-sommer/raku/hash-join b/challenge-132/arne-sommer/raku/hash-join
new file mode 100755
index 0000000000..493a6182eb
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/hash-join
@@ -0,0 +1,77 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (:v(:$verbose));
+
+my @player_ages = (
+ [20, "Alex" ],
+ [28, "Joe" ],
+ [38, "Mike" ],
+ [18, "Alex" ],
+ [25, "David" ],
+ [18, "Simon" ],
+);
+
+my @player_names = (
+ ["Alex", "Stewart"],
+ ["Joe", "Root" ],
+ ["Mike", "Gatting"],
+ ["Joe", "Blog" ],
+ ["Alex", "Jones" ],
+ ["Simon","Duane" ],
+);
+
+hash-join(@player_ages, 1, @player_names, 0);
+
+sub hash-join (@table1 is copy, $index1 is copy, @table2 is copy, $index2 is copy)
+{
+ if @table1.elems > @table2.elems
+ {
+ (@table1, @table2) = (@table2, @table1);
+ ($index1, $index2) = ($index2, $index1);
+ }
+
+ my %table1;
+
+ for @table1 -> $row
+ {
+ my @data = @$row;
+ my $id = @data.splice($index1, 1);
+
+ say ": Table 1 Row (add): $id -> { @data.join(", ") }" if $verbose;
+ %table1{$id}.push: @data;
+ }
+
+ my %result;
+
+ for @table2 -> $row
+ {
+ my @data = @$row;
+ my $id = @data.splice($index2, 1);
+ if $verbose
+ {
+ say ": Table 1 Row (scan): $id -> { @(%table1{$id}).join(", ") }";
+ say ": Table 2 Row (scan): $id -> { @data.join(", ") }";
+ }
+
+ for @(%table1{$id}) -> $row
+ {
+ %result{$id}.push: (@$row, @data).flat;
+ say ": Result Table Row: $id -> { @$row.join(", ") } + { @data.join(", ") }" if $verbose;
+ }
+ }
+
+ for %result.keys.sort -> $id
+ {
+ my @rows = @(%result{$id});
+
+ for @rows -> $row
+ {
+ say nicify(|($id, @$row));
+ }
+ }
+}
+
+sub nicify (*@data)
+{
+ return @data.map({ $_ ~~ Numeric ?? $_ !! '"' ~ $_ ~ '"' }).join(", ");
+}
diff --git a/challenge-132/arne-sommer/raku/hash-join-module b/challenge-132/arne-sommer/raku/hash-join-module
new file mode 100755
index 0000000000..c0330df3a9
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/hash-join-module
@@ -0,0 +1,26 @@
+#! /usr/bin/env raku
+
+use lib "lib";
+use HashJoin;
+
+unit sub MAIN (:v(:$verbose));
+
+my @player_ages = (
+ [20, "Alex" ],
+ [28, "Joe" ],
+ [38, "Mike" ],
+ [18, "Alex" ],
+ [25, "David" ],
+ [18, "Simon" ],
+);
+
+my @player_names = (
+ ["Alex", "Stewart"],
+ ["Joe", "Root" ],
+ ["Mike", "Gatting"],
+ ["Joe", "Blog" ],
+ ["Alex", "Jones" ],
+ ["Simon","Duane" ],
+);
+
+HashJoin::hash-join-sorted(@player_ages, 1, @player_names, 0, :$verbose);
diff --git a/challenge-132/arne-sommer/raku/hash-join-module2 b/challenge-132/arne-sommer/raku/hash-join-module2
new file mode 100755
index 0000000000..6f0e2607d9
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/hash-join-module2
@@ -0,0 +1,28 @@
+#! /usr/bin/env raku
+
+use lib "lib";
+use HashJoin;
+
+unit sub MAIN (:v(:$verbose));
+
+my @player_ages = (
+ [20, "Alex" ],
+ [28, "Joe" ],
+ [38, "Mike" ],
+ [18, "Alex" ],
+ [25, "David" ],
+ [18, "Simon" ],
+);
+
+my @player_names = (
+ ["Alex", "Stewart"],
+ ["Joe", "Root" ],
+ ["Mike", "Gatting"],
+ ["Joe", "Blog" ],
+ ["Alex", "Jones" ],
+ ["Simon","Duane" ],
+);
+
+my @joined = HashJoin::merge(@player_ages, 1, @player_names, 0, :$verbose);
+
+HashJoin::print-it(@joined);
diff --git a/challenge-132/arne-sommer/raku/hash-join-module3 b/challenge-132/arne-sommer/raku/hash-join-module3
new file mode 100755
index 0000000000..14293dda61
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/hash-join-module3
@@ -0,0 +1,39 @@
+#! /usr/bin/env raku
+
+use lib "lib";
+use HashJoin;
+
+unit sub MAIN (:v(:$verbose));
+
+my @player_ages = (
+ [20, "Alex", "May", 29 ],
+ [28, "Joe", "August", 2 ],
+ [38, "Mike", "June", 12 ],
+ [18, "Alex", "January", 29 ],
+ [25, "David", "March", 14 ],
+ [18, "Simon", "June", 10 ],
+);
+
+my @player_names = (
+ ["Alex", "Stewart", "Oslo" ],
+ ["Joe", "Root", "Berlin" ],
+ ["Mike", "Gatting", "London" ],
+ ["Joe", "Blog", "Bern" ],
+ ["Alex", "Jones", "Zürich" ],
+ ["Simon","Duane", "Oxford" ],
+);
+
+my @countries = (
+ ["Norway", "Oslo" ],
+ ["Germany", "Berlin" ],
+ ["England", "London" ],
+ ["Switzerland", "Bern" ],
+ ["Switzerland", "Zürich" ],
+ ["England", "Oxford" ],
+);
+
+my @joined = HashJoin::merge(@player_ages, 1, @player_names, 0, :$verbose);
+
+my @joined2 = HashJoin::merge(@joined, 5, @countries, 1);
+
+HashJoin::print-it(@joined2);
diff --git a/challenge-132/arne-sommer/raku/hash-join-module4 b/challenge-132/arne-sommer/raku/hash-join-module4
new file mode 100755
index 0000000000..c13dba2d33
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/hash-join-module4
@@ -0,0 +1,40 @@
+#! /usr/bin/env raku
+
+use lib "lib";
+use HashJoin;
+
+unit sub MAIN (:v(:$verbose));
+
+my @player_ages = (
+ [20, "Alex", "May", 29 ],
+ [28, "Joe", "August", 2 ],
+ [38, "Mike", "June", 12 ],
+ [18, "Alex", "January", 29 ],
+ [25, "David", "March", 14 ],
+ [18, "Simon", "June", 10 ],
+);
+
+my @player_names = (
+ ["Alex", "Stewart", "Oslo" ],
+ ["Joe", "Root", "Berlin" ],
+ ["Mike", "Gatting", "London" ],
+ ["Joe", "Blog", "Bern" ],
+ ["Alex", "Jones", "Zürich" ],
+ ["Simon","Duane", "Birmingham" ],
+);
+
+my @countries = (
+ ["Norway", "Oslo" ],
+ ["Germany", "Berlin" ],
+ ["England", "London" ],
+ ["Switzerland", "Bern" ],
+ ["Switzerland", "Zürich" ],
+ ["England", "Birmingham" ],
+ ["USA", "Birmingham" ],
+);
+
+my @joined = HashJoin::merge(@player_ages, 1, @player_names, 0, :$verbose);
+
+my @joined2 = HashJoin::merge(@joined, 5, @countries, 1);
+
+HashJoin::print-it(@joined2);
diff --git a/challenge-132/arne-sommer/raku/hash-join-sorted b/challenge-132/arne-sommer/raku/hash-join-sorted
new file mode 100755
index 0000000000..b94bfa0555
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/hash-join-sorted
@@ -0,0 +1,72 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (:v(:$verbose));
+
+my @player_ages = (
+ [20, "Alex" ],
+ [28, "Joe" ],
+ [38, "Mike" ],
+ [18, "Alex" ],
+ [25, "David" ],
+ [18, "Simon" ],
+);
+
+my @player_names = (
+ ["Alex", "Stewart"],
+ ["Joe", "Root" ],
+ ["Mike", "Gatting"],
+ ["Joe", "Blog" ],
+ ["Alex", "Jones" ],
+ ["Simon","Duane" ],
+);
+
+hash-join-sorted(@player_ages, 1, @player_names, 0);
+
+sub hash-join-sorted (@table1, $index1, @table2, $index2)
+{
+ my %table1;
+
+ for @table1 -> $row
+ {
+ my @data = @$row;
+ my $id = @data[$index1];
+
+ say ": Table 1 Row (add): $id -> { @data.join(", ") }" if $verbose;
+ %table1{$id}.push: @data;
+ }
+
+ my %result;
+
+ for @table2 -> $row
+ {
+ my @data = @$row;
+ my $id = @data.splice($index2, 1);
+
+ if $verbose
+ {
+ say ": Table 1 Row (scan): $id -> { @(%table1{$id}).join(", ") }";
+ say ": Table 2 Row (scan): $id -> { @data.join(", ") }";
+ }
+
+ for @(%table1{$id}) -> $row
+ {
+ %result{$id}.push: (@$row, @data).flat;
+ say ": Result Table Row: $id -> { @$row.join(", ") } + { @data.join(", ") }" if $verbose;
+ }
+ }
+
+ for %result.keys.sort -> $id
+ {
+ my @rows = @(%result{$id});
+
+ for @rows -> $row
+ {
+ say nicify(@$row);
+ }
+ }
+}
+
+sub nicify (*@data)
+{
+ return @data.map({ $_ ~~ Numeric ?? $_ !! '"' ~ $_ ~ '"' }).join(", ");
+}
diff --git a/challenge-132/arne-sommer/raku/lib/HashJoin.rakumod b/challenge-132/arne-sommer/raku/lib/HashJoin.rakumod
new file mode 100644
index 0000000000..05705b8f5a
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/lib/HashJoin.rakumod
@@ -0,0 +1,146 @@
+unit module HashJoin;
+
+our sub merge (@table1, $index1, @table2, $index2, :$verbose)
+{
+ my %table1;
+ my @ids;
+ my %ids;
+ my %result;
+
+ for @table1 -> $row1
+ {
+ my @data1 = @$row1;
+ my $id1 = @data1[$index1];
+ @ids.push: $id1 unless any(@ids) eq $id1;
+
+ say ": Table 1 Row (scan): $id1 -> { @data1.join(", ") }" if $verbose;
+
+ for @table2 -> $row2
+ {
+ my @data2 = @$row2;
+ my $id2 = @data2.splice($index2, 1);
+ next unless $id1 eq $id2;
+
+ %ids{$id2} = True;
+ %result{$id1}.push: (@data1, @data2).flat;
+
+ say ": Result Table Row: $id1 -> { @data1.join(", ") } + { @data2.join(", ") }" if $verbose;
+ }
+ }
+
+ my @result;
+
+ for @ids -> $id
+ {
+ next unless %ids{$id};
+ @result.append: @(%result{$id});
+ }
+
+ return @result;
+}
+
+our sub hash-join-sorted (@table1, $index1, @table2, $index2, :$verbose)
+{
+ my %table1;
+
+ for @table1 -> $row
+ {
+ my @data = @$row;
+ my $id = @data[$index1];
+
+ say ": Table 1 Row (add): $id -> { @data.join(", ") }" if $verbose;
+ %table1{$id}.push: @data;
+ }
+
+ my %result;
+
+ for @table2 -> $row
+ {
+ my @data = @$row;
+ my $id = @data.splice($index2, 1);
+
+ if $verbose
+ {
+ say ": Table 1 Row (scan): $id -> { @(%table1{$id}).join(", ") }";
+ say ": Table 2 Row (scan): $id -> { @data.join(", ") }";
+ }
+
+ for @(%table1{$id}) -> $row
+ {
+ %result{$id}.push: (@$row, @data).flat;
+ say ": Result Table Row: $id -> { @$row.join(", ") } + { @data.join(", ") }" if $verbose;
+ }
+ }
+
+ for %result.keys.sort -> $id
+ {
+ my @rows = @(%result{$id});
+
+ for @rows -> $row
+ {
+ say nicify(@$row);
+ }
+ }
+}
+
+our sub hash-join (@table1 is copy, $index1 is copy, @table2 is copy, $index2 is copy, :$verbose)
+{
+ if @table1.elems > @table2.elems
+ {
+ (@table1, @table2) = (@table2, @table1);
+ ($index1, $index2) = ($index2, $index1);
+ }
+
+ my %table1;
+
+ for @table1 -> $row
+ {
+ my @data = @$row;
+ my $id = @data.splice($index1, 1);
+
+ say ": Table 1 Row (add): $id -> { @data.join(", ") }" if $verbose;
+ %table1{$id}.push: @data;
+ }
+
+ my %result;
+
+ for @table2 -> $row
+ {
+ my @data = @$row;
+ my $id = @data.splice($index2, 1);
+ if $verbose
+ {
+ say ": Table 1 Row (scan): $id -> { @(%table1{$id}).join(", ") }";
+ say ": Table 2 Row (scan): $id -> { @data.join(", ") }";
+ }
+
+ for @(%table1{$id}) -> $row
+ {
+ %result{$id}.push: (@$row, @data).flat;
+ say ": Result Table Row: $id -> { @$row.join(", ") } + { @data.join(", ") }" if $verbose;
+ }
+ }
+
+ for %result.keys.sort -> $id
+ {
+ my @rows = @(%result{$id});
+
+ for @rows -> $row
+ {
+ say nicify(|($id, @$row));
+ }
+ }
+}
+
+sub nicify (*@data)
+{
+ return @data.map({ $_ ~~ Numeric ?? $_ !! '"' ~ $_ ~ '"' }).join(", ");
+}
+
+our sub print-it(*@data)
+{
+ for @data -> $row
+ {
+ say nicify(@$row);
+ }
+}
diff --git a/challenge-132/arne-sommer/raku/mirror-dates b/challenge-132/arne-sommer/raku/mirror-dates
new file mode 100755
index 0000000000..1867da0bb3
--- /dev/null
+++ b/challenge-132/arne-sommer/raku/mirror-dates
@@ -0,0 +1,26 @@
+#! /usr/bin/env raku
+
+subset SlashDate where * ~~ /^\d\d\d\d\/\d\d\/\d\d$/;
+
+my $fmt = { sprintf "%04d/%02d/%02d", .year, .month, .day };
+
+unit sub MAIN (SlashDate $date = "2021/09/18",
+ SlashDate :$today = Date.new(DateTime.now, formatter => $fmt).Str,
+ :v($verbose));
+
+my $date-iso = $date.subst("/", "-", :g);
+
+my $earlier = Date.new($date-iso, formatter => $fmt);
+my $now = Date.new($today.subst("/", "-", :g), formatter => $fmt);
+
+die "The date ($earlier) should be earlier than today ($now)" unless $earlier < $now;
+
+my $diff = $now - $earlier;
+
+say ": Today: $now" if $verbose;
+say ": Difference: $diff days" if $verbose;
+
+my $first = $earlier.earlier(day => $diff);
+my $last = $now.later( day => $diff);
+
+say "$first, $last";
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index f54a36508e..4e714dc264 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,78 +1,67 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "title" : {
- "text" : "The Weekly Challenge - 132"
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
- },
- "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
- },
- "subtitle" : {
- "text" : "[Champions: 22] Last updated at 2021-10-03 14:39:09 GMT"
- },
"chart" : {
"type" : "column"
},
- "xAxis" : {
- "type" : "category"
+ "title" : {
+ "text" : "The Weekly Challenge - 132"
},
"series" : [
{
- "colorByPoint" : 1,
"data" : [
{
- "name" : "Athanasius",
- "drilldown" : "Athanasius",
- "y" : 2
+ "drilldown" : "Abigail",
+ "y" : 2,
+ "name" : "Abigail"
},
{
+ "y" : 1,
+ "name" : "Adam Russell",
+ "drilldown" : "Adam Russell"
+ },
+ {
+ "y" : 3,
+ "name" : "Arne Sommer",
+ "drilldown" : "Arne Sommer"
+ },
+ {
+ "name" : "Athanasius",
"y" : 2,
+ "drilldown" : "Athanasius"
+ },
+ {
"name" : "Ben Davies",
+ "y" : 2,
"drilldown" : "Ben Davies"
},
{
- "name" : "Cheok-Yin Fung",
"drilldown" : "Cheok-Yin Fung",
- "y" : 1
+ "y" : 1,
+ "name" : "Cheok-Yin Fung"
},
{
"drilldown" : "Dave Jacoby",
- "name" : "Dave Jacoby",
- "y" : 3
+ "y" : 3,
+ "name" : "Dave Jacoby"
},
{
"name" : "E. Choroba",
- "drilldown" : "E. Choroba",
- "y" : 2
+ "y" : 2,
+ "drilldown" : "E. Choroba"
},
{
- "drilldown" : "Flavio Poletti",
"name" : "Flavio Poletti",
- "y" : 6
+ "y" : 6,
+ "drilldown" : "Flavio Poletti"
},
{
"name" : "James Raspass",
- "drilldown" : "James Raspass",
- "y" : 1
+ "y" : 1,
+ "drilldown" : "James Raspass"
},
{
- "name" : "James Smith",
"drilldown" : "James Smith",
- "y" : 3
+ "y" : 3,
+ "name" : "James Smith"
},
{
"drilldown" : "Jan Krnavek",
@@ -80,18 +69,18 @@
"y" : 1
},
{
- "y" : 2,
"drilldown" : "Jorg Sommrey",
+ "y" : 2,
"name" : "Jorg Sommrey"
},
{
- "y" : 5,
"drilldown" : "Laurent Rosenfeld",
+ "y" : 5,
"name" : "Laurent Rosenfeld"
},
{
- "y" : 1,
"drilldown" : "Lubos Kolouch",
+ "y" : 1,
"name" : "Lubos Kolouch"
},
{
@@ -100,8 +89,8 @@
"drilldown" : "Luca Ferrari"
},
{
- "name" : "Mark Anderson",
"drilldown" : "Mark Anderson",
+ "name" : "Mark Anderson",
"y" : 2
},
{
@@ -110,66 +99,101 @@
"y" : 2
},
{
+ "drilldown" : "Niels van Dijke",
"y" : 2,
- "name" : "Niels van Dijke",
- "drilldown" : "Niels van Dijke"
+ "name" : "Niels van Dijke"
},
{
- "drilldown" : "Olivier Delouya",
"name" : "Olivier Delouya",
- "y" : 2
+ "y" : 2,
+ "drilldown" : "Olivier Delouya"
},
{
"name" : "Roger Bell_West",
- "drilldown" : "Roger Bell_West",
- "y" : 5
+ "y" : 5,
+ "drilldown" : "Roger Bell_West"
},
{
"name" : "Simon Proctor",
- "drilldown" : "Simon Proctor",
- "y" : 1
+ "y" : 1,
+ "drilldown" : "Simon Proctor"
},
{
"drilldown" : "Ulrich Rieke",
- "name" : "Ulrich Rieke",
- "y" : 3
+ "y" : 3,
+ "name" : "Ulrich Rieke"
},
{
"drilldown" : "W. Luis Mochan",
- "name" : "W. Luis Mochan",
- "y" : 3
+ "y" : 3,
+ "name" : "W. Luis Mochan"
},
{
+ "drilldown" : "Wanderdoc",
"y" : 2,
- "name" : "Wanderdoc",
- "drilldown" : "Wanderdoc"
+ "name" : "Wanderdoc"
}
],
+ "colorByPoint" : 1,
"name" : "The Weekly Challenge - 132"
}
],
- "legend" : {
- "enabled" : 0
+ "xAxis" : {
+ "type" : "category"
},
"drilldown" : {
"series" : [
{
+ "name" : "Abigail",
+ "id" : "Abigail",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ]
+ },
+ {
+ "id" : "Adam Russell",
"data" : [
[
"Perl",
1
- ],
+ ]
+ ],
+ "name" : "Adam Russell"
+ },
+ {
+ "name" : "Arne Sommer",
+ "data" : [
[
"Raku",
+ 2
+ ],
+ [
+ "Blog",
1
]
],
+ "id" : "Arne Sommer"
+ },
+ {
+ "name" : "Athanasius",
"id" : "Athanasius",
- "name" : "Athanasius"
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 1
+ ]
+ ]
},
{
- "id" : "Ben Davies",
"name" : "Ben Davies",
+ "id" : "Ben Davies",
"data" : [
[
"Raku",
@@ -178,16 +202,17 @@
]
},
{
- "id" : "Cheok-Yin Fung",
"name" : "Cheok-Yin Fung",
"data" : [
[
"Perl",
1
]
- ]
+ ],
+ "id" : "Cheok-Yin Fung"
},
{
+ "id" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -198,21 +223,19 @@
1
]
],
- "id" : "Dave Jacoby",
"name" : "Dave Jacoby"
},
{
+ "name" : "E. Choroba",
"data" : [
[
"Perl",
2
]
],
- "id" : "E. Choroba",
- "name" : "E. Choroba"
+ "id" : "E. Choroba"
},
{
- "name" : "Flavio Poletti",
"id" : "Flavio Poletti",
"data" : [
[
@@ -227,20 +250,20 @@
"Blog",
2
]
- ]
+ ],
+ "name" : "Flavio Poletti"
},
{
+ "name" : "James Raspass",<