From 21827844f817625f2bb0fe969fccd047be1cef90 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 25 Aug 2019 23:06:11 +0100 Subject: - Added solutions by Guillermo Ramos. --- challenge-022/guillermo-ramos/perl5/ch-1.pl | 34 ++ challenge-022/guillermo-ramos/perl5/ch-2.pl | 139 +++++ stats/pwc-current.json | 173 +++--- stats/pwc-language-breakdown-summary.json | 66 +- stats/pwc-language-breakdown.json | 388 ++++++------ stats/pwc-leaders.json | 904 ++++++++++++++-------------- stats/pwc-summary-1-30.json | 46 +- stats/pwc-summary-31-60.json | 40 +- stats/pwc-summary-61-90.json | 54 +- stats/pwc-summary-91-120.json | 42 +- stats/pwc-summary.json | 42 +- 11 files changed, 1058 insertions(+), 870 deletions(-) create mode 100644 challenge-022/guillermo-ramos/perl5/ch-1.pl create mode 100644 challenge-022/guillermo-ramos/perl5/ch-2.pl diff --git a/challenge-022/guillermo-ramos/perl5/ch-1.pl b/challenge-022/guillermo-ramos/perl5/ch-1.pl new file mode 100644 index 0000000000..f6b2de4b1d --- /dev/null +++ b/challenge-022/guillermo-ramos/perl5/ch-1.pl @@ -0,0 +1,34 @@ +#!/usr/bin/env perl +# +# Write a script to print first 10 Sexy Prime Pairs. Sexy primes are prime +# numbers that differ from each other by 6. For example, the numbers 5 and 11 +# are both sexy primes, because 11 - 5 = 6. The term “sexy prime” is a pun +# stemming from the Latin word for six: sex. For more information, please +# checkout wiki page. +# +# (https://en.wikipedia.org/wiki/Sexy_prime). +################################################################################ + +use strict; +use warnings; + +use List::Util qw; + +my $MAX_SEXY = 10; + +my @primes = (); +my @sexy; +my $p = 2; + +while (@sexy < $MAX_SEXY*2) { + unless (any { $p % $_ == 0 } @primes) { + push @primes, $p; + push @sexy, $primes[-2], $primes[-1] + if @primes > 1 && $primes[-1] == $primes[-2] + 6; + } + $p++; +} + +foreach my $i (0 .. @sexy/2-1) { + printf "%s-%s\n", $sexy[$i*2], $sexy[$i*2+1]; +} diff --git a/challenge-022/guillermo-ramos/perl5/ch-2.pl b/challenge-022/guillermo-ramos/perl5/ch-2.pl new file mode 100644 index 0000000000..22a49d87dd --- /dev/null +++ b/challenge-022/guillermo-ramos/perl5/ch-2.pl @@ -0,0 +1,139 @@ +#!/usr/bin/env perl +# +# Write a script to implement Lempel–Ziv–Welch (LZW) compression algorithm. The +# script should have method to encode/decode algorithm. The wiki page explains +# the compression algorithm very nicely. +# +# (https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch). +################################################################################ + +use strict; +use warnings; + +################################################################################ +# Naïve implementation of a bidirectional map +my $MAX_BIT_WIDTH = 12; +sub bimap_new { + return {binwidth=>0, sym2bin=>{}, bin2sym=>{}}; +} +sub bimap_extend { + my ($dict, $binwidth) = @_; + return unless $binwidth > $dict->{binwidth} && $binwidth <= $MAX_BIT_WIDTH; + my ($sym2bin, $bin2sym) = @$dict{'sym2bin', 'bin2sym'}; + foreach my $sym (keys %$sym2bin) { + my $bin = $sym2bin->{$sym}; + delete $bin2sym->{$bin}; + $bin = "0" x ($binwidth - length $bin) . $bin; + $sym2bin->{$sym} = $bin; + $bin2sym->{$bin} = $sym; + } + $dict->{binwidth} = $binwidth; +} +sub bimap_insert { + my ($dict, $sym) = @_; + my ($sym2bin, $bin2sym) = @$dict{'sym2bin', 'bin2sym'}; + return $dict->{sym2bin}{$sym} if exists $dict->{sym2bin}{$sym}; + my $ord = keys %{$dict->{sym2bin}}; # Ordinal of symbol to insert in decimal + my $bin = sprintf "%b", $ord; # ... and in binary (string of 1/0s) + return unless length $bin <= $MAX_BIT_WIDTH; + $sym2bin->{$sym} = $bin; # Update symbol -> binary mapping + $bin2sym->{$bin} = $sym; # Update binary -> symbol mapping + + # Extend with left zeroes the previously inserted binaries + bimap_extend($dict, length($bin)); + + return $bin; +} + + +################################################################################ +# Default dictionary +my $DEFAULT_DICT = bimap_new(); +my $STOP = ''; +bimap_insert($DEFAULT_DICT, $_) foreach (map(chr, 1..254), $STOP); + +sub binary_encode { + my $text = shift; + my $binary = pack("B*", $text); + return $binary; +} + +sub binary_decode { + my $binary = shift; + my $text = unpack("B*", $binary); + return $text +} + +sub lzw_encode { + my $dict = shift; + my $input = shift; + my ($sym2bin, $bin2sym) = @{$dict}{'sym2bin', 'bin2sym'}; + + my $out = ''; + my $w = ''; + foreach my $i (0 .. length($input)-1) { + my $char = substr($input, $i, 1); + my $dict_seq = $w . $char; + unless (exists $sym2bin->{$dict_seq}) { + $out .= $sym2bin->{$w}; + bimap_insert($dict, $dict_seq); + $w = ''; + } + $w .= $char; + } + $out .= $sym2bin->{$w} . $sym2bin->{$STOP}; + return binary_encode($out); +} + +sub lzw_decode { + my $dict = shift; + my $input = binary_decode(shift()); + my ($sym2bin, $bin2sym) = @{$dict}{'sym2bin', 'bin2sym'}; + + my $out = ''; + my $lastsym; + while ($input) { + my $sym; + foreach my $bin (keys %$bin2sym) { + if ($input =~ /^$bin/) { + $sym = $bin2sym->{$bin}; + $input = substr($input, $dict->{binwidth}); + last; + } + } + unless (defined $sym) { + $sym = $lastsym . substr($lastsym, 0, 1); + $input = substr($input, $dict->{binwidth}); + } + $out .= $sym; + if ($sym eq $STOP) { + return $out; + } + return $out if $sym eq $STOP; + if (defined $lastsym) { + my $bin = bimap_insert($dict, $lastsym . $sym); + if ((log($dict->{binwidth}) / log(2)) =~ /^\d+$/) { + bimap_extend($dict, $dict->{binwidth}+1); + } + } + $lastsym = $sym; + } +} + +sub usage { + die "Usage: $0 -e | --encode | -d | --decode\n"; +} +my $mode = shift || usage; +if ($mode eq '-e' || $mode eq '--encode') { + my $input = join "", <>; + my $out = lzw_encode($DEFAULT_DICT, $input); + my $comprate = 100 * length($out) / length($input); + printf STDERR "Compressed to %.2f%% of original size\n", $comprate; + print $out; +} elsif ($mode eq '-d' || $mode eq '--decode') { + my $input = join "", <>; + my $out = lzw_decode($DEFAULT_DICT, $input); + print $out; +} else { + usage; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 0c507fcb71..e00cf4f56b 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -2,57 +2,88 @@ "legend" : { "enabled" : 0 }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
", + "followPointer" : 1 + }, + "title" : { + "text" : "Perl Weekly Challenge - 022" + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category" + }, + "subtitle" : { + "text" : "[Champions: 18] Last updated at 2019-08-25 22:05:53 GMT" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, "series" : [ { "data" : [ { - "drilldown" : "Adam Russell", + "name" : "Adam Russell", "y" : 3, - "name" : "Adam Russell" + "drilldown" : "Adam Russell" }, { "drilldown" : "Andrezgz", - "name" : "Andrezgz", - "y" : 1 + "y" : 1, + "name" : "Andrezgz" }, { - "name" : "Athanasius", + "drilldown" : "Athanasius", "y" : 4, - "drilldown" : "Athanasius" + "name" : "Athanasius" }, { - "drilldown" : "Daniel Mantovani", + "y" : 1, "name" : "Daniel Mantovani", - "y" : 1 + "drilldown" : "Daniel Mantovani" }, { - "name" : "Duane Powell", "y" : 2, + "name" : "Duane Powell", "drilldown" : "Duane Powell" }, { - "y" : 2, "name" : "E. Choroba", + "y" : 2, "drilldown" : "E. Choroba" }, + { + "drilldown" : "Guillermo Ramos", + "name" : "Guillermo Ramos", + "y" : 2 + }, { "drilldown" : "Joelle Maslak", - "y" : 4, - "name" : "Joelle Maslak" + "name" : "Joelle Maslak", + "y" : 4 }, { "drilldown" : "Kevin Colyer", - "y" : 2, - "name" : "Kevin Colyer" + "name" : "Kevin Colyer", + "y" : 2 }, { - "y" : 1, "name" : "Kian-Meng Ang", + "y" : 1, "drilldown" : "Kian-Meng Ang" }, { @@ -61,9 +92,9 @@ "drilldown" : "Laurent Rosenfeld" }, { + "drilldown" : "Mark Senn", "name" : "Mark Senn", - "y" : 2, - "drilldown" : "Mark Senn" + "y" : 2 }, { "drilldown" : "Ozzy", @@ -72,18 +103,18 @@ }, { "drilldown" : "Roger Bell West", - "name" : "Roger Bell West", - "y" : 4 + "y" : 4, + "name" : "Roger Bell West" }, { - "drilldown" : "Ruben Westerberg", "name" : "Ruben Westerberg", - "y" : 4 + "y" : 4, + "drilldown" : "Ruben Westerberg" }, { "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 2 + "y" : 2, + "name" : "Simon Proctor" }, { "drilldown" : "Steven Wilson", @@ -100,25 +131,11 @@ "name" : "Perl Weekly Challenge - 022" } ], - "subtitle" : { - "text" : "[Champions: 17] Last updated at 2019-08-25 17:38:11 GMT" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "title" : { - "text" : "Perl Weekly Challenge - 022" - }, "drilldown" : { "series" : [ { "name" : "Adam Russell", + "id" : "Adam Russell", "data" : [ [ "Perl 5", @@ -128,18 +145,17 @@ "Blog", 1 ] - ], - "id" : "Adam Russell" + ] }, { - "id" : "Andrezgz", "name" : "Andrezgz", "data" : [ [ "Perl 5", 1 ] - ] + ], + "id" : "Andrezgz" }, { "name" : "Athanasius", @@ -156,37 +172,46 @@ "id" : "Athanasius" }, { + "name" : "Daniel Mantovani", "data" : [ [ "Perl 5", 1 ] ], - "name" : "Daniel Mantovani", "id" : "Daniel Mantovani" }, { + "name" : "Duane Powell", + "id" : "Duane Powell", + "data" : [ + [ + "Perl 5", + 2 + ] + ] + }, + { + "id" : "E. Choroba", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Duane Powell", - "id" : "Duane Powell" + "name" : "E. Choroba" }, { + "name" : "Guillermo Ramos", "data" : [ [ "Perl 5", 2 ] ], - "name" : "E. Choroba", - "id" : "E. Choroba" + "id" : "Guillermo Ramos" }, { - "id" : "Joelle Maslak", "name" : "Joelle Maslak", "data" : [ [ @@ -197,31 +222,30 @@ "Perl 6", 2 ] - ] + ], + "id" : "Joelle Maslak" }, { "name" : "Kevin Colyer", + "id" : "Kevin Colyer", "data" : [ [ "Perl 5", 2 ] - ], - "id" : "Kevin Colyer" + ] }, { - "name" : "Kian-Meng Ang", + "id" : "Kian-Meng Ang", "data" : [ [ "Perl 5", 1 ] ], - "id" : "Kian-Meng Ang" + "name" : "Kian-Meng Ang" }, { - "id" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld", "data" : [ [ "Perl 5", @@ -235,10 +259,11 @@ "Blog", 1 ] - ] + ], + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" }, { - "id" : "Mark Senn", "data" : [ [ "Perl 6", @@ -249,20 +274,21 @@ 1 ] ], + "id" : "Mark Senn", "name" : "Mark Senn" }, { + "name" : "Ozzy", "data" : [ [ "Perl 6", 1 ] ], - "name" : "Ozzy", "id" : "Ozzy" }, { - "id" : "Roger Bell West", + "name" : "Roger Bell West", "data" : [ [ "Perl 5", @@ -277,9 +303,11 @@ 1 ] ], - "name" : "Roger Bell West" + "id" : "Roger Bell West" }, { + "name" : "Ruben Westerberg", + "id" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -289,31 +317,30 @@ "Perl 6", 2 ] - ], - "name" : "Ruben Westerberg", - "id" : "Ruben Westerberg" + ] }, { "name" : "Simon Proctor", + "id" : "Simon Proctor", "data" : [ [ "Perl 6", 2 ] - ], - "id" : "Simon Proctor" + ] }, { "id" : "Steven Wilson", - "name" : "Steven Wilson", "data" : [ [ "Perl 5", 1 ] - ] + ], + "name" : "Steven Wilson" }, { + "name" : "Yet Ebreo", "data" : [ [ "Perl 5", @@ -328,20 +355,8 @@ 1 ] ], - "name" : "Yet Ebreo", "id" : "Yet Ebreo" } ] - }, - "xAxis" : { - "type" : "category" - }, - "tooltip" : { - "followPointer" : 1, - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
" - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 4f006997cd..a008cba48a 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,4 +1,31 @@ { + "subtitle" : { + "text" : "Last updated at 2019-08-25 22:06:05 GMT" + }, + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, + "legend" : { + "enabled" : "false" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "chart" : { + "type" : "column" + }, "series" : [ { "name" : "Contributions", @@ -9,7 +36,7 @@ ], [ "Perl 5", - 910 + 912 ], [ "Perl 6", @@ -17,47 +44,20 @@ ] ], "dataLabels" : { - "rotation" : -90, + "y" : 10, "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, - "align" : "right", "color" : "#FFFFFF", - "y" : 10, - "enabled" : "true", - "format" : "{point.y:.0f}" + "format" : "{point.y:.0f}", + "rotation" : -90, + "align" : "right", + "enabled" : "true" } } ], "title" : { "text" : "Perl Weekly Challenge Contributions - 2019" - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "legend" : { - "enabled" : "false" - }, - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - }, - "subtitle" : { - "text" : "Last updated at 2019-08-25 17:38:21 GMT" - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index c7035bad73..7b21d16ae1 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,7 +1,160 @@ { + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-08-25 22:06:05 GMT" + }, + "tooltip" : { + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "headerFormat" : "", + "followPointer" : "true" + }, + "xAxis" : { + "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "legend" : { + "enabled" : "false" + }, + "chart" : { + "type" : "column" + }, + "series" : [ + { + "data" : [ + { + "name" : "#001", + "drilldown" : "001", + "y" : 127 + }, + { + "name" : "#002", + "drilldown" : "002", + "y" : 104 + }, + { + "y" : 66, + "name" : "#003", + "drilldown" : "003" + }, + { + "drilldown" : "004", + "name" : "#004", + "y" : 84 + }, + { + "y" : 66, + "drilldown" : "005", + "name" : "#005" + }, + { + "name" : "#006", + "drilldown" : "006", + "y" : 47 + }, + { + "y" : 55, + "drilldown" : "007", + "name" : "#007" + }, + { + "name" : "#008", + "drilldown" : "008", + "y" : 68 + }, + { + "y" : 66, + "name" : "#009", + "drilldown" : "009" + }, + { + "y" : 59, + "name" : "#010", + "drilldown" : "010" + }, + { + "y" : 78, + "drilldown" : "011", + "name" : "#011" + }, + { + "name" : "#012", + "drilldown" : "012", + "y" : 82 + }, + { + "name" : "#013", + "drilldown" : "013", + "y" : 75 + }, + { + "drilldown" : "014", + "name" : "#014", + "y" : 95 + }, + { + "y" : 91, + "name" : "#015", + "drilldown" : "015" + }, + { + "y" : 65, + "name" : "#016", + "drilldown" : "016" + }, + { + "y" : 78, + "name" : "#017", + "drilldown" : "017" + }, + { + "y" : 76, + "drilldown" : "018", + "name" : "#018" + }, + { + "y" : 95, + "drilldown" : "019", + "name" : "#019" + }, + { + "y" : 95, + "drilldown" : "020", + "name" : "#020" + }, + { + "name" : "#021", + "drilldown" : "021", + "y" : 66 + }, + { + "drilldown" : "022", + "name" : "#022", + "y" : 46 + } + ], + "colorByPoint" : "true", + "name" : "Perl Weekly Challenge Languages" + } + ], + "title" : { + "text" : "Perl Weekly Challenge Language" + }, "drilldown" : { "series" : [ { + "name" : "001", "data" : [ [ "Perl 5", @@ -16,10 +169,11 @@ 10 ] ], - "id" : "001", - "name" : "001" + "id" : "001" }, { + "name" : "002", + "id" : "002", "data" : [ [ "Perl 5", @@ -33,12 +187,9 @@ "Blog", 9 ] - ], - "id" : "002", - "name" : "002" + ] }, { - "name" : "003", "id" : "003", "data" : [ [ @@ -53,7 +204,8 @@ "Blog", 8 ] - ] + ], + "name" : "003" }, { "data" : [ @@ -74,6 +226,8 @@ "name" : "004" }, { + "name" : "005", + "id" : "005", "data" : [ [ "Perl 5", @@ -87,12 +241,9 @@ "Blog", 11 ] - ], - "name" : "005", - "id" : "005" + ] }, { - "id" : "006", "name" : "006", "data" : [ [ @@ -107,11 +258,11 @@ "Blog", 6 ] - ] + ], + "id" : "006" }, { "name" : "007", - "id" : "007", "data" : [ [ "Perl 5", @@ -125,9 +276,11 @@ "Blog", 9 ] - ] + ], + "id" : "007" }, { + "id" : "008", "data" : [ [ "Perl 5", @@ -142,12 +295,11 @@ 10 ] ], - "id" : "008", "name" : "008" }, { - "id" : "009", "name" : "009", + "id" : "009", "data" : [ [ "Perl 5", @@ -164,6 +316,7 @@ ] }, { + "id" : "010", "data" : [ [ "Perl 5", @@ -178,12 +331,11 @@ 10 ] ], - "name" : "010", - "id" : "010" + "name" : "010" }, { - "id" : "011", "name" : "011", + "id" : "011", "data" : [ [ "Perl 5", @@ -200,8 +352,8 @@ ] }, { - "id" : "012", "name" : "012", + "id" : "012", "data" : [ [ "Perl 5", @@ -219,7 +371,6 @@ }, { "id" : "013", - "name" : "013", "data" : [ [ "Perl 5", @@ -233,7 +384,8 @@ "Blog", 12 ] - ] + ], + "name" : "013" }, { "name" : "014", @@ -254,6 +406,7 @@ ] }, { + "name" : "015", "data" : [ [ "Perl 5", @@ -268,10 +421,10 @@ 13 ] ], - "id" : "015", - "name" : "015" + "id" : "015" }, { + "name" : "016", "data" : [ [ "Perl 5", @@ -286,12 +439,9 @@ 11 ] ], - "name" : "016", "id" : "016" }, { - "name" : "017", - "id" : "017", "data" : [ [ "Perl 5", @@ -305,9 +455,13 @@ "Blog", 11 ] - ] + ], + "id" : "017", + "name" : "017" }, { + "name" : "018", + "id" : "018", "data" : [ [ "Perl 5", @@ -321,11 +475,11 @@ "Blog", 14 ] - ], - "id" : "018", - "name" : "018" + ] }, { + "name" : "019", + "id" : "019", "data" : [ [ "Perl 5", @@ -339,13 +493,10 @@ "Blog", 13 ] - ], - "name" : "019", - "id" : "019" + ] }, { "id" : "020", - "name" : "020", "data" : [ [ "Perl 5", @@ -359,10 +510,10 @@ "Blog", 13 ] - ] + ], + "name" : "020" }, { - "name" : "021", "id" : "021", "data" : [ [ @@ -377,15 +528,14 @@ "Blog", 9 ] - ] + ], + "name" : "021" }, { - "name" : "022", - "id" : "022", "data" : [ [ "Perl 5", - 24 + 26 ], [ "Perl 6", @@ -395,160 +545,10 @@ "Blog", 5 ] - ] + ], + "id" : "022", + "name" : "022" } ] - }, - "series" : [ - { - "colorByPoint" : "true", - "name" : "Perl Weekly Challenge Languages", - "data" : [ - { - "y" : 127, - "drilldown" : "001", - "name" : "#001" - }, - { - "drilldown" : "002", - "name" : "#002", - "y" : 104 - }, - { - "name" : "#003", - "drilldown" : "003", - "y" : 66 - }, - { - "y" : 84, - "drilldown" : "004", - "name" : "#004" - }, - { - "y" : 66, - "name" : "#005", - "drilldown" : "005" - }, - { - "drilldown" : "006", - "name" : "#006", - "y" : 47 - }, - { - "y" : 55, - "name" : "#007", - "drilldown" : "007" - }, - { - "drilldown" : "008", - "name" : "#008", - "y" : 68 - }, - { - "drilldown" : "009", - "name" : "#009", - "y" : 66 - }, - { - "drilldown" : "010", - "name" : "#010", - "y" : 59 - }, - { - "y" : 78, - "drilldown" : "011", - "name" : "#011" - }, - { - "y" : 82, - "name" : "#012", - "drilldown" : "012" - }, - { - "drilldown" : "013", - "name" : "#013", - "y" : 75 - }, - { - "name" : "#014", - "drilldown" : "014", - "y" : 95 - }, - { - "y" : 91, - "drilldown" : "015", - "name" : "#015" - }, - { - "drilldown" : "016", - "name" : "#016", - "y" : 65 - }, - { - "name" : "#017", - "drilldown" : "017", - "y" : 78 - }, - { - "y" : 76, - "drilldown" : "018", - "name" : "#018" - }, - { - "y" : 95, - "name" : "#019", - "drilldown" : "019" - }, - { - "y" : 95, - "drilldown" : "020", - "name" : "#020" - }, - { - "y" : 66, - "drilldown" : "021", - "name" : "#021" - }, - { - "name" : "#022", - "drilldown" : "022", - "y" : 44 - } - ] - } - ], - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true", - "headerFormat" : "" - }, - "legend" : { - "enabled" : "false" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "xAxis" : { - "type" : "category" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-08-25 17:38:21 GMT" - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index e0b06a58a3..4e383368b5 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -1,289 +1,16 @@ { - "chart" : { - "type" : "column" - }, - "series" : [ - { - "colorByPoint" : "true", - "data" : [ - { - "drilldown" : "Laurent Rosenfeld", - "name" : "#1: Laurent Rosenfeld", - "y" : 244 - }, - { - "drilldown" : "Joelle Maslak", - "y" : 236, - "name" : "#2: Joelle Maslak" - }, - { - "drilldown" : "Jaldhar H. Vyas", - "y" : 182, - "name" : "#3: Jaldhar H. Vyas" - }, - { - "name" : "#4: Ruben Westerberg", - "y" : 164, - "drilldown" : "Ruben Westerberg" - }, - { - "drilldown" : "Adam Russell", - "name" : "#5: Adam Russell", - "y" : 142 - }, - { - "name" : "#6: Athanasius", - "y" : 142, - "drilldown" : "Athanasius" - }, - { - "drilldown" : "Kian-Meng Ang", - "y" : 120, - "name" : "#7: Kian-Meng Ang" - }, - { - "drilldown" : "Arne Sommer", - "name" : "#8: Arne Sommer", - "y" : 118 - }, - { - "name" : "#9: E. Choroba", - "y" : 106, - "drilldown" : "E. Choroba" - }, - { - "name" : "#10: Simon Proctor", - "y" : 94, - "drilldown" : "Simon Proctor" - }, - { - "drilldown" : "Francis Whittle", - "y" : 92, - "name" : "#11: Francis Whittle" - }, - { - "drilldown" : "Dave Jacoby", - "name" : "#12: Dave Jacoby", - "y" : 90 - }, - { - "drilldown" : "Andrezgz", - "name" : "#13: Andrezgz", - "y" : 82 - }, - { - "y" : 80, - "name" : "#14: Feng Chang", - "drilldown" : "Feng Chang" - }, - { - "drilldown" : "Daniel Mantovani", - "name" : "#15: Daniel Mantovani", - "y" : 74 - }, - { - "y" : 72, - "name" : "#16: Duncan C. White", - "drilldown" : "Duncan C. White" - }, - { - "name" : "#17: Gustavo Chaves", - "y" : 72, - "drilldown" : "Gustavo Chaves" - }, - { - "y" : 70, - "name" : "#18: Steven Wilson", - "drilldown" : "Steven Wilson" - }, - { - "drilldown" : "Yozen Hernandez", - "name" : "#19: Yozen Hernandez", - "y" : 70 - }, - { - "drilldown" : "Roger Bell West", - "name" : "#20: Roger Bell West", - "y" : 60 - }, - { - "drilldown" : "Jo Christian Oterhals", - "name" : "#21: Jo Christian Oterhals", - "y" : 56 - }, - { - "drilldown" : "Mark Senn", - "name" : "#22: Mark Senn", - "y" : 50 - }, - { - "y" : 46, - "name" : "#23: Guillermo Ramos", - "drilldown" : "Guillermo Ramos" - }, - { - "y" : 46, - "name" : "#24: Ozzy", - "drilldown" : "Ozzy" - }, - { - "name" : "#25: Dr James A. Smith", - "y" : 44, - "drilldown" : "Dr James A. Smith" - }, - { - "drilldown" : "Kevin Colyer", - "name" : "#26: Kevin Colyer", - "y" : 42 - }, - { - "drilldown" : "Veesh Goldman", - "name" : "#27: Veesh Goldman", - "y" : 42 - }, - { - "drilldown" : "Lubos Kolouch", - "name" : "#28: Lubos Kolouch", - "y" : 38 - }, - { - "drilldown" : "Duane Powell", - "name" : "#29: Duane Powell", - "y" : 34 - }, - { - "name" : "#30: Nick Logan", - "y" : 32, - "drilldown" : "Nick Logan" - }, - { - "drilldown" : "Noud", - "name" : "#31: Noud", - "y" : 32 - }, - { - "drilldown" : "Lars Balker", - "y" : 28, - "name" : "#32: Lars Balker" - }, - { - "drilldown" : "Jaime Corchado", - "name" : "#33: Jaime Corchado", - "y" : 24 - }, - { - "y" : 24, - "name" : "#34: Maxim Nechaev", - "drilldown" : "Maxim Nechaev" - }, - { - "drilldown" : "Randy Lauen", - "y" : 24, - "name" : "#35: Randy Lauen" - }, - { - "y" : 22, - "name" : "#36: Alicia Bielsa", - "drilldown" : "Alicia Bielsa" - }, - { - "y" : 20, - "name" : "#37: Doug Schrag", - "drilldown" : "Doug Schrag" - }, - { - "y" : 18, - "name" : "#38: Neil Bowers", - "drilldown" : "Neil Bowers" - }, - { - "drilldown" : "Yet Ebreo", - "name" : "#39: Yet Ebreo", - "y" : 18 - }, - { - "drilldown" : "Dave Cross", - "y" : 16, - "name" : "#40: Dave Cross" - }, - { - "drilldown" : "Pete Houston", - "name" : "#41: Pete Houston", - "y" : 16 - }, - { - "drilldown" : "Robert Gratza", - "y" : 16, - "name" : "#42: Robert Gratza" - }, - { - "y" : 14, - "name" : "#43: John Barrett", - "drilldown" : "John Barrett" - }, - { - "drilldown" : "Khalid", - "name" : "#44: Khalid", - "y" : 14 - }, - { - "drilldown" : "Walt Mankowski", - "y" : 14, - "name" : "#45: Walt Mankowski" - }, - { - "drilldown" : "Aaron Sherman", - "y" : 12, - "name" : "#46: Aaron Sherman" - }, - { - "y" : 12, - "name" : "#47: Donald Hunter", - "drilldown" : "Donald Hunter" - }, - { - "y" : 12, - "name" : "#48: Kivanc Yazan", - "drilldown" : "Kivanc Yazan" - }, - { - "name" : "#49: Maxim Kolodyazhny", - "y" : 12, - "drilldown" : "Maxim Kolodyazhny" - }, - { - "drilldown" : "Philippe Bruhat", - "y" : 12, - "name" : "#50: Philippe Bruhat" - } - ], - "name" : "Perl Weekly Challenge Leaders" - } - ], - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-08-25 17:38:18 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Leaders (TOP 50)" - }, "legend" : { "enabled" : "false" }, - "xAxis" : { - "type" : "category" + "yAxis" : { + "title" : { + "text" : "Total Score" + } }, "drilldown" : { "series" : [ { + "id" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld", "data" : [ [ @@ -298,65 +25,62 @@ "Perl 6", 43 ] - ], - "id" : "Laurent Rosenfeld" + ] }, { - "id" : "Joelle Maslak", "data" : [ [ "Blog", 4 ], [ - "Perl 5", + "Perl 6", 57 ], [ - "Perl 6", + "Perl 5", 57 ] ], - "name" : "Joelle Maslak" + "name" : "Joelle Maslak", + "id" : "Joelle Maslak" }, { + "id" : "Jaldhar H. Vyas", "name" : "Jaldhar H. Vyas", "data" : [ - [ - "Perl 6", - 41 - ], [ "Perl 5", 42 ], + [ + "Perl 6", + 41 + ], [ "Blog", 8 ] - ], - "id" : "Jaldhar H. Vyas" + ] }, { "id" : "Ruben Westerberg", "data" : [ [ - "Perl 5", + "Perl 6", 41 ], [ - "Perl 6", + "Perl 5", 41 ] ], "name" : "Ruben Westerberg" }, { + "id" : "Adam Russell", + "name" : "Adam Russell", "data" : [ - [ - "Perl 6", - 3 - ], [ "Perl 5", 45 @@ -364,22 +88,24 @@ [ "Blog", 23 + ], + [ + "Perl 6", + 3 ] - ], - "name" : "Adam Russell", - "id" : "Adam Russell" + ] }, { "name" : "Athanasius", "data" : [ - [ - "Blog", - 3 - ], [ "Perl 5", 46 ], + [ + "Blog", + 3 + ], [ "Perl 6", 22 @@ -388,7 +114,6 @@ "id" : "Athanasius" }, { - "id" : "Kian-Meng Ang", "data" : [ [ "Perl 5", @@ -399,7 +124,8 @@ 25 ] ], - "name" : "Kian-Meng Ang" + "name" : "Kian-Meng Ang", + "id" : "Kian-Meng Ang" }, { "id" : "Arne Sommer", @@ -430,8 +156,13 @@ "id" : "E. Choroba" }, { + "id" : "Simon Proctor", "name" : "Simon Proctor", "data" : [ + [ + "Perl 6", + 36 + ], [ "Blog", 7 @@ -439,16 +170,11 @@ [ "Perl 5", 4 - ], - [ - "Perl 6", - 36 ] - ], - "id" : "Simon Proctor" + ] }, { - "id" : "Francis Whittle", + "name" : "Francis Whittle", "data" : [ [ "Blog", @@ -459,25 +185,25 @@ 37 ] ], - "name" : "Francis Whittle" + "id" : "Francis Whittle" }, { + "id" : "Dave Jacoby", "data" : [ - [ - "Blog", - 18 - ], [ "Perl 5", 26 ], + [ + "Blog", + 18 + ], [ "Perl 6", 1 ] ], - "name" : "Dave Jacoby", - "id" : "Dave Jacoby" + "name" : "Dave Jacoby" }, { "name" : "Andrezgz", @@ -490,18 +216,18 @@ "id" : "Andrezgz" }, { + "id" : "Feng Chang", + "name" : "Feng Chang", "data" : [ - [ - "Perl 5", - 19 - ], [ "Perl 6", 21 + ], + [ + "Perl 5", + 19 ] - ], - "name" : "Feng Chang", - "id" : "Feng Chang" + ] }, { "name" : "Daniel Mantovani", @@ -526,51 +252,47 @@ { "name" : "Gustavo Chaves", "data" : [ - [ - "Perl 5", - 32 - ], [ "Blog", 4 + ], + [ + "Perl 5", + 32 ] ], "id" : "Gustavo Chaves" }, { + "id" : "Steven Wilson", "data" : [ - [ - "Blog", - 3 - ], [ "Perl 5", 32 + ], + [ + "Blog", + 3 ] ], - "name" : "Steven Wilson", - "id" : "Steven Wilson" + "name" : "Steven Wilson" }, { - "id" : "Yozen Hernandez", - "name" : "Yozen Hernandez", "data" : [ - [ - "Perl 5", - 21 - ], [ "Blog", 14 + ], + [ + "Perl 5", + 21 ] - ] + ], + "name" : "Yozen Hernandez", + "id" : "Yozen Hernandez" }, { "data" : [ - [ - "Perl 5", - 18 - ], [ "Blog", 6 @@ -578,6 +300,10 @@ [ "Perl 6", 6 + ], + [ + "Perl 5", + 18 ] ], "name" : "Roger Bell West", @@ -585,7 +311,12 @@ }, { "id" : "Jo Christian Oterhals", + "name" : "Jo Christian Oterhals", "data" : [ + [ + "Blog", + 7 + ], [ "Perl 6", 15 @@ -593,15 +324,21 @@ [ "Perl 5", 6 - ], + ] + ] + }, + { + "id" : "Guillermo Ramos", + "data" : [ [ - "Blog", - 7 + "Perl 5", + 25 ] ], - "name" : "Jo Christian Oterhals" + "name" : "Guillermo Ramos" }, { + "name" : "Mark Senn", "data" : [ [ "Blog", @@ -612,189 +349,179 @@ 17 ] ], - "name" : "Mark Senn", "id" : "Mark Senn" }, { - "data" : [ - [ - "Perl 5", - 23 - ] - ], - "name" : "Guillermo Ramos", - "id" : "Guillermo Ramos" - }, - { - "name" : "Ozzy", "data" : [ [ "Perl 6", 23 ] ], + "name" : "Ozzy", "id" : "Ozzy" }, { + "name" : "Dr James A. Smith", "data" : [ - [ - "Perl 6", - 10 - ], [ "Perl 5", 12 + ], + [ + "Perl 6", + 10 ] ], - "name" : "Dr James A. Smith", "id" : "Dr James A. Smith" }, { - "name" : "Kevin Colyer", + "id" : "Kevin Colyer", "data" : [ - [ - "Perl 6", - 19 - ], [ "Perl 5", 2 + ], + [ + "Perl 6", + 19 ] ], - "id" : "Kevin Colyer" + "name" : "Kevin Colyer" }, { - "id" : "Veesh Goldman", "data" : [ [ "Perl 5", 16 ], - [ - "Blog", - 3 - ], [ "Perl 6", 2 + ], + [ + "Blog", + 3 ] ], - "name" : "Veesh Goldman" + "name" : "Veesh Goldman", + "id" : "Veesh Goldman" }, { - "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch", "data" : [ [ "Perl 5", 19 ] ], - "name" : "Lubos Kolouch" + "id" : "Lubos Kolouch" }, { "id" : "Duane Powell", - "name" : "Duane Powell", "data" : [ [ "Perl 5", 17 ] - ] + ], + "name" : "Duane Powell" }, { "id" : "Nick Logan", - "name" : "Nick Logan", "data" : [ [ - "Perl 5", + "Perl 6", 8 ], [ - "Perl 6", + "Perl 5", 8 ] - ] + ], + "name" : "Nick Logan" }, { + "id" : "Noud", "data" : [ [ "Perl 6", 16 ] ], - "name" : "Noud", - "id" : "Noud" + "name" : "Noud" }, { + "name" : "Lars Balker", "data" : [ - [ - "Perl 5", - 10 - ], [ "Perl 6", 4 + ], + [ + "Perl 5", + 10 ] ], - "name" : "Lars Balker", "id" : "Lars Balker" }, { + "name" : "Jaime Corchado", "data" : [ [ "Perl 5", 12 ] ], - "name" : "Jaime Corchado", "id" : "Jaime Corchado" }, { + "id" : "Maxim Nechaev", "name" : "Maxim Nechaev", "data" : [ [ "Perl 5", 12 ] - ], - "id" : "Maxim Nechaev" + ] }, { "data" : [ - [ - "Perl 5", - 2 - ], [ "Perl 6", 10 + ], + [ + "Perl 5", + 2 ] ], "name" : "Randy Lauen", "id" : "Randy Lauen" }, { + "id" : "Alicia Bielsa", "data" : [ [ "Perl 5", 11 ] ], - "name" : "Alicia Bielsa", - "id" : "Alicia Bielsa" + "name" : "Alicia Bielsa" }, { "id" : "Doug Schrag", + "name" : "Doug Schrag", "data" : [ [ "Perl 6", 10 ] - ], - "name" : "Doug Schrag" + ] }, { "id" : "Neil Bowers", + "name" : "Neil Bowers", "data" : [ [ "Perl 5", @@ -804,29 +531,28 @@ "Blog", 3 ] - ], - "name" : "Neil Bowers" + ] }, { + "id" : "Yet Ebreo", + "name" : "Yet Ebreo", "data" : [ [ - "Perl 6", + "Perl 5", 4 ], [ - "Perl 5", + "Perl 6", 4 ], [ "Blog", 1 ] - ], - "name" : "Yet Ebreo", - "id" : "Yet Ebreo" + ] }, { - "id" : "Dave Cross", + "name" : "Dave Cross", "data" : [ [ "Blog", @@ -837,50 +563,45 @@ 6 ] ], - "name" : "Dave Cross" + "id" : "Dave Cross" }, { + "id" : "Pete Houston", "data" : [ [ "Perl 5", 8 ] ], - "name" : "Pete Houston", - "id" : "Pete Houston" + "name" : "Pete Houston" }, { "id" : "Robert Gratza", "data" : [ - [ - "Perl 6", - 6 - ], [ "Perl 5", 2 + ], + [ + "Perl 6", + 6 ] ], "name" : "Robert Gratza" }, { - "id" : "John Barrett", "data" : [ [ "Perl 5", 7 ] ], - "name" : "John Barrett" + "name" : "John Barrett", + "id" : "John Barrett" }, { - "id" : "Khalid", "name" : "Khalid", "data" : [ - [ - "Blog", - 1 - ], [ "Perl 5", 4 @@ -888,42 +609,47 @@ [ "Perl 6", 2 + ], + [ + "Blog", + 1 ] - ] + ], + "id" : "Khalid" }, { "id" : "Walt Mankowski", - "name" : "Walt Mankowski", "data" : [ [ "Perl 5", 7 ] - ] + ], + "name" : "Walt Mankowski" }, { + "id" : "Aaron Sherman", "name" : "Aaron Sherman", "data" : [ [ "Perl 6", 6 ] - ], - "id" : "Aaron Sherman" + ] }, { - "id" : "Donald Hunter", + "name" : "Donald Hunter", "data" : [ [ - "Blog", + "Perl 6", 3 ], [ - "Perl 6", + "Blog", 3 ] ], - "name" : "Donald Hunter" + "id" : "Donald Hunter" }, { "name" : "Kivanc Yazan", @@ -936,39 +662,313 @@ "id" : "Kivanc Yazan" }, { - "name" : "Maxim Kolodyazhny", + "id" : "Maxim Kolodyazhny", "data" : [ [ "Perl 5", 6 ] ], - "id" : "Maxim Kolodyazhny" + "name" : "Maxim Kolodyazhny" }, { - "id" : "Philippe Bruhat", - "name" : "Philippe Bruhat", "data" : [ - [ - "Perl 5", - 4 - ], [ "Blog", 2 + ], + [ + "Perl 5", + 4 ] - ] + ], + "name" : "Philippe Bruhat", + "id" : "Philippe Bruhat" } ] }, + "series" : [ + { + "data" : [ + { + "y" : 244, + "drilldown" : "Laurent Rosenfeld", + "name" : "#1: Laurent Rosenfeld" + }, + { + "drilldown" : "Joelle Maslak", + "name" : "#2: Joelle Maslak", + "y" : 236 + }, + { + "name" : "#3: Jaldhar H. Vyas", + "drilldown" : "Jaldhar H. Vyas", + "y" : 182 + }, + { + "y" : 164, + "drilldown" : "Ruben Westerberg", + "name" : "#4: Ruben Westerberg" + }, + { + "y" : 142, + "name" : "#5: Adam Russell", + "drilldown" : "Adam Russell" + }, + { + "drilldown" : "Athanasius", + "name" : "#6: Athanasius", + "y" : 142 + }, + { + "name" : "#7: Kian-Meng Ang", + "drilldown" : "Kian-Meng Ang", + "y" : 120 + }, + { + "y" : 118, + "name" : "#8: Arne Sommer", + "drilldown" : "Arne Sommer" + }, + { + "drilldown" : "E. Choroba", + "name" : "#9: E. Choroba", + "y" : 106 + }, + { + "drilldown" : "Simon Proctor", + "name" : "#10: Simon Proctor", + "y" : 94 + }, + { + "y" : 92, + "drilldown" : "Francis Whittle", + "name" : "#11: Francis Whittle" + }, + { + "name" : "#12: Dave Jacoby", + "drilldown" : "Dave Jacoby", + "y" : 90 + }, + { + "y" : 82, + "name" : "#13: Andrezgz", + "drilldown" : "Andrezgz" + }, + { + "name" : "#14: Feng Chang", + "drilldown" : "Feng Chang", + "y" : 80 + }, + { + "y" : 74, + "drilldown" : "Daniel Mantovani", + "name" : "#15: Daniel Mantovani" + }, + { + "name" : "#16: Duncan C. White", + "drilldown" : "Duncan C. White", + "y" : 72 + }, + { + "y" : 72, + "name" : "#17: Gustavo Chaves", + "drilldown" : "Gustavo Chaves" + }, + { + "name" : "#18: Steven Wilson", + "drilldown" : "Steven Wilson", + "y" : 70 + }, + { + "y" : 70, + "drilldown" : "Yozen Hernandez", + "name" : "#19: Yozen Hernandez" + }, + { + "y" : 60, + "name" : "#20: Roger Bell West", + "drilldown" : "Roger Bell West" + }, + { + "drilldown" : "Jo Christian Oterhals", + "name" : "#21: Jo Christian Oterhals", + "y" : 56 + }, + { + "y" : 50, + "name" : "#22: Guillermo Ramos", + "drilldown" : "Guillermo Ramos" + }, + { + "y" : 50, + "name" : "#23: Mark Senn", + "drilldown" : "Mark Senn" + }, + { + "y" : 46, + "name" : "#24: Ozzy", + "drilldown" : "Ozzy" + }, + { + "y" : 44, + "name" : "#25: Dr James A. Smith", + "drilldown" : "Dr James A. Smith" + }, + { + "name" : "#26: Kevin Colyer", + "drilldown" : "Kevin Colyer", + "y" : 42 + }, + { + "drilldown" : "Veesh Goldman", + "name" : "#27: Veesh Goldman", + "y" : 42 + }, + { + "y" : 38, + "drilldown" : "Lubos Kolouch", + "name" : "#28: Lubos Kolouch" + }, + { + "y" : 34, + "name" : "#29: Duane Powell", + "drilldown" : "Duane Powell" + }, + { + "drilldown" : "Nick Logan", + "name" : "#30: Nick Logan", + "y" : 32 + }, + { + "drilldown" : "Noud", + "name" : "#31: Noud", + "y" : 32 + }, + { + "y" : 28, + "drilldown" : "Lars Balker", + "name" : "#32: Lars Balker" + }, + { + "y" : 24, + "drilldown" : "Jaime Corchado", + "name" : "#33: Jaime Corchado" + }, + { + "name" : "#34: Maxim Nechaev", + "drilldown" : "Maxim Nechaev", + "y" : 24 + }, + { + "drilldown" : "Randy Lauen", + "name" : "#35: Randy Lauen", + "y" : 24 + }, + { + "name" : "#36: Alicia Bielsa", + "drilldown" : "Alicia Bielsa", + "y" : 22 + }, + { + "name" : "#37: Doug Schrag", + "drilldown" : "Doug Schrag", + "y" : 20 + }, + { + "name" : "#38: Neil Bowers", + "drilldown" : "Neil Bowers", + "y" : 18 + }, + { + "name" : "#39: Yet Ebreo", + "drilldow