From 1ed4200f27c95e70830bade3d3143320259ca9bb Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 29 Sep 2019 22:17:19 +0100 Subject: - Added solutions by Laurent Rosenfeld. --- challenge-027/laurent-rosenfeld/blog.txt | 1 + challenge-027/laurent-rosenfeld/perl5/ch-1.pl | 58 ++++ challenge-027/laurent-rosenfeld/perl5/ch-2.pl | 31 ++ challenge-027/laurent-rosenfeld/perl6/ch-1.p6 | 111 +++++++ challenge-027/laurent-rosenfeld/perl6/ch-2.p6 | 24 ++ stats/pwc-current.json | 311 +++++++++-------- stats/pwc-language-breakdown-summary.json | 62 ++-- stats/pwc-language-breakdown.json | 430 ++++++++++++------------ stats/pwc-leaders.json | 462 +++++++++++++------------- stats/pwc-summary-1-30.json | 30 +- stats/pwc-summary-31-60.json | 112 +++---- stats/pwc-summary-61-90.json | 44 +-- stats/pwc-summary-91-120.json | 92 ++--- stats/pwc-summary.json | 26 +- 14 files changed, 1021 insertions(+), 773 deletions(-) create mode 100644 challenge-027/laurent-rosenfeld/blog.txt create mode 100644 challenge-027/laurent-rosenfeld/perl5/ch-1.pl create mode 100644 challenge-027/laurent-rosenfeld/perl5/ch-2.pl create mode 100644 challenge-027/laurent-rosenfeld/perl6/ch-1.p6 create mode 100644 challenge-027/laurent-rosenfeld/perl6/ch-2.p6 diff --git a/challenge-027/laurent-rosenfeld/blog.txt b/challenge-027/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..84d863d65a --- /dev/null +++ b/challenge-027/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2019/09/perl-weekly-challenge-27-intersection-point-and-historical-values.html diff --git a/challenge-027/laurent-rosenfeld/perl5/ch-1.pl b/challenge-027/laurent-rosenfeld/perl5/ch-1.pl new file mode 100644 index 0000000000..dabd67b0d7 --- /dev/null +++ b/challenge-027/laurent-rosenfeld/perl5/ch-1.pl @@ -0,0 +1,58 @@ +#!/usr/bin/perl +use strict; +use warnings; +use feature qw/say/; + +sub find_line { + my ($x1, $y1, $x2, $y2) = @_; + my $slope = ($y2 - $y1) / ($x2 - $x1); + # find b for y1 = slope * x1 + b + my $b = $y1 - $slope * $x1; + return $slope, $b; +} + +sub find_intersect { + my ($a1, $b1, $a2, $b2) = @_; + # solve y = ax + b for a1, b1 and a2, b2 + # i.e.: a1 x + b1 = a2 x + b2 <=> x (a1 - a2) = b2 - b1 + die "The segments are parallel or colinear, no intersection point!" if ($a1 == $a2); + my $abscissa = ($b2 - $b1) / ($a1 - $a2); + say "x = $abscissa"; + my $ordinate = $a1 * $abscissa + $b1; + return $abscissa, $ordinate; +} +my ($a1, $b1, $a2, $b2); +if (@ARGV == 8) { + die "The two segments are vertical, no intersection point" + if $ARGV[0] == $ARGV[2] and $ARGV[4] == $ARGV[6]; + if ($ARGV[0] == $ARGV[2]) { + #First segment is vertical + my $abscissa = $ARGV[0]; + ($a2, $b2) = find_line @ARGV[4..7]; + my $ordinate = $a2 * $abscissa + $b2; + say "Intersection point: $abscissa, $ordinate"; + exit 0; + } + if ($ARGV[4] == $ARGV[6]) { + # Second segment is vertical + my $abscissa = $ARGV[4]; + ($a1, $b1) = find_line @ARGV[0..3]; + my $ordinate = $a1 * $abscissa + $b1; + say "Intersection point: $abscissa, $ordinate"; + exit 0; + } + ($a1, $b1) = find_line @ARGV[0..3]; + ($a2, $b2) = find_line @ARGV[4..7]; +} else { + # default test values if arguments are missing or insufficient + ($a1, $b1) = find_line 3, 1, 5, 3; + ($a2, $b2) = find_line 3, 3, 6, 0; +} +say "a1: $a1"; +say "b1: $b1"; +say "a2: $a2"; +say "b2: $b2"; + +my ($x, $y) = find_intersect ($a1, $b1, $a2, $b2); +say "Intersection point abscissa: $x"; +say "Intersection point ordinate: $y"; diff --git a/challenge-027/laurent-rosenfeld/perl5/ch-2.pl b/challenge-027/laurent-rosenfeld/perl5/ch-2.pl new file mode 100644 index 0000000000..6c7b1bc252 --- /dev/null +++ b/challenge-027/laurent-rosenfeld/perl5/ch-2.pl @@ -0,0 +1,31 @@ +#!/usr/bin/perl +use strict; +use warnings; +use feature qw/say/; + +sub create_watched_value { + my $value = shift; + my @past_values; + my $assign = sub { + my $new_val = shift; + push @past_values, $value; + $value = $new_val; + }; + my $get_past_values = sub { + return "@past_values"; + }; + my $get_current_value = sub { + return $value; + }; + return $assign, $get_past_values, $get_current_value; +} + +my ($assign, $get_past, $get_current) = create_watched_value 10; +say "Current: ", $get_current->(); +$assign->(15); +say "Current: ", $get_current->(); +$assign->(20); +say "Current: ", $get_current->(); +$assign->(5); +say "Current: ", $get_current->(); +say "Past: ", $get_past->(); diff --git a/challenge-027/laurent-rosenfeld/perl6/ch-1.p6 b/challenge-027/laurent-rosenfeld/perl6/ch-1.p6 new file mode 100644 index 0000000000..d73fa817b1 --- /dev/null +++ b/challenge-027/laurent-rosenfeld/perl6/ch-1.p6 @@ -0,0 +1,111 @@ +use v6; + +role Point { + has $.x; + has $.y; + + method gist { + return "\n- Abscissa: $.x\n- Ordinate: $.y."; + } +} +class Segment { + has Point $.start; + has Point $.end; + + method slope { + return ($.end.y - $.start.y) / ($.end.x - $.start.x); + } + method y-intercept { + my $slope = self.slope; + return $.start.y - $slope * $.start.x; + } + method line-coordinates { + return self.slope, self.y-intercept; + } +} +sub compute-intersection (Segment $s1, Segment $s2) { + my $abscissa = ($s2.y-intercept - $s1.y-intercept) / + ($s1.slope - $s2.slope); + my $ordinate = $s1.slope * $abscissa + $s1.y-intercept; + my $intersection = Point.new( x => $abscissa, y => $ordinate); +} +multi MAIN ( $a1, $b1, # start of line segment 1 + $a2, $b2, # end of line segment 1 + $a3, $b3, # start of line segment 2 + $a4, $b4 # end of line segment 2 + ) { + exit unless valid-args |@*ARGS; + my $segment1 = Segment.new( + start => Point.new(x => $a1, y => $b1), + end => Point.new(x => $a2, y => $b2) + ); + my $segment2 = Segment.new( + start => Point.new(x => $a3, y => $b3), + end => Point.new(x => $a4, y => $b4) + ); + say "Segments are parallel or colinear." and exit + if $segment1.slope == $segment2.slope; + say "Coordinates of intersection point: ", + compute-intersection $segment1, $segment2; +} +multi MAIN () { + say "Using default input values for testing. Should display poinr (2, 4)."; + my $segment1 = Segment.new( + start => Point.new(x => 3, y => 1), + end => Point.new(x => 5, y => 3) + ); + my $segment2 = Segment.new( + start => Point.new(x => 3, y => 3), + end => Point.new(x => 6, y => 0) + ); + say "Coordinates of intersection point: ", + compute-intersection $segment1, $segment2; +} +sub valid-args ( $a1, $b1, # start of line segment 1 + $a2, $b2, # end of line segment 1 + $a3, $b3, # start of line segment 2 + $a4, $b4 # end of line segment 2 + ) { + unless @*ARGS.all ~~ /<[\d]>+/ { + say "Non numeric argument. Can't continue."; + return False; + } + if $a1 == $a2 and $b1 == $b2 { + say "The first two points are the same. Cannot draw a line."; + return False; + } + if $a3 == $a4 and $b3 == $b4 { + say "The last two points are the same. Cannot draw a line."; + return False; + } + if $a1 == $a2 and $a3 == $a4 { + say "The two segments are vertical. No intersection."; + return False; + } + if $a1 == $a2 { + # First segment is vertical but not the second one + my $segment2 = Segment.new( + start => Point.new(x => $a3, y => $b3), + end => Point.new(x => $a4, y => $b4) + ); + my $ordinate = $segment2.slope + * $a1 + $segment2.y-intercept; + my $interception = Point.new(x => $a1, y => $ordinate); + say "Coordinates of intersection point: ", $interception; + return False; + } + if $a3 == $a4 { + # Second segment is vertical but not the first one + my $segment1 = Segment.new( + start => Point.new(x => $a1, y => $b1), + end => Point.new(x => $a2, y => $b2) + ); + my $ordinate = $segment1.slope + * $a3 + $segment1.y-intercept; + my $interception = Point.new(x => $a3, y => $ordinate); + say "Coordinates of intersection point: ", $interception; + return False; + } + return True; +} + diff --git a/challenge-027/laurent-rosenfeld/perl6/ch-2.p6 b/challenge-027/laurent-rosenfeld/perl6/ch-2.p6 new file mode 100644 index 0000000000..acc7fd97aa --- /dev/null +++ b/challenge-027/laurent-rosenfeld/perl6/ch-2.p6 @@ -0,0 +1,24 @@ +use v6; + +class WatchedValue { + has Int $.current-value is rw; + has @.past-values = (); + + method get-past-values { + return @.past-values; + } +} + +multi sub infix:<=:=> (WatchedValue $y, Int $z) { + push $y.past-values, $y.current-value; + $y.current-value = $z; +} +my $x = WatchedValue.new(current-value => 10); +say "Current: ", $x.current-value; +$x =:= 15; +say "Current: ", $x.current-value; +$x =:= 5; +say "Current: ", $x.current-value; +$x =:= 20; +say "Current: ", $x.current-value; +say "Past values: ", $x.get-past-values; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index df572bc163..ece7690990 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,117 +1,7 @@ { - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "series" : [ - { - "colorByPoint" : 1, - "data" : [ - { - "y" : 3, - "drilldown" : "Adam Russell", - "name" : "Adam Russell" - }, - { - "drilldown" : "Andrezgz", - "name" : "Andrezgz", - "y" : 2 - }, - { - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer", - "y" : 3 - }, - { - "y" : 2, - "drilldown" : "Colin Crain", - "name" : "Colin Crain" - }, - { - "y" : 2, - "name" : "Duane Powell", - "drilldown" : "Duane Powell" - }, - { - "name" : "E. Choroba", - "drilldown" : "E. Choroba", - "y" : 3 - }, - { - "drilldown" : "Joelle Maslak", - "name" : "Joelle Maslak", - "y" : 4 - }, - { - "y" : 2, - "drilldown" : "Kevin Colyer", - "name" : "Kevin Colyer" - }, - { - "name" : "Lubos Kolouch", - "drilldown" : "Lubos Kolouch", - "y" : 2 - }, - { - "y" : 1, - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" - }, - { - "drilldown" : "Markus Holzer", - "name" : "Markus Holzer", - "y" : 2 - }, - { - "name" : "Noud", - "drilldown" : "Noud", - "y" : 2 - }, - { - "name" : "Roger Bell West", - "drilldown" : "Roger Bell West", - "y" : 3 - }, - { - "y" : 4, - "name" : "Ruben Westerberg", - "drilldown" : "Ruben Westerberg" - }, - { - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 2 - }, - { - "name" : "Trenton Langer", - "drilldown" : "Trenton Langer", - "y" : 2 - }, - { - "name" : "Yet Ebreo", - "drilldown" : "Yet Ebreo", - "y" : 3 - } - ], - "name" : "Perl Weekly Challenge - 027" - } - ], - "subtitle" : { - "text" : "[Champions: 17] Last updated at 2019-09-29 20:45:33 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge - 027" - }, "drilldown" : { "series" : [ { - "id" : "Adam Russell", - "name" : "Adam Russell", "data" : [ [ "Perl 5", @@ -121,21 +11,21 @@ "Blog", 1 ] - ] + ], + "name" : "Adam Russell", + "id" : "Adam Russell" }, { - "name" : "Andrezgz", - "id" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Andrezgz", + "name" : "Andrezgz" }, { - "id" : "Arne Sommer", - "name" : "Arne Sommer", "data" : [ [ "Perl 6", @@ -145,17 +35,19 @@ "Blog", 1 ] - ] + ], + "name" : "Arne Sommer", + "id" : "Arne Sommer" }, { - "id" : "Colin Crain", - "name" : "Colin Crain", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Colin Crain", + "id" : "Colin Crain" }, { "data" : [ @@ -168,8 +60,6 @@ "name" : "Duane Powell" }, { - "id" : "E. Choroba", - "name" : "E. Choroba", "data" : [ [ "Perl 5", @@ -179,7 +69,9 @@ "Blog", 1 ] - ] + ], + "name" : "E. Choroba", + "id" : "E. Choroba" }, { "data" : [ @@ -192,28 +84,46 @@ 2 ] ], - "id" : "Joelle Maslak", - "name" : "Joelle Maslak" + "name" : "Joelle Maslak", + "id" : "Joelle Maslak" }, { - "id" : "Kevin Colyer", + "data" : [ + [ + "Perl 6", + 2 + ] + ], "name" : "Kevin Colyer", + "id" : "Kevin Colyer" + }, + { + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ + [ + "Perl 5", + 2 + ], [ "Perl 6", 2 + ], + [ + "Blog", + 1 ] ] }, { - "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch" }, { "data" : [ @@ -226,14 +136,14 @@ "name" : "Mark Anderson" }, { - "name" : "Markus Holzer", - "id" : "Markus Holzer", "data" : [ [ "Perl 6", 2 ] - ] + ], + "name" : "Markus Holzer", + "id" : "Markus Holzer" }, { "data" : [ @@ -246,8 +156,6 @@ "name" : "Noud" }, { - "name" : "Roger Bell West", - "id" : "Roger Bell West", "data" : [ [ "Perl 5", @@ -257,11 +165,11 @@ "Perl 6", 1 ] - ] + ], + "id" : "Roger Bell West", + "name" : "Roger Bell West" }, { - "id" : "Ruben Westerberg", - "name" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -271,7 +179,9 @@ "Perl 6", 2 ] - ] + ], + "id" : "Ruben Westerberg", + "name" : "Ruben Westerberg" }, { "id" : "Simon Proctor", @@ -294,8 +204,8 @@ ] }, { - "name" : "Yet Ebreo", "id" : "Yet Ebreo", + "name" : "Yet Ebreo", "data" : [ [ "Perl 5", @@ -309,21 +219,134 @@ } ] }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "legend" : { + "enabled" : 0 + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } } }, + "series" : [ + { + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 027", + "data" : [ + { + "y" : 3, + "drilldown" : "Adam Russell", + "name" : "Adam Russell" + }, + { + "name" : "Andrezgz", + "drilldown" : "Andrezgz", + "y" : 2 + }, + { + "y" : 3, + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" + }, + { + "drilldown" : "Colin Crain", + "name" : "Colin Crain", + "y" : 2 + }, + { + "y" : 2, + "name" : "Duane Powell", + "drilldown" : "Duane Powell" + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 3 + }, + { + "drilldown" : "Joelle Maslak", + "name" : "Joelle Maslak", + "y" : 4 + }, + { + "y" : 2, + "drilldown" : "Kevin Colyer", + "name" : "Kevin Colyer" + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch", + "y" : 2 + }, + { + "y" : 1, + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" + }, + { + "drilldown" : "Markus Holzer", + "name" : "Markus Holzer", + "y" : 2 + }, + { + "name" : "Noud", + "drilldown" : "Noud", + "y" : 2 + }, + { + "y" : 3, + "drilldown" : "Roger Bell West", + "name" : "Roger Bell West" + }, + { + "y" : 4, + "name" : "Ruben Westerberg", + "drilldown" : "Ruben Westerberg" + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 2 + }, + { + "drilldown" : "Trenton Langer", + "name" : "Trenton Langer", + "y" : 2 + }, + { + "y" : 3, + "drilldown" : "Yet Ebreo", + "name" : "Yet Ebreo" + } + ] + } + ], "tooltip" : { "headerFormat" : "{series.name}
", "followPointer" : 1, "pointFormat" : "{point.name}: {point.y:f}
" }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "chart" : { "type" : "column" }, - "legend" : { - "enabled" : 0 + "subtitle" : { + "text" : "[Champions: 18] Last updated at 2019-09-29 21:16:50 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge - 027" }, "xAxis" : { "type" : "category" diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 9437ceab42..e0da245d34 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - } - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Last updated at 2019-09-29 21:17:00 GMT" }, "title" : { "text" : "Perl Weekly Challenge Contributions - 2019" }, - "legend" : { - "enabled" : "false" - }, "series" : [ { "data" : [ [ "Blog", - 289 + 290 ], [ "Perl 5", - 1089 + 1091 ], [ "Perl 6", - 664 + 666 ] ], "dataLabels" : { + "format" : "{point.y:.0f}", "rotation" : -90, "color" : "#FFFFFF", "enabled" : "true", + "align" : "right", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "format" : "{point.y:.0f}", - "y" : 10, - "align" : "right" + "y" : 10 }, "name" : "Contributions" } ], + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : "false" + }, "tooltip" : { "pointFormat" : "{point.y:.0f}" - }, - "subtitle" : { - "text" : "Last updated at 2019-09-29 20:45:45 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 681f8bd749..2b007dc64a 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,25 +1,178 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "series" : [ + { + "name" : "Perl Weekly Challenge Languages", + "colorByPoint" : "true", + "data" : [ + { + "name" : "#001", + "drilldown" : "001", + "y" : 132 + }, + { + "name" : "#002", + "drilldown" : "002", + "y" : 104 + }, + { + "drilldown" : "003", + "name" : "#003", + "y" : 66 + }, + { + "y" : 86, + "drilldown" : "004", + "name" : "#004" + }, + { + "y" : 66, + "drilldown" : "005", + "name" : "#005" + }, + { + "y" : 47, + "name" : "#006", + "drilldown" : "006" + }, + { + "y" : 55, + "drilldown" : "007", + "name" : "#007" + }, + { + "drilldown" : "008", + "name" : "#008", + "y" : 69 + }, + { + "y" : 68, + "drilldown" : "009", + "name" : "#009" + }, + { + "y" : 60, + "name" : "#010", + "drilldown" : "010" + }, + { + "y" : 78, + "name" : "#011", + "drilldown" : "011" + }, + { + "y" : 83, + "name" : "#012", + "drilldown" : "012" + }, + { + "drilldown" : "013", + "name" : "#013", + "y" : 76 + }, + { + "y" : 95, + "drilldown" : "014", + "name" : "#014" + }, + { + "drilldown" : "015", + "name" : "#015", + "y" : 93 + }, + { + "y" : 66, + "drilldown" : "016", + "name" : "#016" + }, + { + "y" : 79, + "name" : "#017", + "drilldown" : "017" + }, + { + "drilldown" : "018", + "name" : "#018", + "y" : 76 + }, + { + "y" : 95, + "name" : "#019", + "drilldown" : "019" + }, + { + "drilldown" : "020", + "name" : "#020", + "y" : 95 + }, + { + "drilldown" : "021", + "name" : "#021", + "y" : 67 + }, + { + "drilldown" : "022", + "name" : "#022", + "y" : 63 + }, + { + "y" : 91, + "drilldown" : "023", + "name" : "#023" + }, + { + "y" : 70, + "name" : "#024", + "drilldown" : "024" + }, + { + "name" : "#025", + "drilldown" : "025", + "y" : 55 + }, + { + "y" : 67, + "drilldown" : "026", + "name" : "#026" + }, + { + "drilldown" : "027", + "name" : "#027", + "y" : 45 + } + ] } + ], + "title" : { + "text" : "Perl Weekly Challenge Language" }, "xAxis" : { "type" : "category" }, - "title" : { - "text" : "Perl Weekly Challenge Language" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-09-29 21:17:00 GMT" }, - "legend" : { - "enabled" : "false" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "", + "pointFormat" : "Challenge {point.name}: {point.y:f}
" }, "drilldown" : { "series" : [ { - "name" : "001", "id" : "001", "data" : [ [ @@ -34,7 +187,8 @@ "Blog", 11 ] - ] + ], + "name" : "001" }, { "name" : "002", @@ -55,6 +209,7 @@ ] }, { + "name" : "003", "data" : [ [ "Perl 5", @@ -69,11 +224,10 @@ 8 ] ], - "id" : "003", - "name" : "003" + "id" : "003" }, { - "name" : "004", + "id" : "004", "data" : [ [ "Perl 5", @@ -88,10 +242,10 @@ 9 ] ], - "id" : "004" + "name" : "004" }, { - "id" : "005", + "name" : "005", "data" : [ [ "Perl 5", @@ -106,7 +260,7 @@ 11 ] ], - "name" : "005" + "id" : "005" }, { "data" : [ @@ -128,6 +282,7 @@ }, { "name" : "007", + "id" : "007", "data" : [ [ "Perl 5", @@ -141,12 +296,10 @@ "Blog", 9 ] - ], - "id" : "007" + ] }, { "name" : "008", - "id" : "008", "data" : [ [ "Perl 5", @@ -160,10 +313,10 @@ "Blog", 11 ] - ] + ], + "id" : "008" }, { - "name" : "009", "id" : "009", "data" : [ [ @@ -178,9 +331,11 @@ "Blog", 13 ] - ] + ], + "name" : "009" }, { + "name" : "010", "data" : [ [ "Perl 5", @@ -195,11 +350,10 @@ 11 ] ], - "id" : "010", - "name" : "010" + "id" : "010" }, { - "id" : "011", + "name" : "011", "data" : [ [ "Perl 5", @@ -214,9 +368,10 @@ 9 ] ], - "name" : "011" + "id" : "011" }, { + "name" : "012", "data" : [ [ "Perl 5", @@ -231,10 +386,10 @@ 11 ] ], - "id" : "012", - "name" : "012" + "id" : "012" }, { + "name" : "013", "data" : [ [ "Perl 5", @@ -249,8 +404,7 @@ 13 ] ], - "id" : "013", - "name" : "013" + "id" : "013" }, { "id" : "014", @@ -272,6 +426,7 @@ }, { "name" : "015", + "id" : "015", "data" : [ [ "Perl 5", @@ -285,10 +440,10 @@ "Blog", 15 ] - ], - "id" : "015" + ] }, { + "id" : "016", "data" : [ [ "Perl 5", @@ -303,11 +458,11 @@ 12 ] ], - "id" : "016", "name" : "016" }, { "name" : "017", + "id" : "017", "data" : [ [ "Perl 5", @@ -321,11 +476,10 @@ "Blog", 12 ] - ], - "id" : "017" + ] }, { - "name" : "018", + "id" : "018", "data" : [ [ "Perl 5", @@ -340,9 +494,11 @@ 14 ] ], - "id" : "018" + "name" : "018" }, { + "name" : "019", + "id" : "019", "data" : [ [ "Perl 5", @@ -356,12 +512,11 @@ "Blog", 13 ] - ], - "id" : "019", - "name" : "019" + ] }, { "name" : "020", + "id" : "020", "data" : [ [ "Perl 5", @@ -375,10 +530,10 @@ "Blog", 13 ] - ], - "id" : "020" + ] }, { + "name" : "021", "data" : [ [ "Perl 5", @@ -393,12 +548,9 @@ 10 ] ], - "id" : "021", - "name" : "021" + "id" : "021" }, { - "name" : "022", - "id" : "022", "data" : [ [ "Perl 5", @@ -412,10 +564,11 @@ "Blog", 10 ] - ] + ], + "id" : "022", + "name" : "022" }, { - "name" : "023", "data" : [ [ "Perl 5", @@ -430,7 +583,8 @@ 12 ] ], - "id" : "023" + "id" : "023", + "name" : "023" }, { "data" : [ @@ -469,6 +623,7 @@ "name" : "025" }, { + "name" : "026", "data" : [ [ "Perl 5", @@ -483,187 +638,32 @@ 7 ] ], - "id" : "026", - "name" : "026" + "id" : "026" }, { + "name" : "027", "data" : [ [ "Perl 5", - 23 + 25 ], [ "Perl 6", - 14 + 16 ], [ "Blog", - 3 + 4 ] ], - "id" : "027", - "name" : "027" + "id" : "027" } ] }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-09-29 20:45:45 GMT" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } + "legend" : { + "enabled" : "false" }, - "series" : [ - { - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true", - "data" : [ - { - "name" : "#001", - "y" : 132, - "drilldown" : "001" - }, - { - "drilldown" : "002", - "y" : 104, - "name" : "#002" - }, - { - "y" : 66, - "drilldown" : "003", - "name" : "#003" - }, - { - "drilldown" : "004", - "y" : 86, - "name" : "#004" - }, - { - "y" : 66, - "drilldown" : "005", - "name" : "#005" - }, - { - "name" : "#006", - "drilldown" : "006", - "y" : 47 - }, - { - "name" : "#007", - "y" : 55, - "drilldown" : "007" - }, - { - "name" : "#008", - "y" : 69, - "drilldown" : "008" - }, - { - "y" : 68, - "drilldown" : "009", - "name" : "#009" - }, - { - "name" : "#010", - "drilldown" : "010", - "y" : 60 - }, - { - "y" : 78, - "drilldown" : "011", - "name" : "#011" - }, - { - "y" : 83, - "drilldown" : "012", - "name" : "#012" - }, - { - "drilldown" : "013", - "y" : 76, - "name" : "#013" - }, - { - "name" : "#014", - "y" : 95, - "drilldown" : "014" - }, - { - "drilldown" : "015", - "y" : 93, - "name" : "#015" - }, - { - "name" : "#016", - "y" : 66, - "drilldown" : "016" - }, - { - "name" : "#017", - "drilldown" : "017", - "y" : 79 - }, - { - "name" : "#018", - "y" : 76, - "drilldown" : "018" - }, - { - "name" : "#019", - "drilldown" : "019", - "y" : 95 - }, - { - "name" : "#020", - "drilldown" : "020", - "y" : 95 - }, - { - "name" : "#021", - "y" : 67, - "drilldown" : "021" - }, - { - "drilldown" : "022", - "y" : 63, - "name" : "#022" - }, - { - "y" : 91, - "drilldown" : "023", - "name" : "#023" - }, - { - "drilldown" : "024", - "y" : 70, - "name" : "#024" - }, - { - "name" : "#025", - "drilldown" : "025", - "y" : 55 - }, - { - "y" : 67, - "drilldown" : "026", - "name" : "#026" - }, - { - "name" : "#027", - "drilldown" : "027", - "y" : 40 - } - ] - } - ], - "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 2f2597efe7..0429891382 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -1,35 +1,32 @@ { + "legend" : { + "enabled" : "false" + }, "chart" : { "type" : "column" }, "drilldown" : { "series" : [ { + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ [ "Blog", - 56 + 57 ], [ "Perl 6", - 51 + 53 ], [ "Perl 5", - 52 + 54 ] - ], - "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld" + ] }, { - "id" : "Joelle Maslak", - "name" : "Joelle Maslak", "data" : [ - [ - "Blog", - 5 - ], [ "Perl 5", 68 @@ -37,11 +34,23 @@ [ "Perl 6", 68 + ], + [ + "Blog", + 5 ] - ] + ], + "id" : "Joelle Maslak", + "name" : "Joelle Maslak" }, { + "name" : "Jaldhar H. Vyas", + "id" : "Jaldhar H. Vyas", "data" : [ + [ + "Perl 5", + 52 + ], [ "Blog", 13 @@ -49,16 +58,12 @@ [ "Perl 6", 51 - ], - [ - "Perl 5", - 52 ] - ], - "name" : "Jaldhar H. Vyas", - "id" : "Jaldhar H. Vyas" + ] }, { + "id" : "Ruben Westerberg", + "name" : "Ruben Westerberg", "data" : [ [ "Perl 6", @@ -68,9 +73,7 @@ "Perl 5", 51 ] - ], - "name" : "Ruben Westerberg", - "id" : "Ruben Westerberg" + ] }, { "data" : [ @@ -78,53 +81,53 @@ "Blog", 30 ], - [ - "Perl 5", - 55 - ], [ "Perl 6", 3 + ], + [ + "Perl 5", + 55 ] ], "name" : "Adam Russell", "id" : "Adam Russell" }, { - "name" : "Arne Sommer", - "id" : "Arne Sommer", "data" : [ [ - "Blog", - 27 + "Perl 5", + 3 ], [ "Perl 6", 54 ], [ - "Perl 5", - 3 + "Blog", + 27 ] - ] + ], + "id" : "Arne Sommer", + "name" : "Arne Sommer" }, { "data" : [ - [ - "Blog", - 3 - ], [ "Perl 5", 53 ], + [ + "Blog", + 3 + ], [ "Perl 6", 28 ] ], - "id" : "Athanasius", - "name" : "Athanasius" + "name" : "Athanasius", + "id" : "Athanasius" }, { "data" : [ @@ -156,10 +159,6 @@ }, { "data" : [ - [ - "Perl 5", - 5 - ], [ "Perl 6", 45 @@ -167,24 +166,26 @@ [ "Blog", 7 + ], + [ + "Perl 5", + 5 ] ], - "id" : "Simon Proctor", - "name" : "Simon Proctor" + "name" : "Simon Proctor", + "id" : "Simon Proctor" }, { + "name" : "Andrezgz", + "id" : "Andrezgz", "data" : [ [ "Perl 5", 52 ] - ], - "id" : "Andrezgz", - "name" : "Andrezgz" + ] }, { - "name" : "Roger Bell West", - "id" : "Roger Bell West", "data" : [ [ "Blog", @@ -198,7 +199,9 @@ "Perl 5", 28 ] - ] + ], + "name" : "Roger Bell West", + "id" : "Roger Bell West" }, { "data" : [ @@ -211,8 +214,8 @@ 9 ] ], - "name" : "Francis Whittle", - "id" : "Francis Whittle" + "id" : "Francis Whittle", + "name" : "Francis Whittle" }, { "data" : [ @@ -229,7 +232,13 @@ "id" : "Duncan C. White" }, { + "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ + [ + "Perl 5", + 26 + ], [ "Blog", 18 @@ -237,40 +246,36 @@ [ "Perl 6", 1 - ], - [ - "Perl 5", - 26 ] - ], - "id" : "Dave Jacoby", - "name" : "Dave Jacoby" + ] }, { - "id" : "Daniel Mantovani", - "name" : "Daniel Mantovani", "data" : [ [ "Perl 5", 41 ] - ] + ], + "name" : "Daniel Mantovani", + "id" : "Daniel Mantovani" }, { - "name" : "Feng Chang", - "id" : "Feng Chang", "data" : [ - [ - "Perl 6", - 21 - ], [ "Perl 5", 19 + ], + [ + "Perl 6", + 21 ] - ] + ], + "id" : "Feng Chang", + "name" : "Feng Chang" }, { + "name" : "Steven Wilson", + "id" : "Steven Wilson", "data" : [ [ "Blog", @@ -280,28 +285,30 @@ "Perl 5", 36 ] - ], - "name" : "Steven Wilson", - "id" : "Steven Wilson" + ] }, { + "id" : "Gustavo Chaves", + "name" : "Gustavo Chaves", "data" : [ - [ - "Perl 5", - 32 - ], [ "Blog", 4 + ], + [ + "Perl 5", + 32 ] - ], - "id" : "Gustavo Chaves", - "name" : "Gustavo Chaves" + ] }, { - "id" : "Yet Ebreo", "name" : "Yet Ebreo", + "id" : "Yet Ebreo", "data" : [ + [ + "Perl 6", + 14 + ], [ "Blog", 4 @@ -309,10 +316,6 @@ [ "Perl 5", 18 - ], - [ - "Perl 6", - 14 ] ] }, @@ -331,18 +334,18 @@ ] }, { + "name" : "Guillermo Ramos", + "id" : "Guillermo Ramos", "data" : [ [ "Perl 5", 32 ] - ], - "name" : "Guillermo Ramos", - "id" : "Guillermo Ramos" + ] }, { - "id" : "Mark Senn", "name" : "Mark Senn", + "id" : "Mark Senn", "data" : [ [ "Perl 6", @@ -358,24 +361,20 @@ "id" : "Kevin Colyer", "name" : "Kevin Colyer", "data" : [ - [ - "Perl 5", - 2 - ], [ "Perl 6", 27 + ], + [ + "Perl 5", + 2 ] ] }, { - "name" : "Jo Christian Oterhals", "id" : "Jo Christian Oterhals", + "name" : "Jo Christian Oterhals", "data" : [ - [ - "Perl 6", - 15 - ], [ "Perl 5", 6 @@ -383,12 +382,16 @@ [ "Blog", 7 + ], + [ + "Perl 6", + 15 ] ] }, { - "name" : "Duane Powell", "id" : "Duane Powell", + "name" : "Duane Powell", "data" : [ [ "Perl 5", @@ -407,8 +410,6 @@ ] }, { - "name" : "Randy Lauen", - "id" : "Randy Lauen", "data" : [ [ "Perl 5", @@ -418,11 +419,13 @@ "Perl 6", 17 ] - ] + ], + "name" : "Randy Lauen", + "id" : "Randy Lauen" }, { - "id" : "Lubos Kolouch", "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch", "data" : [ [ "Perl 5", @@ -431,18 +434,16 @@ ] }, { - "name" : "Noud", - "id" : "Noud", "data" : [ [ "Perl 6", 24 ] - ] + ], + "id" : "Noud", + "name" : "Noud" }, { - "name" : "Dr James A. Smith", - "id" : "Dr James A. Smith", "data" : [ [ "Perl 6", @@ -452,20 +453,22 @@ "Perl 5", 12 ] - ] + ], + "name" : "Dr James A. Smith", + "id" : "Dr James A. Smith" }, { - "id" : "Veesh Goldman", "name" : "Veesh Goldman", + "id" : "Veesh Goldman", "data" : [ - [ - "Blog", - 3 - ], [ "Perl 5", 16 ], + [ + "Blog", + 3 + ], [ "Perl 6", 2 @@ -487,8 +490,8 @@ ] }, { - "id" : "Lars Balker", "name" : "Lars Balker", + "id" : "Lars Balker", "data" : [ [ "Perl 6", @@ -501,14 +504,14 @@ ] }, { - "id" : "Jaime Corchado", - "name" : "Jaime Corchado", "data" : [ [ "Perl 5", 12 ] - ] + ], + "name" : "Jaime Corchado", + "id" : "Jaime Corchado" }, { "data" : [ @@ -521,14 +524,14 @@ "name" : "Maxim Nechaev" }, { - "name" : "Alicia Bielsa", - "id" : "Alicia Bielsa", "data" : [ [ "Perl 5", 11 ] - ] + ], + "id" : "Alicia Bielsa", + "name" : "Alicia Bielsa" }, { "data" : [ @@ -541,76 +544,76 @@ "id" : "Colin Crain" }, { - "id" : "Doug Schrag", - "name" : "Doug Schrag", "data" : [ [ "Perl 6", 10 ] - ] + ], + "name" : "Doug Schrag", + "id" : "Doug Schrag" }, { - "id" : "Dave Cross", - "name" : "Dave Cross", "data" : [ - [ - "Blog", - 2 - ], [ "Perl 5", 7 + ], + [ + "Blog", + 2 ] - ] + ], + "id" : "Dave Cross", + "name" : "Dave Cross" }, { - "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Perl 5", 9 ] - ] + ], + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { "data" : [ - [ - "Blog", - 3 - ], [ "Perl 5", 6 + ], + [ + "Blog", + 3 ] ], "name" : "Neil Bowers", "id" : "Neil Bowers" }, { - "id" : "Walt Mankowski", - "name" : "Walt Mankowski", "data" : [ [ "Perl 5", 9 ] - ] + ], + "name" : "Walt Mankowski", + "id" : "Walt Mankowski" }, { - "id" : "Donald Hunter", - "name" : "Donald Hunter", "data" : [ [ - "Blog", + "Perl 6", 4 ], [ - "Perl 6", + "Blog", 4 ] - ] + ], + "name" : "Donald Hunter", + "id" : "Donald Hunter" }, { "id" : "Pete Houston", @@ -623,22 +626,22 @@ ] }, { - "id" : "Robert Gratza", "name" : "Robert Gratza", + "id" : "Robert Gratza", "data" : [ - [ - "Perl 6", - 6 - ], [ "Perl 5", 2 + ], + [ + "Perl 6", + 6 ] ] }, { - "id" : "John Barrett", "name" : "John Barrett", + "id" : "John Barrett", "data" : [ [ "Perl 5", @@ -647,22 +650,22 @@ ] }, { - "name" : "Khalid", - "id" : "Khalid", "data" : [ [ "Blog", 1 ], - [ - "Perl 5", - 4 - ], [ "Perl 6", 2 + ], + [ + "Perl 5", + 4 ] - ] + ], + "name" : "Khalid", + "id" : "Khalid" }, { "name" : "Aaron Sherman", @@ -675,14 +678,14 @@ ] }, { + "name" : "Kivanc Yazan", + "id" : "Kivanc Yazan", "data" : [ [ "Perl 5", 6 ] - ], - "name" : "Kivanc Yazan", - "id" : "Kivanc Yazan" + ] } ] }, @@ -691,17 +694,11 @@ "followPointer" : "true", "pointFormat" : "{point.name}: {point.y:f}
" }, - "legend" : { - "enabled" : "false" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-09-29 20:45:40 GMT" - }, "plotOptions" : { "series" : { "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" + "format" : "{point.y}", + "enabled" : 1 }, "borderWidth" : 0 } @@ -718,13 +715,13 @@ { "data" : [ { - "drilldown" : "Laurent Rosenfeld", "name" : "#1: Laurent Rosenfeld", - "y" : 318 + "drilldown" : "Laurent Rosenfeld", + "y" : 328 }, { - "name" : "#2: Joelle Maslak", "drilldown" : "Joelle Maslak", + "name" : "#2: Joelle Maslak", "y" : 282 }, { @@ -733,64 +730,64 @@ "name" : "#3: Jaldhar H. Vyas" }, { - "y" : 204, + "name" : "#4: Ruben Westerberg", "drilldown" : "Ruben Westerberg", - "name" : "#4: Ruben Westerberg" + "y" : 204 }, { - "y" : 176, + "drilldown" : "Adam Russell", "name" : "#5: Adam Russell", - "drilldown" : "Adam Russell" + "y" : 176 }, { - "name" : "#6: Arne Sommer", + "y" : 168, "drilldown" : "Arne Sommer", - "y" : 168 + "name" : "#6: Arne Sommer" }, { - "name" : "#7: Athanasius", + "y" : 168, "drilldown" : "Athanasius", - "y" : 168 + "name" : "#7: Athanasius" }, { - "drilldown" : "E. Choroba", + "y" : 136, "name" : "#8: E. Choroba", - "y" : 136 + "drilldown" : "E. Choroba" }, { - "name" : "#9: Kian-Meng Ang", "drilldown" : "Kian-Meng Ang", + "name" : "#9: Kian-Meng Ang", "y" : 134 }, { + "y" : 114, "name" : "#10: Simon Proctor", - "drilldown" : "Simon Proctor", - "y" : 114 + "drilldown" : "Simon Proctor" }, { - "y" : 104, + "name" : "#11: Andrezgz", "drilldown" : "Andrezgz", - "name" : "#11: Andrezgz" + "y" : 104 }, { "y" : 100, - "drilldown" : "Roger Bell West", - "name" : "#12: Roger Bell West" + "name" : "#12: Roger Bell West", + "drilldown" : "Roger Bell West" }, { - "name" : "#13: Francis Whittle", "drilldown" : "Francis Whittle", + "name" : "#13: Francis Whittle", "y" : 96 }, { - "y" : 94, + "name" : "#14: Duncan C. White", "drilldown" : "Duncan C. White", - "name" : "#14: Duncan C. White" + "y" : 94 }, { - "drilldown" : "Dave Jacoby", + "y" : 90, "name" : "#15: Dave Jacoby", - "y" : 90 + "drilldown" : "Dave Jacoby" }, { "y" : 82, @@ -804,13 +801,13 @@ }, { "y" : 78, - "drilldown" : "Steven Wilson", - "name" : "#18: Steven Wilson" + "name" : "#18: Steven Wilson", + "drilldown" : "Steven Wilson" }, { - "y" : 72, "name" : "#19: Gustavo Chaves", - "drilldown" : "Gustavo Chaves" + "drilldown" : "Gustavo Chaves", + "y" : 72 }, { "name" : "#20: Yet Ebreo", @@ -818,24 +815,24 @@ "y" : 72 }, { - "y" : 70, + "name" : "#21: Yozen Hernandez", "drilldown" : "Yozen Hernandez", - "name" : "#21: Yozen Hernandez" + "y" : 70 }, { - "drilldown" : "Guillermo Ramos", "name" : "#22: Guillermo Ramos", + "drilldown" : "Guillermo Ramos", "y" : 64 }, { "y" : 62, - "drilldown" : "Mark Senn", - "name" : "#23: Mark Senn" + "name" : "#23: Mark Senn", + "drilldown" : "Mark Senn" }, { - "y" : 58, + "drilldown" : "Kevin Colyer", "name" : "#24: Kevin Colyer", - "drilldown" : "Kevin Colyer" + "y" : 58 }, { "name" : "#25: Jo Christian Oterhals", @@ -853,9 +850,9 @@ "y" : 52 }, { - "y" : 52, + "name" : "#28: Randy Lauen", "drilldown" : "Randy Lauen", - "name" : "#28: Randy Lauen" + "y" : 52 }, { "name" : "#29: Lubos Kolouch", @@ -879,8 +876,8 @@ }, { "y" : 32, - "name" : "#33: Nick Logan", - "drilldown" : "Nick Logan" + "drilldown" : "Nick Logan", + "name" : "#33: Nick Logan" }, { "drilldown" : "Lars Balker", @@ -889,8 +886,8 @@ }, { "y" : 24, - "drilldown" : "Jaime Corchado", - "name" : "#35: Jaime Corchado" + "name" : "#35: Jaime Corchado", + "drilldown" : "Jaime Corchado" }, { "y" : 24, @@ -903,9 +900,9 @@ "name" : "#37: Alicia Bielsa" }, { - "y" : 20, "name" : "#38: Colin Crain", - "drilldown" : "Colin Crain" + "drilldown" : "Colin Crain", + "y" : 20 }, { "y" : 20, @@ -913,24 +910,24 @@ "drilldown" : "Doug Schrag" }, { - "y" : 18, + "name" : "#40: Dave Cross", "drilldown" : "Dave Cross", - "name" : "#40: Dave Cross" + "y" : 18 }, { - "drilldown" : "Mark Anderson", "name" : "#41: Mark Anderson", + "drilldown" : "Mark Anderson", "y" : 18 }, { - "y" : 18, "name" : "#42: Neil Bowers", - "drilldown" : "Neil Bowers" + "drilldown" : "Neil Bowers", + "y" : 18 }, { - "y" : 18, "drilldown" : "Walt Mankowski", - "name" : "#43: Walt Mankowski" + "name" : "#43: Walt Mankowski", + "y" : 18 }, { "y" : 16, @@ -943,29 +940,29 @@ "name" : "#45: Pete Houston" }, { - "name" : "#46: Robert Gratza", "drilldown" : "Robert Gratza", + "name" : "#46: Robert Gratza", "y" : 16 }, { - "y" : 14, "name" : "#47: John Barrett", - "drilldown" : "John Barrett" + "drilldown" : "John Barrett", + "y" : 14 }, { + "y" : 14, "name" : "#48: Khalid", - "drilldown" : "Khalid", - "y" : 14 + "drilldown" : "Khalid" }, { + "y" : 12, "drilldown" : "Aaron Sherman", - "name" : "#49: A