aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-09-10 19:43:45 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-09-10 19:43:45 +0100
commitde95dcac8917e3dd95ba233317b77c623d145b09 (patch)
tree32866e0665d8c2aff61fccf3e1916c718e677145
parentb9c48b373725629a2f47fac495d08d63acc0882c (diff)
downloadperlweeklychallenge-club-de95dcac8917e3dd95ba233317b77c623d145b09.tar.gz
perlweeklychallenge-club-de95dcac8917e3dd95ba233317b77c623d145b09.tar.bz2
perlweeklychallenge-club-de95dcac8917e3dd95ba233317b77c623d145b09.zip
- Added solutions by Laurent Rosenfeld.
-rw-r--r--challenge-025/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-025/laurent-rosenfeld/perl5/ch-1.pl57
-rw-r--r--challenge-025/laurent-rosenfeld/perl5/ch-2.pl78
-rw-r--r--challenge-025/laurent-rosenfeld/perl6/ch-1.p653
-rw-r--r--challenge-025/laurent-rosenfeld/perl6/ch-2.p668
-rw-r--r--stats/pwc-current.json129
-rw-r--r--stats/pwc-language-breakdown-summary.json68
-rw-r--r--stats/pwc-language-breakdown.json396
-rw-r--r--stats/pwc-leaders.json906
-rw-r--r--stats/pwc-summary-1-30.json104
-rw-r--r--stats/pwc-summary-31-60.json54
-rw-r--r--stats/pwc-summary-61-90.json114
-rw-r--r--stats/pwc-summary-91-120.json36
-rw-r--r--stats/pwc-summary.json276
14 files changed, 1310 insertions, 1030 deletions
diff --git a/challenge-025/laurent-rosenfeld/blog.txt b/challenge-025/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..591c90b3e2
--- /dev/null
+++ b/challenge-025/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2019/09/perl-weekly-challenge-25-pokemon-sequence-and-chaocipher.html
diff --git a/challenge-025/laurent-rosenfeld/perl5/ch-1.pl b/challenge-025/laurent-rosenfeld/perl5/ch-1.pl
new file mode 100644
index 0000000000..01a1099242
--- /dev/null
+++ b/challenge-025/laurent-rosenfeld/perl5/ch-1.pl
@@ -0,0 +1,57 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw/say/;
+
+my @names = qw /audino bagon baltoy banette bidoof braviary bronzor
+ carracosta charmeleon cresselia croagunk darmanitan
+ deino emboar emolga exeggcute gabite girafarig
+ gulpin haxorus heatmor heatran ivysaur jellicent
+ jumpluff kangaskhan kricketune landorus ledyba
+ loudred lumineon lunatone machamp magnezone
+ mamoswine nosepass petilil pidgeotto pikachu pinsir
+ poliwrath poochyena porygon2 porygonz registeel
+ relicanth remoraid rufflet sableye scolipede scrafty
+ seaking sealeo silcoon simisear snivy snorlax spoink
+ starly tirtouga trapinch treecko tyrogue vigoroth
+ vulpix wailord wartortle whismur wingull yamask/;
+
+my %name_by_letter;
+for my $name (@names) {
+ my $start_letter = substr $name, 0, 1;
+ push @{$name_by_letter{$start_letter}}, $name;
+}
+
+my @best_seq;
+my $best_count = 0;
+for my $name (@names) {
+ search_seq( [$name], {$name => 1} );
+}
+say "BEST SEQUENCES: ";
+for my $item (@best_seq) {
+ say "@$item";
+}
+say "Number of sequences: ", scalar @best_seq;
+
+sub search_seq {
+ my ($current_seq, $seen) = @_;
+ my $last_name = $current_seq->[-1];
+ my $last_letter = substr $last_name, -1, 1;
+ my @next_candidates = grep { not exists $seen->{$_} }
+ @{$name_by_letter{$last_letter}};
+ if (scalar @next_candidates == 0) {
+ my $count = scalar @$current_seq;
+ if ($count > $best_count) {
+ @best_seq = ($current_seq);
+ $best_count = $count;
+ } elsif ($count == $best_count) {
+ push @best_seq, $current_seq;
+ }
+ } else {
+ for my $name (@next_candidates) {
+ my %local_seen = %$seen;
+ $local_seen{$name} = 1;
+ search_seq ([@$current_seq, $name], {%local_seen});
+ }
+ }
+}
diff --git a/challenge-025/laurent-rosenfeld/perl5/ch-2.pl b/challenge-025/laurent-rosenfeld/perl5/ch-2.pl
new file mode 100644
index 0000000000..f54eca560d
--- /dev/null
+++ b/challenge-025/laurent-rosenfeld/perl5/ch-2.pl
@@ -0,0 +1,78 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw/say/;
+use Data::Dumper;
+
+sub permute_alphabets {
+ my ($left, $right, $pos) = @_;
+ my $newleft = substr ($left, $pos) . substr $left, 0, $pos;
+ $newleft = substr ($newleft, 0, 1) . substr ($newleft, 2, 12)
+ . substr ($newleft, 1, 1) . substr $newleft, 14;
+
+ my $newright = substr ($right, $pos+1) . substr $right, 0, $pos+1;
+ $newright = substr ($newright, 0, 2) . substr ($newright, 3, 11)
+ . substr ($newright, 2, 1) . substr $newright, 14;
+ return ($newleft, $newright);
+}
+
+sub run_tests {
+ use Test::More; # Minimal tests for providing an example
+ plan tests => 4;
+ my $left = 'HXUCZVAMDSLKPEFJRIGTWOBNYQ';
+ my $right = 'PTLNBQDEOYSFAVZKGJRIHWXUMC';
+ my $position = index $right, 'A';
+ my ($newleft, $newright) = permute_alphabets $left, $right,
+ $position;
+ is $newleft, 'PFJRIGTWOBNYQEHXUCZVAMDSLK',
+ "Left alphabet: $newleft";
+ is $newright, 'VZGJRIHWXUMCPKTLNBQDEOYSFA',
+ "Right alphabet: $newright";
+ my $plaintext = "WELLDONEISBETTERTHANWELLSAID";
+ my $ciphertext = encipher($plaintext, $left, $right);
+ is $ciphertext, 'OAHQHCNYNXTSZJRRHJBYHQKSOUJY',
+ "Testing enciphering: $ciphertext";
+ my $deciphered = decipher($ciphertext, $left, $right);
+ is $deciphered, $plaintext, "Roundtrip: $deciphered";
+}
+
+sub encipher {
+ my ($plaintext, $left, $right) = @_;
+ my $ciphertext = "";
+ my @letters = split //, $plaintext;
+ for my $let (@letters) {
+ my $position = index $right, $let;
+ $ciphertext .= substr $left, $position, 1;
+ ($left, $right) = permute_alphabets ($left, $right,
+ $position);
+ }
+ return $ciphertext;
+}
+
+sub decipher {
+ my ($ciphertext, $left, $right) = @_;
+ my $plaintext = "";
+ my @letters = split //, $ciphertext;
+ for my $let (@letters) {
+ my $position = index $left, $let;
+ $plaintext .= substr $right, $position, 1;
+ ($left, $right) = permute_alphabets ($left, $right,
+ $position);
+ }
+ return $plaintext;
+}
+
+if (@ARGV == 0) {
+ run_tests;
+} else {
+ die "Invalid number of arguments: we need 4 arguments.\n"
+ unless @ARGV == 4;
+ my ($mode, $text, $left, $right) = @ARGV;
+ if ($mode eq 'encipher') {
+ say encipher($text, $left, $right);
+ } elsif ($mode eq 'decipher') {
+ say decipher($text, $left, $right);
+ } else {
+ die "Invalid mode: must be 'encipher' or 'decipher'.\n";
+ }
+}
diff --git a/challenge-025/laurent-rosenfeld/perl6/ch-1.p6 b/challenge-025/laurent-rosenfeld/perl6/ch-1.p6
new file mode 100644
index 0000000000..e5bf1310de
--- /dev/null
+++ b/challenge-025/laurent-rosenfeld/perl6/ch-1.p6
@@ -0,0 +1,53 @@
+use v6;
+
+my @names = < audino bagon baltoy banette bidoof braviary bronzor
+ carracosta charmeleon cresselia croagunk darmanitan
+ deino emboar emolga exeggcute gabite girafarig
+ gulpin haxorus heatmor heatran ivysaur jellicent
+ jumpluff kangaskhan kricketune landorus ledyba
+ loudred lumineon lunatone machamp magnezone
+ mamoswine nosepass petilil pidgeotto pikachu pinsir
+ poliwrath poochyena porygon2 porygonz registeel
+ relicanth remoraid rufflet sableye scolipede scrafty
+ seaking sealeo silcoon simisear snivy snorlax spoink
+ starly tirtouga trapinch treecko tyrogue vigoroth
+ vulpix wailord wartortle whismur wingull yamask >;
+
+my %name-by-letter;
+for @names -> $name {
+ my $start-letter = substr $name, 0, 1;
+ push %name-by-letter{$start-letter}, $name;
+}
+
+my @best-seq;
+my $best-count = 0;
+for @names -> $name {
+ search-seq( [$name], $name.SetHash );
+}
+say "BEST SEQUENCES: ";
+for @best-seq -> $item {
+ say "$item";
+}
+say "Number of sequences: ", @best-seq.elems;
+say now - INIT now;
+
+sub search-seq (@current-seq, $seen) {
+ my $last-name = @current-seq[*-1];
+ my $last-letter = substr $last-name, *-1, 1;
+ my @next-candidates = grep {defined $_}, # Remove empty slots
+ (@(%name-by-letter{$last-letter}) (-) $seen).keys;
+ if ( @next-candidates.elems == 0) {
+ my $count = @current-seq.elems;
+ if $count > $best-count {
+ @best-seq = @current-seq;
+ $best-count = $count;
+ } elsif ($count == $best-count) {
+ push @best-seq, @current-seq;
+ }
+ } else {
+ for @next-candidates -> $name {
+ my @new-seq = | @current-seq, $name;
+ search-seq( @new-seq, $seen ∪ $name.SetHash );
+ }
+ }
+}
diff --git a/challenge-025/laurent-rosenfeld/perl6/ch-2.p6 b/challenge-025/laurent-rosenfeld/perl6/ch-2.p6
new file mode 100644
index 0000000000..1e86462d0c
--- /dev/null
+++ b/challenge-025/laurent-rosenfeld/perl6/ch-2.p6
@@ -0,0 +1,68 @@
+use v6;
+subset UcStr of Str where /^<[A..Z]>+$/;
+
+sub permute-alphabets (UcStr $left is copy, UcStr $right is copy, UInt $pos) {
+ $left = substr($left, $pos) ~ substr $left, 0, $pos;
+ $left = substr($left, 0, 1) ~ substr($left, 2, 12)
+ ~ substr($left, 1, 1) ~ substr $left, 14;
+
+ $right = substr($right, $pos+1) ~ substr $right, 0, $pos+1;
+ $right = substr($right, 0, 2) ~ substr($right, 3, 11)
+ ~ substr($right, 2, 1) ~ substr $right, 14;
+ return ($left, $right);
+}
+
+sub run_tests {
+ use Test;
+ plan 4;
+ my $left = 'HXUCZVAMDSLKPEFJRIGTWOBNYQ';
+ my $right = 'PTLNBQDEOYSFAVZKGJRIHWXUMC';
+ my $position = index $right, 'A';
+ my ($newleft, $newright) = permute-alphabets $left, $right,
+ $position;
+ is $newleft, 'PFJRIGTWOBNYQEHXUCZVAMDSLK',
+ "Left alphabet: $newleft";
+ is $newright, 'VZGJRIHWXUMCPKTLNBQDEOYSFA',
+ "Right alphabet: $newright";
+ my $plaintext = "WELLDONEISBETTERTHANWELLSAID";
+ my $ciphertext = encipher($plaintext, $left, $right);
+ is $ciphertext, 'OAHQHCNYNXTSZJRRHJBYHQKSOUJY',
+ "Testing enciphering: $ciphertext";
+ my $deciphered = decipher($ciphertext, $left, $right);
+ is $deciphered, $plaintext, "Roundtrip: $deciphered";
+}
+
+sub encipher (UcStr $plaintext, UcStr $left is copy, UcStr $right is copy) {
+ my $ciphertext = "";
+ for $plaintext.comb -> $let {
+ my $position = index $right, $let;
+ $ciphertext ~= substr $left, $position, 1;
+ ($left, $right) = permute-alphabets $left, $right,
+ $position;
+ }
+ return $ciphertext;
+}
+
+sub decipher (UcStr $ciphertext, UcStr $left is copy, UcStr $right is copy) {
+ my $plaintext = "";
+ for $ciphertext.comb -> $let {
+ my $position = index $left, $let;
+ $plaintext ~= substr $right, $position, 1;
+ ($left, $right) = permute-alphabets $left, $right,
+ $position;
+ }
+ return $plaintext;
+}
+
+multi MAIN () {
+ run_tests;
+}
+multi MAIN (Str $mode, Str $text, Str $left, Str $right) {
+ if $mode.lc eq 'encipher' {
+ say encipher $text.uc, $left.uc, $right.uc;
+ } elsif $mode.lc eq 'decipher' {
+ say decipher $text.uc, $left.uc, $right.uc;
+ } else {
+ die "Invalid mode $mode: must be 'encipher' or 'decipher'.\n";
+ }
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index fba32bd2eb..ccef6896c7 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,93 +1,116 @@
{
- "legend" : {
- "enabled" : 0
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
},
+ "series" : [
+ {
+ "colorByPoint" : 1,
+ "data" : [
+ {
+ "name" : "Laurent Rosenfeld",
+ "y" : 5,
+ "drilldown" : "Laurent Rosenfeld"
+ },
+ {
+ "drilldown" : "Roger Bell West",
+ "name" : "Roger Bell West",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Simon Proctor",
+ "name" : "Simon Proctor",
+ "y" : 1
+ },
+ {
+ "name" : "Yet Ebreo",
+ "y" : 2,
+ "drilldown" : "Yet Ebreo"
+ }
+ ],
+ "name" : "Perl Weekly Challenge - 025"
+ }
+ ],
"drilldown" : {
"series" : [
{
+ "name" : "Laurent Rosenfeld",
+ "id" : "Laurent Rosenfeld",
+ "data" : [
+ [
+ "Perl 5",
+ 2
+ ],
+ [
+ "Perl 6",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ]
+ },
+ {
"name" : "Roger Bell West",
+ "id" : "Roger Bell West",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Roger Bell West"
+ ]
},
{
"name" : "Simon Proctor",
+ "id" : "Simon Proctor",
"data" : [
[
"Perl 6",
1
]
- ],
- "id" : "Simon Proctor"
+ ]
},
{
- "id" : "Yet Ebreo",
- "name" : "Yet Ebreo",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "name" : "Yet Ebreo",
+ "id" : "Yet Ebreo"
}
]
},
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
- },
"subtitle" : {
- "text" : "[Champions: 3] Last updated at 2019-09-10 10:56:36 GMT"
+ "text" : "[Champions: 4] Last updated at 2019-09-10 18:43:32 GMT"
},
- "chart" : {
- "type" : "column"
+ "tooltip" : {
+ "followPointer" : 1,
+ "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/>"
},
"xAxis" : {
"type" : "category"
},
- "series" : [
- {
- "colorByPoint" : 1,
- "name" : "Perl Weekly Challenge - 025",
- "data" : [
- {
- "y" : 2,
- "name" : "Roger Bell West",
- "drilldown" : "Roger Bell West"
- },
- {
- "y" : 1,
- "name" : "Simon Proctor",
- "drilldown" : "Simon Proctor"
- },
- {
- "name" : "Yet Ebreo",
- "drilldown" : "Yet Ebreo",
- "y" : 2
- }
- ]
- }
- ],
+ "chart" : {
+ "type" : "column"
+ },
"title" : {
"text" : "Perl Weekly Challenge - 025"
},
- "tooltip" : {
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "followPointer" : 1,
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
+ },
+ "legend" : {
+ "enabled" : 0
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index d447b90b88..470f8987d8 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,45 +1,57 @@
{
+ "subtitle" : {
+ "text" : "Last updated at 2019-09-10 18:43:40 GMT"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions - 2019"
+ },
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : null
+ },
+ "min" : 0
+ },
"xAxis" : {
+ "type" : "category",
"labels" : {
"style" : {
"fontSize" : "13px",
"fontFamily" : "Verdana, sans-serif"
}
- },
- "type" : "category"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Contributions - 2019"
+ }
},
"series" : [
{
- "dataLabels" : {
- "align" : "right",
- "color" : "#FFFFFF",
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- },
- "y" : 10,
- "rotation" : -90,
- "enabled" : "true",
- "format" : "{point.y:.0f}"
- },
- "name" : "Contributions",
"data" : [
[
"Blog",
- 263
+ 264
],
[
"Perl 5",
- 1008
+ 1010
],
[
"Perl 6",
- 607
+ 609
]
- ]
+ ],
+ "dataLabels" : {
+ "format" : "{point.y:.0f}",
+ "enabled" : "true",
+ "rotation" : -90,
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ },
+ "color" : "#FFFFFF",
+ "y" : 10,
+ "align" : "right"
+ },
+ "name" : "Contributions"
}
],
"chart" : {
@@ -47,17 +59,5 @@
},
"legend" : {
"enabled" : "false"
- },
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "subtitle" : {
- "text" : "Last updated at 2019-09-10 10:56:44 GMT"
- },
- "yAxis" : {
- "title" : {
- "text" : null
- },
- "min" : 0
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 5f2ae75574..04ca3b01bd 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,10 +1,153 @@
{
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ }
+ }
+ },
"xAxis" : {
"type" : "category"
},
+ "series" : [
+ {
+ "data" : [
+ {
+ "drilldown" : "001",
+ "y" : 132,
+ "name" : "#001"
+ },
+ {
+ "drilldown" : "002",
+ "y" : 104,
+ "name" : "#002"
+ },
+ {
+ "name" : "#003",
+ "y" : 66,
+ "drilldown" : "003"
+ },
+ {
+ "name" : "#004",
+ "y" : 86,
+ "drilldown" : "004"
+ },
+ {
+ "y" : 66,
+ "drilldown" : "005",
+ "name" : "#005"
+ },
+ {
+ "name" : "#006",
+ "drilldown" : "006",
+ "y" : 47
+ },
+ {
+ "name" : "#007",
+ "y" : 55,
+ "drilldown" : "007"
+ },
+ {
+ "drilldown" : "008",
+ "y" : 68,
+ "name" : "#008"
+ },
+ {
+ "y" : 66,
+ "drilldown" : "009",
+ "name" : "#009"
+ },
+ {
+ "drilldown" : "010",
+ "y" : 60,
+ "name" : "#010"
+ },
+ {
+ "y" : 78,
+ "drilldown" : "011",
+ "name" : "#011"
+ },
+ {
+ "name" : "#012",
+ "drilldown" : "012",
+ "y" : 83
+ },
+ {
+ "name" : "#013",
+ "y" : 76,
+ "drilldown" : "013"
+ },
+ {
+ "name" : "#014",
+ "y" : 95,
+ "drilldown" : "014"
+ },
+ {
+ "y" : 93,
+ "drilldown" : "015",
+ "name" : "#015"
+ },
+ {
+ "name" : "#016",
+ "drilldown" : "016",
+ "y" : 66
+ },
+ {
+ "name" : "#017",
+ "drilldown" : "017",
+ "y" : 79
+ },
+ {
+ "name" : "#018",
+ "y" : 76,
+ "drilldown" : "018"
+ },
+ {
+ "drilldown" : "019",
+ "y" : 95,
+ "name" : "#019"
+ },
+ {
+ "y" : 95,
+ "drilldown" : "020",
+ "name" : "#020"
+ },
+ {
+ "y" : 67,
+ "drilldown" : "021",
+ "name" : "#021"
+ },
+ {
+ "name" : "#022",
+ "y" : 63,
+ "drilldown" : "022"
+ },
+ {
+ "name" : "#023",
+ "y" : 91,
+ "drilldown" : "023"
+ },
+ {
+ "name" : "#024",
+ "drilldown" : "024",
+ "y" : 66
+ },
+ {
+ "name" : "#025",
+ "drilldown" : "025",
+ "y" : 10
+ }
+ ],
+ "name" : "Perl Weekly Challenge Languages",
+ "colorByPoint" : "true"
+ }
+ ],
"drilldown" : {
"series" : [
{
+ "name" : "001",
"id" : "001",
"data" : [
[
@@ -19,11 +162,9 @@
"Blog",
11
]
- ],
- "name" : "001"
+ ]
},
{
- "id" : "002",
"data" : [
[
"Perl 5",
@@ -38,11 +179,12 @@
9
]
],
+ "id" : "002",
"name" : "002"
},
{
- "name" : "003",
"id" : "003",
+ "name" : "003",
"data" : [
[
"Perl 5",
@@ -59,8 +201,6 @@
]
},
{
- "name" : "004",
- "id" : "004",
"data" : [
[
"Perl 5",
@@ -74,9 +214,12 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "004",
+ "name" : "004"
},
{
+ "id" : "005",
"name" : "005",
"data" : [
[
@@ -91,8 +234,7 @@
"Blog",
11
]
- ],
- "id" : "005"
+ ]
},
{
"data" : [
@@ -109,10 +251,11 @@
6
]
],
- "id" : "006",
- "name" : "006"
+ "name" : "006",
+ "id" : "006"
},
{
+ "id" : "007",
"name" : "007",
"data" : [
[
@@ -127,11 +270,11 @@
"Blog",
9
]
- ],
- "id" : "007"
+ ]
},
{
"name" : "008",
+ "id" : "008",
"data" : [
[
"Perl 5",
@@ -145,12 +288,11 @@
"Blog",
10
]
- ],
- "id" : "008"
+ ]
},
{
- "name" : "009",
"id" : "009",
+ "name" : "009",
"data" : [
[
"Perl 5",
@@ -168,6 +310,7 @@
},
{
"id" : "010",
+ "name" : "010",
"data" : [
[
"Perl 5",
@@ -181,11 +324,11 @@
"Blog",
11
]
- ],
- "name" : "010"
+ ]
},
{
"id" : "011",
+ "name" : "011",
"data" : [
[
"Perl 5",
@@ -199,8 +342,7 @@
"Blog",
9
]
- ],
- "name" : "011"
+ ]
},
{
"data" : [
@@ -217,8 +359,8 @@
11
]
],
- "id" : "012",
- "name" : "012"
+ "name" : "012",
+ "id" : "012"
},
{
"data" : [
@@ -235,11 +377,12 @@
13
]
],
- "id" : "013",
- "name" : "013"
+ "name" : "013",
+ "id" : "013"
},
{
"id" : "014",
+ "name" : "014",
"data" : [
[
"Perl 5",
@@ -253,11 +396,9 @@
"Blog",
14
]
- ],
- "name" : "014"
+ ]
},
{
- "name" : "015",
"data" : [
[
"Perl 5",
@@ -272,11 +413,10 @@
15
]
],
+ "name" : "015",
"id" : "015"
},
{
- "name" : "016",
- "id" : "016",
"data" : [
[
"Perl 5",
@@ -290,9 +430,12 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "016",
+ "name" : "016"
},
{
+ "name" : "017",
"id" : "017",
"data" : [
[
@@ -307,12 +450,11 @@
"Blog",
12
]
- ],
- "name" : "017"
+ ]
},
{
- "name" : "018",
"id" : "018",
+ "name" : "018",
"data" : [
[
"Perl 5",
@@ -347,7 +489,6 @@
"name" : "019"
},
{
- "id" : "020",
"data" : [
[
"Perl 5",
@@ -362,10 +503,12 @@
13
]
],
- "name" : "020"
+ "name" : "020",
+ "id" : "020"
},
{
"id" : "021",
+ "name" : "021",
"data" : [
[
"Perl 5",
@@ -379,12 +522,9 @@
"Blog",
10
]
- ],
- "name" : "021"
+ ]
},
{
- "name" : "022",
- "id" : "022",
"data" : [
[
"Perl 5",
@@ -398,10 +538,13 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "022",
+ "id" : "022"
},
{
"name" : "023",
+ "id" : "023",
"data" : [
[
"Perl 5",
@@ -415,10 +558,10 @@
"Blog",
12
]
- ],
- "id" : "023"
+ ]
},
{
+ "name" : "024",
"id" : "024",
"data" : [
[
@@ -433,187 +576,44 @@
"Blog",
9
]
- ],
- "name" : "024"
+ ]
},
{
- "name" : "025",
"id" : "025",
+ "name" : "025",
"data" : [
[
"Perl 5",
- 4
+ 6
],
[
"Perl 6",
- 1
+ 3
],
[
"Blog",
- 0
+ 1
]
]
}
]
},
- "title" : {
- "text" : "Perl Weekly Challenge Language"
+ "legend" : {
+ "enabled" : "false"
},
- "series" : [
- {
- "name" : "Perl Weekly Challenge Languages",
- "data" : [
- {
- "drilldown" : "001",
- "y" : 132,
- "name" : "#001"
- },
- {
- "drilldown" : "002",
- "name" : "#002",
- "y" : 104
- },
- {
- "drilldown" : "003",
- "y" : 66,
- "name" : "#003"
- },
- {
- "drilldown" : "004",
- "y" : 86,
- "name" : "#004"
- },
-