diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-09-10 19:43:45 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-09-10 19:43:45 +0100 |
| commit | de95dcac8917e3dd95ba233317b77c623d145b09 (patch) | |
| tree | 32866e0665d8c2aff61fccf3e1916c718e677145 | |
| parent | b9c48b373725629a2f47fac495d08d63acc0882c (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rw-r--r-- | challenge-025/laurent-rosenfeld/perl5/ch-1.pl | 57 | ||||
| -rw-r--r-- | challenge-025/laurent-rosenfeld/perl5/ch-2.pl | 78 | ||||
| -rw-r--r-- | challenge-025/laurent-rosenfeld/perl6/ch-1.p6 | 53 | ||||
| -rw-r--r-- | challenge-025/laurent-rosenfeld/perl6/ch-2.p6 | 68 | ||||
| -rw-r--r-- | stats/pwc-current.json | 129 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 68 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 396 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 906 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 54 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 114 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 276 |
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" - }, - |
