aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-089/colin-crain/blog.txt1
-rw-r--r--challenge-089/colin-crain/perl/ch-1.pl84
-rw-r--r--challenge-089/colin-crain/perl/ch-2.pl213
-rw-r--r--challenge-089/colin-crain/raku/ch-1.raku20
-rw-r--r--stats/pwc-current.json599
-rw-r--r--stats/pwc-language-breakdown-summary.json66
-rw-r--r--stats/pwc-language-breakdown.json1328
-rw-r--r--stats/pwc-leaders.json414
-rw-r--r--stats/pwc-summary-1-30.json118
-rw-r--r--stats/pwc-summary-121-150.json82
-rw-r--r--stats/pwc-summary-151-180.json48
-rw-r--r--stats/pwc-summary-181-210.json82
-rw-r--r--stats/pwc-summary-31-60.json52
-rw-r--r--stats/pwc-summary-61-90.json44
-rw-r--r--stats/pwc-summary-91-120.json126
-rw-r--r--stats/pwc-summary.json480
16 files changed, 2049 insertions, 1708 deletions
diff --git a/challenge-089/colin-crain/blog.txt b/challenge-089/colin-crain/blog.txt
new file mode 100644
index 0000000000..e1c97c61bb
--- /dev/null
+++ b/challenge-089/colin-crain/blog.txt
@@ -0,0 +1 @@
+https://colincrain.com/2020/12/06/the-greatest-common-magick-trick/
diff --git a/challenge-089/colin-crain/perl/ch-1.pl b/challenge-089/colin-crain/perl/ch-1.pl
new file mode 100644
index 0000000000..f2ca9300dd
--- /dev/null
+++ b/challenge-089/colin-crain/perl/ch-1.pl
@@ -0,0 +1,84 @@
+#! /opt/local/bin/perl5.26
+#
+# gcd_sum.pl
+#
+# TASK #1 › GCD Sum
+# Submitted by: Mohammad S Anwar
+# You are given a positive integer $N.
+#
+# Write a script to sum GCD of all possible unique pairs between 1 and $N.
+#
+# Example 1:
+# Input: 3
+# Output: 3
+#
+# gcd(1,2) + gcd(1,3) + gcd(2,3)
+# Example 2:
+# Input: 4
+# Output: 7
+#
+# gcd(1,2) + gcd(1,3) + gcd(1,4) + gcd(2,3) + gcd(2,4) + gcd(3,4)
+
+# method:
+# Nothing too complicated here -- we have two parts to this somewhat
+# mashed together task. In the first step we need to assmble a list
+# of paired values from the range 1 to out input value. If we take
+# the second value as incrementally larger than the first, then the
+# resulting pairs will not repeat and be unique.
+
+# For this we will compose our own pairs() function, with two loops
+# to produce an array of arrays.
+
+# In the second part of the puzzle, each unique pair is taken as
+# values for a greatest common divisor function, and the sum of the
+# return values for the list of combinations is output.
+
+# We'll use a quick implimentation Euclid's Algorithm to find our
+# GCDs.
+#
+# validation: checked against A178881
+# "Sum of all pairs of greater common divisors for (i,j) where i<j. "
+#
+# 2020 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+use warnings;
+use strict;
+use feature ":5.26";
+
+## ## ## ## ## MAIN:
+
+my $input = shift @ARGV // 4100;
+
+my $sum = 0 ;
+$sum += gcd($_->@*) for pairs($input)->@*;
+
+say "input $input";
+say "sum $sum";
+
+## ## ## ## ## SUBS:
+
+sub gcd {
+## Euclid's algorithm
+ my ($m, $n) = @_;
+ while ( $n != 0 ) {
+ $n > $m and ($m, $n) = ($n, $m);
+ my $r = $m - $n * ( int ($m/$n));
+ return $n if $r == 0;
+ ($m, $n) = ($n, $r);
+ }
+}
+
+sub pairs {
+## unique pairs among values 1 and $max
+ my ($max) = @_;
+ my @out;
+ for my $m ( 1..$max-1 ) {
+ for my $n ( $m+1..$max ) {
+ push @out, [$m, $n];
+ }
+ }
+ return \@out;
+}
diff --git a/challenge-089/colin-crain/perl/ch-2.pl b/challenge-089/colin-crain/perl/ch-2.pl
new file mode 100644
index 0000000000..a50f1b0849
--- /dev/null
+++ b/challenge-089/colin-crain/perl/ch-2.pl
@@ -0,0 +1,213 @@
+#! /opt/local/bin/perl
+#
+# magic_square.pl
+#
+# TASK #2 › Magical Matrix
+#
+# Submitted by: Mohammad S Anwar
+# Write a script to display matrix as below with numbers 1 - 9. Please
+# make sure numbers are used once.
+#
+# [ a b c ]
+# [ d e f ]
+# [ g h i ]
+#
+# So that it satisfies the following:
+#
+# a + b + c = 15
+# d + e + f = 15
+# g + h + i = 15
+# a + d + g = 15
+# b + e + h = 15
+# c + f + i = 15
+# a + e + i = 15
+# c + e + g = 15
+#
+#
+# method:
+# Never much considered this particular age-old math problem before.
+# Not for any particular reason mind you, and I've spent countless
+# hours over the years on math puzzles.
+#
+# One thing straight off the bat is the similarities to the sudoku
+# puzzle a few weeks back. I mean, obviously. So the basic mechanics
+# of guessing a cell seem a reasonable way to start:
+# using that data to constrain the possible
+# values of the remaining cells, then picking from available choices
+# for the next cell, continuing until either a contradiction is
+# reached or the last cell is filled.
+
+# Studying the square, it's apparent that not every cell is equal
+# per se. The center, for instance, is part of two orthogonal
+# and two diagonal lines, for a total of 4. The corners, on the
+# other hand, are contained within two orthogonals and only one
+# diagonal, for three lines, and the edges only affect two. So it
+# stands to reason that if we are going to take a constraining tree
+# appraoch then we should progress from the center, to the corners,
+# and then the edges, so our earlier choices have maximum effect.
+#
+# Another consideration is the sum of each line. Once any two
+# numbers have been placed, the third is determined by the other two
+# and the required total.
+#
+# Combining these two facts, any possible configuration can be
+# evaluated for magic behavior after choosing only three values: the
+# center, any corner, and either adjacent corner to that picked. The
+# center does not determine any cell configuration on its own, but
+# does constrain all 8 remaining cells surrounding it. The next, a
+# corner (they are all equivalent so it does not matter which we
+# pick) can be any value that is neither the center value nor a
+# value that would require its complement across the line to be a
+# number out-of-bounds. For example, with a center of 1, the top
+# left cannot be 2 because the lower right would need to be 12 to
+# sum to 15, which is not allowed. In this case the top left would
+# need to be a value of 5 or more.
+#
+# Once one corner is chosen, this act will determine its opposing
+# corner. The final choice, of either adjacent corner, is any value
+# not already determined, nor, like the corner before, a number that
+# would require its opposite to be disallowed.
+#
+# With the placement of the second corner all remaining edges are
+# constrained to be the difference between the target value and the
+# sum of the two placed cells. Once calculated, there will either be
+# a contradiction found or the result will be determined to be a
+# magic square. The contradictions will be either to require a value no
+# longer available, or invalid across the relevant center orthogonal.
+
+# ---
+
+# using this method, it didn't take me long at all to make the following
+# square in my head, on the third try:
+#
+# 4 3 8
+# 9 5 1
+# 2 7 6
+#
+# so that's nice. We know it's sound.
+
+
+# 2020 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+use warnings;
+use strict;
+use feature ":5.26";
+
+## ## ## ## ## MAIN:
+
+
+our $target = 15;
+my @output;
+my %numbers = map { $_, undef } (1..9);
+
+## place center value
+for my $center (keys %numbers) {
+ ## start possible solution with center placed
+ ## and removed from remaining number list
+ my @sol_center;
+ $sol_center[4] = $center;
+ my %nums_center = %numbers;
+ delete $nums_center{$center};
+
+ ## place top left value
+ for my $left (keys %nums_center) {
+ ## new copy within loop
+ ## for solution and remaining number list
+ my @sol_left = @sol_center;
+ my %nums_left = %nums_center;
+
+ next unless add_left($left, \@sol_left, \%nums_left);
+
+ ## place top right value
+ ## from this is can be determined whether the square can be comleted
+ for my $right (keys %nums_left) {
+ my $solution = add_right($right, \@sol_left, \%nums_left );
+ push @output, $solution if defined $solution;
+ }
+ }
+}
+
+## reveal any squares identified
+print_square($_) for @output;
+
+
+## ## ## ## ## SUBS:
+
+sub add_left {
+## add single value to top left corner, triggering placement
+## of value into bottom right corner
+## returns 1 if successful, undef if complement outside bounds
+ my ($left, $sol, $nums) = @_;
+
+ $sol->[0] = $left;
+ delete $nums->{$left};
+
+ return undef unless fill_cell(8, 4, 0, $sol, $nums);
+ return 1;
+}
+
+sub add_right {
+## add single value to top right corner
+## this determines a list of other cells to be
+ my ($right, $sol, $nums) = @_;
+
+ ## make a copy of the data for this solution
+ my @solution = $sol->@*;
+ my %numbers = $nums->%*;
+
+ $solution[2] = $right;
+ delete %numbers{$right};
+
+ ## the remaining cells to be filled, in order
+ ## the lists are the index, and the two other cells in the line that define it
+ ## [cell index, line cell one, line cell two]
+ my @checks = ( [6,4,2],
+ [1,0,2],
+ [3,0,6],
+ [5,2,8],
+ [7,6,8] );
+
+ for my $next_cell ( @checks ) {
+ return undef unless fill_cell( $next_cell->@*, \@solution, \%numbers );
+ }
+
+ ## we really should do a check on the last remaining
+ ## two central orthogonals before returning.
+ ## knowing that the solution is unique, this isn't ever going to find anything,
+ ## but we do it for completeness
+ return undef if not check_center_lines(\@solution);
+
+ return \@solution;
+}
+
+sub fill_cell {
+## given an index and two other indices,
+## calculates the required value to sum to the target
+ my ($idx, $one, $two, $sol, $nums) = @_;
+ my $cell = $target - $sol->[$one] - $sol->[$two];
+ return undef unless exists $nums->{$cell};
+
+ $sol->[$idx] = $cell;
+ delete $nums->{$cell};
+ return 1
+}
+
+sub check_center_lines {
+## validate the two orthogonals that pass through the center
+ my ($sol) = @_;
+ for ([3,4,5], [1,4,7]) {
+ return undef if $sol->[$_->[0]] + $sol->[$_->[1]]
+ + $sol->[$_->[2]] != $target;
+ }
+ return 1;
+}
+
+sub print_square {
+ my $sq = shift;
+ say "$sq->@[0..2]";
+ say "$sq->@[3..5]";
+ say "$sq->@[6..8]";
+ say '';
+}
diff --git a/challenge-089/colin-crain/raku/ch-1.raku b/challenge-089/colin-crain/raku/ch-1.raku
new file mode 100644
index 0000000000..a6724d1faf
--- /dev/null
+++ b/challenge-089/colin-crain/raku/ch-1.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl6
+#
+#
+# .raku
+#
+#
+#
+# 2020 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+unit sub MAIN (Int $input where {$input > 0} = 1000) ;
+
+my $out = (1..$input).combinations(2)
+ .map({[gcd] |$_})
+ .sum;
+
+say "input $input";
+say "sum $out";
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 2b022337ed..ce938b9082 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,6 +1,11 @@
{
- "subtitle" : {
- "text" : "[Champions: 37] Last updated at 2020-12-07 04:48:31 GMT"
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 089"
},
"xAxis" : {
"type" : "category"
@@ -8,15 +13,229 @@
"plotOptions" : {
"series" : {
"dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
+ "enabled" : 1,
+ "format" : "{point.y}"
},
"borderWidth" : 0
}
},
+ "legend" : {
+ "enabled" : 0
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 38] Last updated at 2020-12-07 04:53:40 GMT"
+ },
+ "series" : [
+ {
+ "name" : "Perl Weekly Challenge - 089",
+ "colorByPoint" : 1,
+ "data" : [
+ {
+ "name" : "Aaron Smith",
+ "drilldown" : "Aaron Smith",
+ "y" : 3
+ },
+ {
+ "drilldown" : "Abigail",
+ "y" : 4,
+ "name" : "Abigail"
+ },
+ {
+ "name" : "Adam Russell",
+ "drilldown" : "Adam Russell",
+ "y" : 4
+ },
+ {
+ "drilldown" : "Alexander Karelas",
+ "y" : 2,
+ "name" : "Alexander Karelas"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Alexander Pankoff",
+ "name" : "Alexander Pankoff"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Andrew Shitov",
+ "name" : "Andrew Shitov"
+ },
+ {
+ "name" : "Arne Sommer",
+ "drilldown" : "Arne Sommer",
+ "y" : 5
+ },
+ {
+ "name" : "Athanasius",
+ "y" : 4,
+ "drilldown" : "Athanasius"
+ },
+ {
+ "drilldown" : "Cheok-Yin Fung",
+ "y" : 3,
+ "name" : "Cheok-Yin Fung"
+ },
+ {
+ "name" : "Clifton Wood",
+ "y" : 2,
+ "drilldown" : "Clifton Wood"
+ },
+ {
+ "drilldown" : "Colin Crain",
+ "y" : 4,
+ "name" : "Colin Crain"
+ },
+ {
+ "y" : 3,
+ "drilldown" : "Dave Jacoby",
+ "name" : "Dave Jacoby"
+ },
+ {
+ "name" : "Duncan C. White",
+ "y" : 2,
+ "drilldown" : "Duncan C. White"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "E. Choroba",
+ "name" : "E. Choroba"
+ },
+ {
+ "drilldown" : "Feng Chang",
+ "y" : 2,
+ "name" : "Feng Chang"
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Flavio Poletti",
+ "name" : "Flavio Poletti"
+ },
+ {
+ "drilldown" : "Jaldhar H. Vyas",
+ "y" : 5,
+ "name" : "Jaldhar H. Vyas"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "James Smith",
+ "name" : "James Smith"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Jan Krnavek",
+ "name" : "Jan Krnavek"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Joel Crosswhite",
+ "name" : "Joel Crosswhite"
+ },
+ {
+ "name" : "Jorg Sommrey",
+ "y" : 2,
+ "drilldown" : "Jorg Sommrey"
+ },
+ {
+ "drilldown" : "Julio de Castro",
+ "y" : 4,
+ "name" : "Julio de Castro"
+ },
+ {
+ "drilldown" : "Kang-min Liu",
+ "y" : 4,
+ "name" : "Kang-min Liu"
+ },
+ {
+ "drilldown" : "Laurent Rosenfeld",
+ "y" : 5,
+ "name" : "Laurent Rosenfeld"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Lubos Kolouch",
+ "name" : "Lubos Kolouch"
+ },
+ {
+ "drilldown" : "Mark Anderson",
+ "y" : 2,
+ "name" : "Mark Anderson"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Miguel Prz",
+ "name" : "Miguel Prz"
+ },
+ {
+ "name" : "Niels van Dijke",
+ "drilldown" : "Niels van Dijke",
+ "y" : 2
+ },
+ {
+ "name" : "Nuno Vieira",
+ "drilldown" : "Nuno Vieira",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Philip Hood",
+ "y" : 2,
+ "name" : "Philip Hood"
+ },
+ {
+ "y" : 5,
+ "drilldown" : "Roger Bell_West",
+ "name" : "Roger Bell_West"
+ },
+ {
+ "drilldown" : "Simon Green",
+ "y" : 3,
+ "name" : "Simon Green"
+ },
+ {
+ "name" : "Simon Proctor",
+ "drilldown" : "Simon Proctor",
+ "y" : 2
+ },
+ {
+ "name" : "Stuart Little",
+ "drilldown" : "Stuart Little",
+ "y" : 2
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke"
+ },
+ {
+ "y" : 3,
+ "drilldown" : "W. Luis Mochan",
+ "name" : "W. Luis Mochan"
+ },
+ {
+ "name" : "Walt Mankowski",
+ "drilldown" : "Walt Mankowski",
+ "y" : 3
+ },
+ {
+ "name" : "Wanderdoc",
+ "y" : 2,
+ "drilldown" : "Wanderdoc"
+ }
+ ]
+ }
+ ],
+ "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
+ },
"drilldown" : {
"series" : [
{
+ "name" : "Aaron Smith",
+ "id" : "Aaron Smith",
"data" : [
[
"Raku",
@@ -26,9 +245,7 @@
"Blog",
1
]
- ],
- "name" : "Aaron Smith",
- "id" : "Aaron Smith"
+ ]
},
{
"data" : [
@@ -45,8 +262,6 @@
"id" : "Abigail"
},
{
- "id" : "Adam Russell",
- "name" : "Adam Russell",
"data" : [
[
"Perl",
@@ -56,17 +271,19 @@
"Blog",
2
]
- ]
+ ],
+ "id" : "Adam Russell",
+ "name" : "Adam Russell"
},
{
- "name" : "Alexander Karelas",
- "id" : "Alexander Karelas",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Alexander Karelas",
+ "id" : "Alexander Karelas"
},
{
"data" : [
@@ -75,12 +292,10 @@
2
]
],
- "id" : "Alexander Pankoff",
- "name" : "Alexander Pankoff"
+ "name" : "Alexander Pankoff",
+ "id" : "Alexander Pankoff"
},
{
- "id" : "Andrew Shitov",
- "name" : "Andrew Shitov",
"data" : [
[
"Perl",
@@ -90,9 +305,13 @@
"Raku",
1
]
- ]
+ ],
+ "name" : "Andrew Shitov",
+ "id" : "Andrew Shitov"
},
{
+ "id" : "Arne Sommer",
+ "name" : "Arne Sommer",
"data" : [
[
"Perl",
@@ -106,11 +325,11 @@
"Blog",
1
]
- ],
- "name" : "Arne Sommer",
- "id" : "Arne Sommer"
+ ]
},
{
+ "id" : "Athanasius",
+ "name" : "Athanasius",
"data" : [
[
"Perl",
@@ -120,13 +339,11 @@
"Raku",
2
]
- ],
- "id" : "Athanasius",
- "name" : "Athanasius"
+ ]
},
{
- "id" : "Cheok-Yin Fung",
"name" : "Cheok-Yin Fung",
+ "id" : "Cheok-Yin Fung",
"data" : [
[
"Perl",
@@ -149,38 +366,56 @@
"id" : "Clifton Wood"
},
{
- "name" : "Dave Jacoby",
- "id" : "Dave Jacoby",
+ "name" : "Colin Crain",
+ "id" : "Colin Crain",
"data" : [
[
"Perl",
2
],
[
+ "Raku",
+ 1
+ ],
+ [
"Blog",
1
]
]
},
{
+ "id" : "Dave Jacoby",
+ "name" : "Dave Jacoby",
"data" : [
[
"Perl",
2
+ ],
+ [
+ "Blog",
+ 1
]
- ],
- "id" : "Duncan C. White",
- "name" : "Duncan C. White"
+ ]
},
{
+ "id" : "Duncan C. White",
+ "name" : "Duncan C. White",
"data" : [
[
"Perl",
2
]
- ],
+ ]
+ },
+ {
+ "id" : "E. Choroba",
"name" : "E. Choroba",
- "id" : "E. Choroba"
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ]
},
{
"data" : [
@@ -193,6 +428,8 @@
"name" : "Feng Chang"
},
{
+ "id" : "Flavio Poletti",
+ "name" : "Flavio Poletti",
"data" : [
[
"Perl",
@@ -202,11 +439,11 @@
"Blog",
2
]
- ],
- "id" : "Flavio Poletti",
- "name" : "Flavio Poletti"
+ ]
},
{
+ "name" : "Jaldhar H. Vyas",
+ "id" : "Jaldhar H. Vyas",
"data" : [
[
"Perl",
@@ -220,29 +457,27 @@
"Blog",
1
]
- ],
- "name" : "Jaldhar H. Vyas",
- "id" : "Jaldhar H. Vyas"
+ ]
},
{
- "name" : "James Smith",
- "id" : "James Smith",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "James Smith",
+ "name" : "James Smith"
},
{
- "id" : "Jan Krnavek",
- "name" : "Jan Krnavek",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "name" : "Jan Krnavek",
+ "id" : "Jan Krnavek"
},
{
"name" : "Joel Crosswhite",
@@ -261,12 +496,12 @@
2
]
],
- "name" : "Jorg Sommrey",
- "id" : "Jorg Sommrey"
+ "id" : "Jorg Sommrey",
+ "name" : "Jorg Sommrey"
},
{
- "id" : "Julio de Castro",
"name" : "Julio de Castro",
+ "id" : "Julio de Castro",
"data" : [
[
"Perl",
@@ -279,8 +514,8 @@
]
},
{
- "id" : "Kang-min Liu",
"name" : "Kang-min Liu",
+ "id" : "Kang-min Liu",
"data" : [
[
"Raku",
@@ -293,6 +528,8 @@
]
},
{
+ "id" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld",
"data" : [
[
"Perl",
@@ -306,13 +543,11 @@
"Blog",
1
]
- ],
- "name" : "Laurent Rosenfeld",
- "id" : "Laurent Rosenfeld"
+ ]
},
{
- "id" : "Lubos Kolouch",
"name" : "Lubos Kolouch",
+ "id" : "Lubos Kolouch",
"data" : [
[
"Perl",
@@ -331,24 +566,24 @@
"id" : "Mark Anderson"
},
{
- "name" : "Miguel Prz",
- "id" : "Miguel Prz",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Miguel Prz",
+ "name" : "Miguel Prz"
},
{
- "name" : "Niels van Dijke",
- "id" : "Niels van Dijke",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Niels van Dijke",
+ "name" : "Niels van Dijke"
},
{
"name" : "Nuno Vieira",
@@ -361,16 +596,18 @@
]
},
{
+ "name" : "Philip Hood",
+ "id" : "Philip Hood",
"data" : [
[
"Raku",
2
]
- ],
- "id" : "Philip Hood",
- "name" : "Philip Hood"
+ ]
},
{
+ "id" : "Roger Bell_West",
+ "name" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -384,11 +621,11 @@
"Blog",
1
]
- ],
- "id" : "Roger Bell_West",
- "name" : "Roger Bell_West"
+ ]
},
{
+ "id" : "Simon Green",
+ "name" : "Simon Green",
"data" : [
[
"Perl",
@@ -398,9 +635,7 @@
"Blog",
1
]
- ],
- "id" : "Simon Green",
- "name" : "Simon Green"
+ ]
},
{
"data" : [
@@ -413,8 +648,8 @@
"id" : "Simon Proctor"
},
{
- "name" : "Stuart Little",
"id" : "Stuart Little",
+ "name" : "Stuart Little",
"data" : [
[
"Raku",
@@ -433,8 +668,8 @@
2
]
],
- "id" : "Ulrich Rieke",
- "name" : "Ulrich Rieke"
+ "name" : "Ulrich Rieke",
+ "id" : "Ulrich Rieke"
},
{
"data" : [
@@ -447,10 +682,12 @@
1
]
],
- "id" : "W. Luis Mochan",
- "name" : "W. Luis Mochan"
+ "name" : "W. Luis Mochan",
+ "id" : "W. Luis Mochan"
},
{
+ "id" : "Walt Mankowski",
+ "name" : "Walt Mankowski",
"data" : [
[
"Perl",
@@ -460,13 +697,11 @@
"Blog",
1
]
- ],
- "name" : "Walt Mankowski",
- "id" : "Walt Mankowski"
+ ]
},
{
- "name" : "Wanderdoc",
"id" : "Wanderdoc",
+ "name" : "Wanderdoc",
"data" : [
[
"Perl",
@@ -475,217 +710,5 @@
]
}
]
- },
- "chart" : {
- "type" : "column"
- },
- "series" : [
- {
- "data" : [
- {
- "y" : 3,
- "name" : "Aaron Smith",
- "drilldown" : "Aaron Smith"
- },
- {
- "y" : 4,
- "drilldown" : "Abigail",
- "name" : "Abigail"
- },
- {
- "drilldown" : "Adam Russell",
- "name" : "Adam Russell",
- "y" : 4
- },
- {
- "y" : 2,
- "name" : "Alexander Karelas",
- "drilldown" : "Alexander Karelas"
- },
- {
- "name" : "Alexander Pankoff",
- "drilldown" : "Alexander Pankoff",
- "y" : 2
- },
- {
- "drilldown" : "Andrew Shitov",
- "name" : "Andrew Shitov",
- "y" : 2
- },
- {
- "drilldown" : "Arne Sommer",
- "name" : "Arne Sommer",
- "y" : 5
- },
- {
- "drilldown" : "Athanasius",
- "name" : "Athanasius",
- "y" : 4
- },
- {
- "name" : "Cheok-Yin Fung",
- "drilldown" : "Cheok-Yin Fung",
- "y" : 3
- },
- {
- "y" : 2,