From cca2cee4bb4e167ef2993879bc52af5117c3e10c Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 3 Nov 2019 22:35:54 +0000 Subject: - Added solutions by Colin Crain. --- challenge-032/colin-crain/perl5/ch-1.pl | 72 +++ challenge-032/colin-crain/perl5/ch-2.pl | 110 ++++ stats/pwc-current.json | 229 ++++---- stats/pwc-language-breakdown-summary.json | 40 +- stats/pwc-language-breakdown.json | 258 ++++---- stats/pwc-leaders.json | 942 +++++++++++++++--------------- stats/pwc-summary-1-30.json | 128 ++-- stats/pwc-summary-121-150.json | 42 +- stats/pwc-summary-31-60.json | 54 +- stats/pwc-summary-61-90.json | 38 +- stats/pwc-summary-91-120.json | 96 +-- stats/pwc-summary.json | 310 +++++----- 12 files changed, 1258 insertions(+), 1061 deletions(-) create mode 100644 challenge-032/colin-crain/perl5/ch-1.pl create mode 100644 challenge-032/colin-crain/perl5/ch-2.pl diff --git a/challenge-032/colin-crain/perl5/ch-1.pl b/challenge-032/colin-crain/perl5/ch-1.pl new file mode 100644 index 0000000000..2c24d6ed1d --- /dev/null +++ b/challenge-032/colin-crain/perl5/ch-1.pl @@ -0,0 +1,72 @@ +#! /opt/local/bin/perl +# +# counter.pl +# +# PWC32 - 1 +# Count instances +# Create a script that either reads standard input or one or more +# files specified on the command-line. Count the number of times and +# then print a summary, sorted by the count of each entry. +# +# So with the following input in file example.txt +# +# apple +# banana +# apple +# cherry +# cherry +# apple +# the script would display something like: +# +# apple 3 +# cherry 2 +# banana 1 +# For extra credit, add a -csv option to your script, which would generate: +# +# apple,3 +# cherry,2 +# banana,1 +# +# +# colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN + +my @args = @ARGV || './example.txt'; ## only so we can run it from the editor +my $counter = {}; + +if ( -f $args[0] ) { +## its a list of files + for my $file ( @args ) { + open (my $fh, "<", $file); + my @lines = <$fh>; + close $fh; + + for my $line ( @lines ){ + chomp $line; + $counter->{$line}++; + } + } +} +else { +## it's just a STDIN list of words + my @lines = @args; + for my $line ( @lines ){ + chomp $line; + $counter->{$line}++; + } +} + +for my $key (sort keys $counter->%*) { + printf "%-10s %-d\n", $key, $counter->{$key}; + +} + + diff --git a/challenge-032/colin-crain/perl5/ch-2.pl b/challenge-032/colin-crain/perl5/ch-2.pl new file mode 100644 index 0000000000..c7638ba845 --- /dev/null +++ b/challenge-032/colin-crain/perl5/ch-2.pl @@ -0,0 +1,110 @@ +#! /opt/local/bin/perl +# +# grapher.pl +# +# PWC32 - 2 +# Write a function that takes a hashref where the keys are labels and +# the values are integer or floating point values. Generate a bar +# graph of the data and display it to stdout. +# +# The input could be something like: +# $data = { apple => 3, cherry => 2, banana => 1 }; +# generate_bar_graph($data); +# +# And would then generate something like this: +# +# apple | ############ +# cherry | ######## +# banana | #### +# +# If you fancy then please try this as well: (a) the function could +# let you specify whether the chart should be ordered by (1) the +# labels, or (2) the values. +# +# +# +# colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN + +my $data = { + 'a' => 10.3, + 'b' => 20.9, + 'c' => 35, + 'd' => 85.5, + 'f' => 2, + 'h' => -85.5, + 'i' => 83.5 +}; + +generate_graph_80( $data ); + + +## ## ## ## ## SUBS + +sub generate_graph_simple { +## a simplest version, with horizontal bars and each 'x' representing the count of 1 +## this can't handle negative values + my $data = shift; + foreach (sort keys $data->%*) { + say "$_\t", '=' x $data->{$_}; + }; +} + +sub generate_graph_80 { +## normalizes the data set to span 80 increments, rounding individual points to the nearest +## also adds a x-axis label. +## normalizing sets the start at the smallest value, so the vacant bar is not an error. +# +## adding an auto-adjustment to the x-axis would be the next step, but this is +## not obvious in its implementation, as there are no constraints placed on the input data. +## the algoritm needs to discreetly step up units when appropriate. +## for example this example would be more clear if the axis ranged from -100 to +100, but +## automatically selecting that from the given data is complex. +## adjusting the bars to the selected axis sequence is just a variant application of the +## techniques used here for normalization. + my $data = shift; + + my $width = 80; + my ($min, $max, $range) = get_range( $data ); + + foreach (sort keys $data->%*) { + my $normalized = ($data->{$_} - $min) * $width / $range; + my $adjusted_value = round( $normalized ); + + printf "%9s |%-s\n", $_, '=' x $adjusted_value; + }; + + my $x_axis; + $x_axis = join '', map { $_ % 4 == 0 ? "|" : "-"} ( 0..($width) ); + printf "%9s %-s\n", "", $x_axis; + + my $x_numeric; + for my $idx ( 0..($width) ) { + my $point = sprintf "%-7s " , $min + ($range / $width * $idx) ; + $x_numeric .= $idx % 8 == 0 ? $point : ""; + } + printf "%9s %s\n", "", $x_numeric; +} + +sub round { +## rounds positive and negative integer and float data correctly + return int($_[0] + $_[0]/abs($_[0]*2 || 1)); +} + +sub get_range { +## given a hashref containing a data set, finds the minimum, maximum, and absolute range of values + my $data = shift; + my @values = sort {$a <=> $b} values $data->%*; + my ($min, $max) = ($values[0], $values[(scalar @values) - 1]); + my $range = $max - $min; + return ($min, $max, $range); + +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 77122ee132..d2515a513e 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,7 +1,4 @@ { - "legend" : { - "enabled" : 0 - }, "drilldown" : { "series" : [ { @@ -23,24 +20,24 @@ ] }, { + "id" : "Andrezgz", "name" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] - ], - "id" : "Andrezgz" + ] }, { - "id" : "Anton Fedotov", "name" : "Anton Fedotov", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Anton Fedotov" }, { "data" : [ @@ -71,6 +68,7 @@ "name" : "Athanasius" }, { + "id" : "Burkhard Nickels", "name" : "Burkhard Nickels", "data" : [ [ @@ -81,28 +79,37 @@ "Blog", 1 ] - ], - "id" : "Burkhard Nickels" + ] + }, + { + "id" : "Colin Crain", + "name" : "Colin Crain", + "data" : [ + [ + "Perl 5", + 2 + ] + ] }, { - "name" : "Dave Cross", "data" : [ [ "Perl 5", 2 ] ], + "name" : "Dave Cross", "id" : "Dave Cross" }, { "id" : "Dave Jacoby", - "name" : "Dave Jacoby", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Dave Jacoby" }, { "name" : "Duane Powell", @@ -126,26 +133,25 @@ }, { "id" : "Fabrizio Poggi", + "name" : "Fabrizio Poggi", "data" : [ [ "Perl 5", 2 ] - ], - "name" : "Fabrizio Poggi" + ] }, { - "name" : "Giuseppe Di Terlizzi", "data" : [ [ "Perl 5", 2 ] ], + "name" : "Giuseppe Di Terlizzi", "id" : "Giuseppe Di Terlizzi" }, { - "id" : "Javier Luque", "data" : [ [ "Perl 5", @@ -160,10 +166,10 @@ 1 ] ], - "name" : "Javier Luque" + "name" : "Javier Luque", + "id" : "Javier Luque" }, { - "id" : "Joelle Maslak", "name" : "Joelle Maslak", "data" : [ [ @@ -174,17 +180,18 @@ "Perl 6", 2 ] - ] + ], + "id" : "Joelle Maslak" }, { + "id" : "Kevin Colyer", + "name" : "Kevin Colyer", "data" : [ [ "Perl 6", 2 ] - ], - "name" : "Kevin Colyer", - "id" : "Kevin Colyer" + ] }, { "id" : "Lars Balker", @@ -207,6 +214,8 @@ "id" : "Lars Thegler" }, { + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl 5", @@ -220,9 +229,7 @@ "Blog", 1 ] - ], - "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld" + ] }, { "id" : "Markus Holzer", @@ -235,14 +242,14 @@ "name" : "Markus Holzer" }, { - "id" : "Nazareno Delucca", "name" : "Nazareno Delucca", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Nazareno Delucca" }, { "name" : "Noud", @@ -255,34 +262,34 @@ "id" : "Noud" }, { - "id" : "Prajith P", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Prajith P" + "name" : "Prajith P", + "id" : "Prajith P" }, { + "id" : "Rage311", + "name" : "Rage311", "data" : [ [ "Perl 5", 2 ] - ], - "name" : "Rage311", - "id" : "Rage311" + ] }, { - "name" : "Roger Bell West", + "id" : "Roger Bell West", "data" : [ [ "Perl 5", 2 ] ], - "id" : "Roger Bell West" + "name" : "Roger Bell West" }, { "data" : [ @@ -299,85 +306,65 @@ "id" : "Ryan Thompson" }, { - "name" : "Simon Proctor", + "id" : "Simon Proctor", "data" : [ [ "Perl 6", 2 ] ], - "id" : "Simon Proctor" + "name" : "Simon Proctor" }, { "id" : "Steven Wilson", - "name" : "Steven Wilson", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Steven Wilson" }, { + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke", "data" : [ [ "Perl 5", 2 ] - ], - "name" : "Ulrich Rieke", - "id" : "Ulrich Rieke" + ] }, { - "name" : "Yet Ebreo", "data" : [ [ "Perl 5", 2 ] ], + "name" : "Yet Ebreo", "id" : "Yet Ebreo" } ] }, - "subtitle" : { - "text" : "[Champions: 29] Last updated at 2019-11-03 22:28:03 GMT" + "xAxis" : { + "type" : "category" }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "followPointer" : 1, - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "Perl Weekly Challenge - 032" + "legend" : { + "enabled" : 0 }, "series" : [ { "name" : "Perl Weekly Challenge - 032", "data" : [ { - "y" : 5, "drilldown" : "Adam Russell", + "y" : 5, "name" : "Adam Russell" }, { @@ -396,9 +383,9 @@ "drilldown" : "Arne Sommer" }, { - "name" : "Athanasius", + "drilldown" : "Athanasius", "y" : 4, - "drilldown" : "Athanasius" + "name" : "Athanasius" }, { "name" : "Burkhard Nickels", @@ -406,79 +393,84 @@ "y" : 3 }, { - "name" : "Dave Cross", + "name" : "Colin Crain", + "drilldown" : "Colin Crain", + "y" : 2 + }, + { "y" : 2, - "drilldown" : "Dave Cross" + "drilldown" : "Dave Cross", + "name" : "Dave Cross" }, { - "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", "y" : 2, - "drilldown" : "Dave Jacoby" + "name" : "Dave Jacoby" }, { + "name" : "Duane Powell", "y" : 2, - "drilldown" : "Duane Powell", - "name" : "Duane Powell" + "drilldown" : "Duane Powell" }, { "name" : "E. Choroba", - "y" : 2, - "drilldown" : "E. Choroba" + "drilldown" : "E. Choroba", + "y" : 2 }, { - "name" : "Fabrizio Poggi", "y" : 2, - "drilldown" : "Fabrizio Poggi" + "drilldown" : "Fabrizio Poggi", + "name" : "Fabrizio Poggi" }, { - "y" : 2, + "name" : "Giuseppe Di Terlizzi", "drilldown" : "Giuseppe Di Terlizzi", - "name" : "Giuseppe Di Terlizzi" + "y" : 2 }, { - "name" : "Javier Luque", + "y" : 5, "drilldown" : "Javier Luque", - "y" : 5 + "name" : "Javier Luque" }, { - "drilldown" : "Joelle Maslak", + "name" : "Joelle Maslak", "y" : 4, - "name" : "Joelle Maslak" + "drilldown" : "Joelle Maslak" }, { - "name" : "Kevin Colyer", "drilldown" : "Kevin Colyer", - "y" : 2 + "y" : 2, + "name" : "Kevin Colyer" }, { + "name" : "Lars Balker", "y" : 2, - "drilldown" : "Lars Balker", - "name" : "Lars Balker" + "drilldown" : "Lars Balker" }, { - "y" : 2, "drilldown" : "Lars Thegler", + "y" : 2, "name" : "Lars Thegler" }, { + "name" : "Laurent Rosenfeld", "drilldown" : "Laurent Rosenfeld", - "y" : 5, - "name" : "Laurent Rosenfeld" + "y" : 5 }, { - "y" : 2, "drilldown" : "Markus Holzer", + "y" : 2, "name" : "Markus Holzer" }, { - "name" : "Nazareno Delucca", + "y" : 2, "drilldown" : "Nazareno Delucca", - "y" : 2 + "name" : "Nazareno Delucca" }, { "name" : "Noud", - "drilldown" : "Noud", - "y" : 2 + "y" : 2, + "drilldown" : "Noud" }, { "y" : 2, @@ -491,24 +483,24 @@ "name" : "Rage311" }, { + "name" : "Roger Bell West", "drilldown" : "Roger Bell West", - "y" : 2, - "name" : "Roger Bell West" + "y" : 2 }, { + "name" : "Ryan Thompson", "drilldown" : "Ryan Thompson", - "y" : 3, - "name" : "Ryan Thompson" + "y" : 3 }, { - "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", "y" : 2, - "name" : "Simon Proctor" + "drilldown" : "Simon Proctor" }, { + "name" : "Steven Wilson", "drilldown" : "Steven Wilson", - "y" : 2, - "name" : "Steven Wilson" + "y" : 2 }, { "y" : 2, @@ -516,12 +508,35 @@ "name" : "Ulrich Rieke" }, { - "drilldown" : "Yet Ebreo", "y" : 2, + "drilldown" : "Yet Ebreo", "name" : "Yet Ebreo" } ], "colorByPoint" : 1 } - ] + ], + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "tooltip" : { + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1 + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "[Champions: 30] Last updated at 2019-11-03 22:35:33 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge - 032" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 260f8ec0a4..5f65793692 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,34 +1,40 @@ { + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, "xAxis" : { - "type" : "category", "labels" : { "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" } - } + }, + "type" : "category" }, - "subtitle" : { - "text" : "Last updated at 2019-11-03 22:28:09 GMT" + "title" : { + "text" : "Perl Weekly Challenge Contributions - 2019" }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" + "legend" : { + "enabled" : "false" + }, + "subtitle" : { + "text" : "Last updated at 2019-11-03 22:35:49 GMT" }, "series" : [ { + "name" : "Contributions", "dataLabels" : { - "y" : 10, + "color" : "#FFFFFF", "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" }, "enabled" : "true", - "color" : "#FFFFFF", + "y" : 10, "rotation" : -90, "format" : "{point.y:.0f}", "align" : "right" }, - "name" : "Contributions", "data" : [ [ "Blog", @@ -36,7 +42,7 @@ ], [ "Perl 5", - 1353 + 1355 ], [ "Perl 6", @@ -45,19 +51,13 @@ ] } ], - "title" : { - "text" : "Perl Weekly Challenge Contributions - 2019" + "chart" : { + "type" : "column" }, "yAxis" : { "min" : 0, "title" : { "text" : null } - }, - "legend" : { - "enabled" : "false" - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 6b4268337c..84e7123795 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,17 +1,39 @@ { + "legend" : { + "enabled" : "false" + }, + "tooltip" : { + "headerFormat" : "", + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "followPointer" : "true" + }, + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-11-03 22:35:49 GMT" + }, "series" : [ { "name" : "Perl Weekly Challenge Languages", "colorByPoint" : "true", "data" : [ { - "y" : 132, + "drilldown" : "001", "name" : "#001", - "drilldown" : "001" + "y" : 132 }, { - "name" : "#002", "drilldown" : "002", + "name" : "#002", "y" : 104 }, { @@ -25,24 +47,24 @@ "name" : "#004" }, { - "y" : 66, + "drilldown" : "005", "name" : "#005", - "drilldown" : "005" + "y" : 66 }, { - "y" : 48, + "drilldown" : "006", "name" : "#006", - "drilldown" : "006" + "y" : 48 }, { - "name" : "#007", "drilldown" : "007", + "name" : "#007", "y" : 56 }, { - "y" : 70, "name" : "#008", - "drilldown" : "008" + "drilldown" : "008", + "y" : 70 }, { "y" : 68, @@ -50,29 +72,29 @@ "drilldown" : "009" }, { + "y" : 60, "drilldown" : "010", - "name" : "#010", - "y" : 60 + "name" : "#010" }, { "y" : 78, - "drilldown" : "011", - "name" : "#011" + "name" : "#011", + "drilldown" : "011" }, { - "y" : 83, + "drilldown" : "012", "name" : "#012", - "drilldown" : "012" + "y" : 83 }, { "y" : 76, - "drilldown" : "013", - "name" : "#013" + "name" : "#013", + "drilldown" : "013" }, { - "y" : 96, "name" : "#014", - "drilldown" : "014" + "drilldown" : "014", + "y" : 96 }, { "y" : 93, @@ -80,9 +102,9 @@ "name" : "#015" }, { - "y" : 66, + "drilldown" : "016", "name" : "#016", - "drilldown" : "016" + "y" : 66 }, { "y" : 79, @@ -90,18 +112,18 @@ "name" : "#017" }, { - "y" : 76, + "drilldown" : "018", "name" : "#018", - "drilldown" : "018" + "y" : 76 }, { - "y" : 95, "drilldown" : "019", - "name" : "#019" + "name" : "#019", + "y" : 95 }, { - "drilldown" : "020", "name" : "#020", + "drilldown" : "020", "y" : 95 }, { @@ -110,9 +132,9 @@ "drilldown" : "021" }, { + "y" : 63, "drilldown" : "022", - "name" : "#022", - "y" : 63 + "name" : "#022" }, { "y" : 91, @@ -126,23 +148,23 @@ }, { "y" : 55, - "name" : "#025", - "drilldown" : "025" + "drilldown" : "025", + "name" : "#025" }, { "y" : 70, - "drilldown" : "026", - "name" : "#026" + "name" : "#026", + "drilldown" : "026" }, { - "y" : 58, + "drilldown" : "027", "name" : "#027", - "drilldown" : "027" + "y" : 58 }, { + "y" : 78, "name" : "#028", - "drilldown" : "028", - "y" : 78 + "drilldown" : "028" }, { "drilldown" : "029", @@ -155,49 +177,22 @@ "drilldown" : "030" }, { + "y" : 86, "drilldown" : "031", - "name" : "#031", - "y" : 86 + "name" : "#031" }, { + "y" : 77, "name" : "#032", - "drilldown" : "032", - "y" : 75 + "drilldown" : "032" } ] } ], - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "chart" : { - "type" : "column" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "legend" : { - "enabled" : "false" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { "id" : "001", - "name" : "001", "data" : [ [ "Perl 5", @@ -211,7 +206,8 @@ "Blog", 11 ] - ] + ], + "name" : "001" }, { "data" : [ @@ -228,11 +224,10 @@ 9 ] ], - "name" : "002", - "id" : "002" + "id" : "002", + "name" : "002" }, { - "name" : "003", "data" : [ [ "Perl 5", @@ -247,9 +242,11 @@ 9 ] ], - "id" : "003" + "id" : "003", + "name" : "003" }, { + "name" : "004", "data" : [ [ "Perl 5", @@ -264,11 +261,9 @@ 9 ] ], - "name" : "004", "id" : "004" }, { - "id" : "005", "name" : "005", "data" : [ [ @@ -283,9 +278,11 @@ "Blog", 11 ] - ] + ], + "id" : "005" }, { + "id" : "006", "data" : [ [ "Perl 5", @@ -300,10 +297,10 @@ 7 ] ], - "name" : "006", - "id" : "006" + "name" : "006" }, { + "name" : "007", "id" : "007", "data" : [ [ @@ -318,8 +315,7 @@ "Blog", 10 ] - ], - "name" : "007" + ] }, { "name" : "008", @@ -341,7 +337,6 @@ }, { "id" : "009", - "name" : "009", "data" : [ [ "Perl 5", @@ -355,9 +350,11 @@ "Blog", 13 ] - ] + ], + "name" : "009" }, { + "name" : "010", "data" : [ [ "Perl 5", @@ -372,12 +369,10 @@ 11 ] ], - "name" : "010", "id" : "010" }, { "id" : "011", - "name" : "011", "data" : [ [ "Perl 5", @@ -391,9 +386,11 @@ "Blog", 9 ] - ] + ], + "name" : "011" }, { + "name" : "012", "data" : [ [ "Perl 5", @@ -408,7 +405,6 @@ 11 ] ], - "name" : "012", "id" : "012" }, { @@ -444,11 +440,10 @@ 15 ] ], - "name" : "014", - "id" : "014" + "id" : "014", + "name" : "014" }, { - "name" : "015", "data" : [ [ "Perl 5", @@ -463,11 +458,12 @@ 15 ] ], - "id" : "015" + "id" : "015", + "name" : "015" }, { - "id" : "016", "name" : "016", + "id" : "016", "data" : [ [ "Perl 5", @@ -484,7 +480,6 @@ ] }, { - "name" : "017", "data" : [ [ "Perl 5", @@ -499,10 +494,12 @@ 12 ] ], - "id" : "017" + "id" : "017", + "name" : "017" }, { "name" : "018", + "id" : "018", "data" : [ [ "Perl 5", @@ -516,8 +513,7 @@ "Blog", 14 ] - ], - "id" : "018" + ] }, { "data" : [ @@ -534,11 +530,10 @@ 13 ] ], - "name" : "019", - "id" : "019" + "id" : "019", + "name" : "019" }, { - "name" : "020", "data" : [ [ "Perl 5", @@ -553,7 +548,8 @@ 13 ] ], - "id" : "020" + "id" : "020", + "name" : "020" }, { "data" : [ @@ -570,12 +566,12 @@ 10 ] ], - "name" : "021", - "id" : "021" + "id" : "021", + "name" : "021" }, { - "id" : "022", "name" : "022", + "id" : "022", "data" : [ [ "Perl 5", @@ -592,6 +588,7 @@ ] }, { + "name" : "023", "id" : "023", "data" : [ [ @@ -606,12 +603,9 @@ "Blog", 12 ] - ], - "name" : "023" + ] }, { - "id" : "024", - "name" : "024", "data" : [ [ "Perl 5", @@ -625,10 +619,11 @@ "Blog", 11 ] - ] + ], + "id" : "024", + "name" : "024" }, { - "id" : "025", "name" : "025", "data" : [ [ @@ -643,7 +638,8 @@ "Blog", 12 ] - ] + ], + "id" : "025" }, { "data" : [ @@ -660,12 +656,10 @@ 10 ] ], - "name" : "026", - "id" : "026" + "id" : "026", + "name" : "026" }, { - "id" : "027", - "name" : "027", "data" : [ [ "Perl 5", @@ -679,10 +673,11 @@ "Blog", 9 ] - ] + ], + "id" : "027", + "name" : "027" }, { - "name" : "028", "data" : [ [ "Perl 5", @@ -697,9 +692,11 @@ 9 ] ], - "id" : "028" + "id" : "028", + "name" : "028" }, { + "name" : "029", "data" : [ [ "Perl 5", @@ -714,7 +711,6 @@ 12 ] ], - "name" : "029", "id" : "029" }, { @@ -736,6 +732,7 @@ "id" : "030" }, { + "name" : "031", "id" : "031", "data" : [ [ @@ -750,14 +747,15 @@ "Blog", 8 ] - ], - "name" : "031" + ] }, { + "name" : "032", + "id" : "032", "data" : [ [ "Perl 5", - 49 + 51 ], [ "Perl 6", @@ -767,18 +765,20 @@ "Blog", 5 ] - ], - "name" : "032", - "id" : "032" + ] } ] }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-11-03 22:28:09 GMT" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } }, - "tooltip" : { - "followPointer" : "true", - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "headerFormat" : "" + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index e1460acf94..e09224b4d6 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -1,30 +1,287 @@ { - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 + "subtitle" : { + "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-11-03 22:35:43 GMT" + }, + "series" : [ + { + "colorByPoint" : "true", + "data" : [ + { + "name" : "#1: Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 402 + }, + { + "y" : 322, + "name" : "#2: Joelle Maslak", + "drilldown" : "Joelle Maslak" + }, + { + "name" : "#3: Jaldhar H. Vyas", + "drilldown" : "Jaldhar H. Vyas", + "y" : 282 + }, + { + "drilldown" : "Ruben Westerberg", + "name" : "#4: Ruben Westerberg", + "y" : 236 + }, + { + "y" : 214, + "name" : "#5: Adam Russell", + "drilldown" : "Adam Russell" + }, + { + "drilldown" : "Athanasius", + "name" : "#6: Athanasius", + "y" : 200 + }, + { + "drilldown" : "Arne Sommer", + "name" : "#7: Arne Sommer", + "y" : 198 + }, + { + "name" : "#8: E. Choroba", + "drilldown" : "E. Choroba", + "y" : 164 + }, + { + "y" : 144, + "name" : "#9: Kian-Meng Ang", + "drilldown" : "Kian-Meng Ang" + }, + { + "drilldown" : "Roger Bell West", + "name" : "#10: Roger Bell West", + "y" : 130 + }, + { + "y" : 126, + "drilldown" : "Simon Proctor", + "name" : "#11: Simon Proctor" + }, + { + "y" : 124, + "name" : "#12: Andrezgz", + "drilldown" : "Andrezgz" + }, + { + "drilldown" : "Dave Jacoby", + "name" : "#13: Dave Jacoby", + "y" : 116 + }, + { + "drilldown" : "Duncan C. White", + "name" : "#14: Duncan C. White", + "y" : 114 + }, + { + "name" : "#15: Yet Ebreo", + "drilldown" : "Yet Ebreo", + "y" : 110 + }, + { + "y" : 96, + "name" : "#16: Francis Whittle", + "drilldown" : "Francis Whittle" + }, + { + "name" : "#17: Steven Wilson", + "drilldown" : "Steven Wilson", + "y" : 96 + }, + { + "drilldown" : "Feng Chang", + "name" : "#18: Feng Chang", + "y" : 88 + }, + { + "y" : 82, + "name" : "#19: Daniel Mantovani", + "drilldown" : "Daniel Mantovani" + }, + { + "y" : 78, + "drilldown" : "Kevin Colyer", + "name" : "#20: Kevin Colyer" + }, + { + "y" : 74, + "drilldown" : "Duane Powell", + "name" : "#21: Duane Powell" + }, + { + "y" : 72, + "name" : "#22: Gustavo Chaves", + "drilldown" : "Gustavo Chaves" + }, + { + "name" : "#23: Mark Senn", + "drilldown" : "Mark Senn", + "y" : 72 + }, + { + "y" : 70, + "name" : "#24: Yozen Hernandez", + "drilldown" : "Yozen Hernandez" + }, + { + "y" : 64, + "name" : "#25: Guillermo Ramos", + "drilldown" : "Guillermo Ramos" + }, + { + "y" : 64, + "name" : "#26: Lubos Kolouch", + "drilldown" : "Lubos Kolouch" + }, + { + "drilldown" : "Noud", + "name" : "#27: Noud", + "y" : 64 + }, + { + "y" : 56, + "drilldown" : "Jo Christian Oterhals", + "name" : "#28: Jo Christian Oterhals" + }, + { + "drilldown" : "Ozzy", + "name" : "#29: Ozzy", + "y" : 56 + }, + { + "drilldown" : "Randy Lauen", + "name" : "#30: Randy Lauen", + "y" : 52 + }, + { + "name" : "#31: Dr James A. Smith", + "drilldown" : "Dr James A. Smith", + "y" : 48 + }, + { + "y" : 44, + "drilldown" : "Veesh Goldman", + "name" : "#32: Veesh Goldman" + }, + { + "name" : "#33: Colin Crain", + "drilldown" : "Colin Crain", + "y" : 40 + }, + { + "y" : 38, + "name" : "#34: Dave Cross", + "drilldown" : "Dave Cross" + }, + { + "drilldown" : "Lars Balker", + "name" : "#35: Lars Balker", + "y" : 38 + }, + { + "name" : "#36: Markus Holzer", + "drilldown" : "Markus Holzer", + "y" : 32 + }, + { + "y" : 32, + "drilldown" : "Nick Logan", + "name" : "#37: Nick Logan" + }, + { + "y" : 24, + "name" : "#38: Burkhard Nickels", + "drilldown" : "Burkhard Nickels" + }, + { + "y" : 24, + "drilldown" : "Jaime Corchado", + "name" : "#39: Jaime Corchado" + }, + { + "drilldown" : "Kivanc Yazan", + "name" : "#40: Kivanc Yazan", + "y" : 24 + }, + { + "y" : 24, + "drilldown" : "Maxim Nechaev", + "name" : "#41: Maxim Nechaev" + }, + { + "y" : 24, + "name" : "#42: Pete Houston", + "drilldown" : "Pete Houston" + }, + { + "y" : 22, + "name" : "#43: Alicia Bielsa", + "drilldown" : "Alicia Bielsa" + }, + { + "y" : 20, + "drilldown" : "Daniel Mita", + "name" : "#44: Daniel Mita" + }, + { + "y" : 20, + "name" : "#45: Doug Schrag", + "drilldown" : "Doug Schrag" + }, + { + "name" : "#46: Javier Luque", + "drilldown" : "Javier Luque", + "y" : 20 + }, + { + "drilldown" : "Lars Thegler", + "name" : "#47: Lars Thegler", + "y" : 20 + }, + { + "name" : "#48: Ulrich Rieke", + "drilldown" : "Ulrich Rieke", + "y" : 20 + }, + { + "name" : "#49: Mark Anderson", + "drilldown" : "Mark Anderson", + "y" : 18 + }, + { + "drilldown" : "Maxim Kolodyazhny", + "name" : "#50: Maxim Kolodyazhny", + "y" : 18 + } + ], + "name" : "Perl Weekly Challenge Leaders" } + ], + "title" : { + "text" : "Perl Weekly Challenge Leaders (TOP 50)" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : "true", + "headerFormat" : "" + }, + "legend" : { + "enabled" : "false" }, "yAxis" : { "title" : { "text" : "Total Score" } }, - "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-11-03 22:28:06 GMT" - }, "drilldown" : { "series" : [ { "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ - [ - "Blog", - 75 - ], [ "Perl 6", 63 @@ -32,13 +289,19 @@ [ "Perl 5", 63 + ], + [ + "Blog", + 75 ] - ], - "id" : "Laurent Rosenfeld" + ] }, { - "name" : "Joelle Maslak", "data" : [ + [ + "Perl 6", + 78 + ], [ "Blog", 5 @@ -46,16 +309,19 @@ [ "Perl 5", 78 - ], - [ - "Perl 6", - 78 ] ], + "name" : "Joelle Maslak", "id" : "Joelle Maslak" }, { + "name" : "Jaldhar H. Vyas", + "id" : "Jaldhar H. Vyas", "data" : [ + [ + "Perl 6", + 61 + ], [ "Blog", 18 @@ -63,16 +329,12 @@ [ "Perl 5", 62 - ], - [ - "Perl 6", - 61 ] - ], - "id" : "Jaldhar H. Vyas", - "name" : "Jaldhar H. Vyas" + ] }, { + "name" : "Ruben Westerberg", + "id" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -82,14 +344,14 @@ "Perl 6", 59 ] - ], - "id" : "Ruben Westerberg", - "name" : "Ruben Westerberg" + ] }, { - "name" : "Adam Russell", - "id" : "Adam Russell", "data" : [ + [ + "Blog", + 35 + ], [ "Perl 5", 65 @@ -97,16 +359,17 @@ [ "Perl 6", 7 - ], - [ - "Blog", - 35 ] - ] + ], + "name" : "Adam Russell", + "id" : "Adam Russell" }, { - "name" : "Athanasius", "data" : [ + [ + "Perl 5", + 61 + ], [ "Blog", 3 @@ -114,18 +377,19 @@ [ "Perl 6", 36 - ], - [ - "Perl 5", - 61 ] ], + "name" : "Athanasius", "id" : "Athanasius" }, { "name" : "Arne Sommer", "id" : "Arne Sommer", "data" : [ + [ + "Perl 5", + 3 + ], [ "Blog", 32 @@ -133,44 +397,45 @@ [ "Perl 6", 64 - ], - [ - "Perl 5", - 3 ] ] }, { - "name" : "E. Choroba", "data" : [ - [ - "Blog", - 26 - ], [ "Perl 5", 56 + ], + [ + "Blog", + 26 ] ], + "name" : "E. Choroba", "id" : "E. Choroba" }, { + "id" : "Kian-Meng Ang", "name" : "Kian-Meng Ang", "data" : [ - [ - "Perl 5", - 38 - ], [ "Blog", 34 + ], + [ + "Perl 5", + 38 ] - ], - "id" : "Kian-Meng Ang" + ] }, { "name" : "Roger Bell West", + "id" : "Roger Bell West", "data" : [ + [ + "Perl 6", + 15 + ], [ "Blog", 14 @@ -178,44 +443,38 @@ [ "Perl 5", 36 - ], - [ - "Perl 6", - 15 ] - ], - "id" : "Roger Bell West" + ] }, { - "name" : "Simon Proctor", - "id" : "Simon Proctor", "data" : [ [ - "Perl 6", - 51 + "Blog", + 7 ], [ "Perl 5", 5 ], [ - "Blog", - 7 + "Perl 6", + 51 ] - ] + ], + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { - "name" : "Andrezgz", - "id" : "Andrezgz", "data" : [ [ "Perl 5", 62 ] - ] + ], + "id" : "Andrezgz", + "name" : "Andrezgz" }, { - "name" : "Dave Jacoby", "data" : [ [ "Blog", @@ -230,56 +489,56 @@ 1 ] ], + "name" : "Dave Jacoby", "id" : "Dave Jacoby" }, { - "name" : "Duncan C. White", "data" : [ - [ - "Perl 5", - 56 - ], [ "Blog", 1 + ], + [ + "Perl 5", + 56 ] ], + "name" : "Duncan C. White", "id" : "Duncan C. White" }, { - "name" : "Yet Ebreo", "data" : [ [ - "Blog", - 6 + "Perl 6", + 21 ], [ "Perl 5", 28 ], [ - "Perl 6", - 21 + "Blog", + 6 ] ], - "id" : "Yet Ebreo" + "id" : "Yet Ebreo", + "name" : "Yet Ebreo" }, { + "name" : "Francis Whittle", + "id" : "Francis Whittle", "data" : [ - [ - "Perl 6", - 39 - ], [ "Blog", 9 + ], + [ + "Perl 6", + 39 ] - ], - "id" : "Francis Whittle", - "name" : "Francis Whittle" + ] }, { - "name" : "Steven Wilson", "data" : [ [ "Blog", @@ -290,11 +549,10 @@ 45 ] ], + "name" : "Steven Wilson", "id" : "Steven Wilson" }, { - "name" : "Feng Chang", - "id" : "Feng Chang", "data" : [ [ "Perl 5", @@ -304,19 +562,22 @@ "Perl 6", 23 ] - ] + ], + "id" : "Feng Chang", + "name" : "Feng Chang" }, { "id" : "Daniel Mantovani", + "name" : "Daniel Mantovani", "data" : [ [ "Perl 5", 41 ] - ], - "name" : "Daniel Mantovani" + ] }, { + "id" : "Kevin Colyer", "name" : "Kevin Colyer", "data" : [ [ @@ -327,35 +588,33 @@ "Perl 6", 37 ] - ], - "id" : "Kevin Colyer" + ] }, { "id" : "Duane Powell", + "name" : "Duane Powell", "data" : [ [ "Perl 5", 37 ] - ], - "name" : "Duane Powell" + ] }, { "data" : [ - [ - "Blog", - 4 - ], [ "Perl 5", 32 + ], + [ + "Blog", + 4 ] ], - "id" : "Gustavo Chaves", - "name" : "Gustavo Chaves" + "name" : "Gustavo Chaves", + "id" : "Gustavo Chaves" }, { - "name" : "Mark Senn", "data" : [ [ "Blog", @@ -366,83 +625,82 @@ 26 ] ], - "id" : "Mark Senn" + "id" : "Mark Senn", + "name" : "Mark Senn" }, { - "name" : "Yozen Hernandez", "id" : "Yozen Hernandez", + "name" : "Yozen Hernandez", "data" : [ - [ - "Perl 5", - 21 - ], [ "Blog", 14 + ], + [ + "Perl 5", + 21 ] ] }, { - "id" : "Guillermo Ramos", "data" : [ [ "Perl 5", 32 ] ], - "name" : "Guillermo Ramos" + "name" : "Guillermo Ramos", + "id" : "Guillermo Ramos" }, { - "id" : "Lubos Kolouch", "data" : [ [ "Perl 5", 32 ] ], + "id" : "Lubos Kolouch", "name" : "Lubos Kolouch" }, { - "id" : "Noud", "data" : [ [ "Perl 6", 32 ] ], - "name" : "Noud" + "name" : "Noud", + "id" : "Noud" }, { - "name" : "Jo Christian Oterhals", "id" : "Jo Christian Oterhals", + "name" : "Jo Christian Oterhals", "data" : [ [ - "Blog", - 7 + "Perl 6", + 15 ], [ "Perl 5", 6 ], [ - "Perl 6", - 15 + "Blog", + 7 ] ] }, { + "id" : "Ozzy", "name" : "Ozzy", "data" : [ [ "Perl 6", 28 ] - ], - "id" : "Ozzy" + ] }, { - "name" : "Randy Lauen", - "id" : "Randy Lauen", "data" : [ [ "Perl 6", @@ -452,28 +710,28 @@ "Perl 5", 9 ] - ] + ], + "id" : "Randy Lauen", + "name" : "Randy Lauen" }, { "name" : "Dr James A. Smith", "id" : "Dr James A. Smith", "data" : [ - [ - "Perl 6", - 10 - ], [ "Perl 5", 14 + ], + [ + "Perl 6", + 10 ] ] }, { + "name" : "Veesh Goldman", + "id" : "Veesh Goldman", "data" : [ - [ - "Perl 5", - 17 - ], [ "Perl 6", 2 @@ -481,64 +739,67 @@ [ "Blog", 3 + ], + [ + "Perl 5", + 17 ] - ], - "id" : "Veesh Goldman", - "name" : "Veesh Goldman" + ] }, { - "name" : "Dave Cross", "data" : [ [ "Perl 5", - 17 - ], - [ - "Blog", - 2 + 20 ] ], - "id" : "Dave Cross" + "name" : "Colin Crain", + "id" : "Colin Crain" }, { + "name" : "Dave Cross", + "id" : "Dave Cross", "data" : [ [ - "Perl 6", - 4 + "Blog", + 2 ], [ "Perl 5", - 15 + 17 ] - ], - "id" : "Lars Balker", - "name" : "Lars Balker" + ] }, { + "name" : "Lars Balker", + "id" : "Lars Balker", "data" : [ [ "Perl 5", - 18 + 15 + ], + [ + "Perl 6", + 4 ] - ], - "id" : "Colin Crain", - "name" : "Colin Crain" + ] }, { - "name" : "Markus Holzer", "data" : [ - [ - "Perl 5", - 2 - ], [ "Perl 6", 14 + ], + [ + "Perl 5", + 2 ] ], + "name" : "Markus Holzer", "id" : "Markus Holzer" }, { + "name" : "Nick Logan", "id" : "Nick Logan", "data" : [ [ @@ -549,32 +810,31 @@ "Perl 6", 8 ] - ], - "name" : "Nick Logan" + ] }, { - "data" : [ - [ - "Perl 5", - 8 - ], + "id" : "Burkhard Nickels", + "name" : "Burkhard Nickels", + "data" : [ [ "Blog", 4 + ], + [ + "Perl 5", + 8 ] - ], - "id" : "Burkhard Nickels", - "name" : "Burkhard Nickels" + ] }, { - "name" : "Jaime Corchado", - "id" : "Jaime Corchado", "data" : [ [ "Perl 5", 12 ] - ] + ], + "name" : "Jaime Corchado", + "id" : "Jaime Corchado" }, { "data" : [ @@ -583,8 +843,8 @@ 12 ] ], - "id" : "Kivanc Yazan", - "name" : "Kivanc Yazan" + "name" : "Kivanc Yazan", + "id" : "Kivanc Yazan" }, { "data" : [ @@ -603,12 +863,12 @@ 12 ] ], - "id" : "Pete Houston", - "name" : "Pete Houston" + "name" : "Pete Houston", + "id" : "Pete Houston" }, { - "name" : "Alicia Bielsa", "id" : "Alicia Bielsa", + "name" : "Alicia Bielsa", "data" : [ [ "Perl 5", @@ -617,8 +877,6 @@ ] }, { - "name" : "Daniel Mita", - "id" : "Daniel Mita", "data" : [ [ "Perl 5", @@ -628,17 +886,19 @@ "Perl 6", 8 ] - ] + ], + "name" : "Daniel Mita", + "id" : "Daniel Mita" }, { + "id" : "Doug Schrag", + "name" : "Doug Schrag", "data" : [ [ "Perl 6", 10 ] - ], - "id" : "Doug Schrag", - "name" : "Doug Schrag" + ] }, { "data" : [ @@ -655,20 +915,22 @@ 4 ] ], - "id" : "Javier Luque", - "name" : "Javier Luque" + "name" : "Javier Luque", + "id" : "Javier Luque" }, { + "id" : "Lars Thegler", + "name" : "Lars Thegler", "data" : [ [ "Perl 5", 10 ] - ], - "id" : "Lars Thegler", - "name" : "Lars Thegler" + ] }, { + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl 5", @@ -678,23 +940,21 @@ "Perl 6", 6 ] - ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + ] }, { + "name" : "Mark Anderson", + "id" : "Mark Anderson", "data" : [ [ "Perl 5", 9 ] - ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" + ] }, { - "name" : "Maxim Kolodyazhny",