From 6afc92bb1d9f1a4444bda22f20bbb173ab2a02aa Mon Sep 17 00:00:00 2001 From: Randy Lauen Date: Tue, 27 Aug 2019 23:01:08 -0500 Subject: some solutions --- challenge-023/randy-lauen/perl5/ch-1.pl | 30 +++++++++++++++++++ challenge-023/randy-lauen/perl6/ch-1.p6 | 27 +++++++++++++++++ challenge-023/randy-lauen/perl6/ch-2.p6 | 53 +++++++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100644 challenge-023/randy-lauen/perl5/ch-1.pl create mode 100644 challenge-023/randy-lauen/perl6/ch-1.p6 create mode 100644 challenge-023/randy-lauen/perl6/ch-2.p6 diff --git a/challenge-023/randy-lauen/perl5/ch-1.pl b/challenge-023/randy-lauen/perl5/ch-1.pl new file mode 100644 index 0000000000..2b8533c330 --- /dev/null +++ b/challenge-023/randy-lauen/perl5/ch-1.pl @@ -0,0 +1,30 @@ +#!/usr/bin/env perl + +=head1 SYNOPSIS + +Task: +Create a script that prints nth order forward difference series. You should be a +able to pass the list of numbers and order number as command line parameters. + +Usage: + $ perl ch-1.pl --order=1 5 9 2 8 1 6 + +=cut + +use strict; +use warnings; +use feature 'say'; + +use Getopt::Long; + +my $order; +GetOptions( 'order=i' => \$order ) or die; + +my @numbers = @ARGV; + +foreach my $order ( 1 .. $order ) { + @numbers = map { $numbers[ $_ ] - $numbers[ $_ - 1 ] } 1 .. $#numbers; + say "$order: " . join(', ', @numbers); + last if @numbers == 1; +} + diff --git a/challenge-023/randy-lauen/perl6/ch-1.p6 b/challenge-023/randy-lauen/perl6/ch-1.p6 new file mode 100644 index 0000000000..a239b28586 --- /dev/null +++ b/challenge-023/randy-lauen/perl6/ch-1.p6 @@ -0,0 +1,27 @@ +#!/usr/bin/env perl6 + +=begin SYNOPSIS + +Task: +Create a script that prints nth order forward difference series. You should be a +able to pass the list of numbers and order number as command line parameters. + +Usage: + $ perl6 ch-1.p6 --order=1 5 9 2 8 1 6 + +Notes: +I don't really understand all the intricacies of the << hyper operator and what +the different pointy directions mean, especially when the lists are different +sizes. But, after fiddling with it in the perl6 REPL, I managed to find the +behavior I was looking for. + +=end SYNOPSIS + +sub MAIN( Int :$order!, *@numbers where *.elems > 0 ) { + for 1 .. $order -> $i { + @numbers = @numbers.tail(*-1) >>->> @numbers; + say "$i: @numbers.join(', ')"; + last if @numbers.elems == 1; + } +} + diff --git a/challenge-023/randy-lauen/perl6/ch-2.p6 b/challenge-023/randy-lauen/perl6/ch-2.p6 new file mode 100644 index 0000000000..3669bfafa6 --- /dev/null +++ b/challenge-023/randy-lauen/perl6/ch-2.p6 @@ -0,0 +1,53 @@ +#!/usr/bin/env perl6 + +=begin SYNOPSIS + +Task: +Create a script that prints Prime Decomposition of a given number. The prime decomposition of a number is +defined as a list of prime numbers which when all multiplied together, are equal to that number. For example, +the Prime decomposition of 228 is 2,2,3,19 as 228 = 2 * 2 * 3 * 19. + +Usage: + $ perl6 ch-2.p6 228 + $ perl6 ch-2.p6 --test + +Notes: +I used the algorithm described here: https://www.geeksforgeeks.org/print-all-prime-factors-of-a-given-number/ + +=end SYNOPSIS + +sub my-prime-factors( $n is copy ) { + my @factors; + while $n %% 2 { + @factors.push: 2; + $n /= 2; + } + for 3, 5 ... sqrt($n) -> $i { + while $n %% $i { + @factors.push: $i; + $n /= $i; + } + } + @factors.push: $n if $n > 2; + + return @factors; +} + + +multi MAIN( Int $input where * > 0 ) { + my @factors = my-prime-factors( $input ); + say @factors.elems + ?? @factors.join(', ') + !! "No prime factors for: $input"; + ; +} + + +multi MAIN( Bool :$test! ) { + use Test; + for 1 .. 1000 -> $n { + say "$n: " ~ my-prime-factors($n).join(', '); + } +} + + -- cgit From 858aa4643f1838b41baeb196e70a37e4294a58a3 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Wed, 28 Aug 2019 18:04:22 -0600 Subject: Challenge 23 solutions. --- challenge-023/mark-anderson/ch-1.pl | 24 ++++++++++++++++++++++++ challenge-023/mark-anderson/ch-2.pl | 7 +++++++ challenge-023/mark-anderson/ch-3.pl | 16 ++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 challenge-023/mark-anderson/ch-1.pl create mode 100644 challenge-023/mark-anderson/ch-2.pl create mode 100644 challenge-023/mark-anderson/ch-3.pl diff --git a/challenge-023/mark-anderson/ch-1.pl b/challenge-023/mark-anderson/ch-1.pl new file mode 100644 index 0000000000..c225e84204 --- /dev/null +++ b/challenge-023/mark-anderson/ch-1.pl @@ -0,0 +1,24 @@ +#!/usr/bin/env perl + +use Modern::Perl '2018'; +use Getopt::Long; + +#usage: perl ch-1.pl -n=2 -- -11 13 -13 12; + +my $n = 1; +GetOptions('n=i' => \$n) ; + +my @X = (5, 9, 2, 8, 1, 6); +@X = @ARGV if @ARGV; + +while($n and @X > 1) { + my @Y; + foreach my $i (0 .. ($#X - 1)) { + push @Y, $X[$i+1] - $X[$i]; + } + $n--; + @X = @Y; +} + +$" = ", "; +say "@X"; diff --git a/challenge-023/mark-anderson/ch-2.pl b/challenge-023/mark-anderson/ch-2.pl new file mode 100644 index 0000000000..050d75104a --- /dev/null +++ b/challenge-023/mark-anderson/ch-2.pl @@ -0,0 +1,7 @@ +#!/usr/bin/env perl + +use Modern::Perl '2018'; +use Math::Prime::Util 'factor'; + +my $num = shift || 228; +say join ", ", factor($num); diff --git a/challenge-023/mark-anderson/ch-3.pl b/challenge-023/mark-anderson/ch-3.pl new file mode 100644 index 0000000000..53603f7ab7 --- /dev/null +++ b/challenge-023/mark-anderson/ch-3.pl @@ -0,0 +1,16 @@ +#!/usr/bin/env perl + +use Modern::Perl '2018'; +use Mojo::UserAgent; + +my $ua = Mojo::UserAgent->new; + +my $array = $ua->get("https://www.poemist.com/api/v1/randompoems") + ->result->json; + +foreach my $i (keys $array->@*) { + printf "%-7s%s\n", "URL:", $array->[$i]->{url}; + printf "%-7s%s\n", "Poet:", $array->[$i]->{poet}->{name}; + printf "%-7s%s\n\n", "Title:", $array->[$i]->{title}; + say $array->[$i]->{content}, "\n"; +} -- cgit From 0b6f3d1ba100c5b7c9d8048e76bb4682188e17ab Mon Sep 17 00:00:00 2001 From: Randy Lauen Date: Wed, 28 Aug 2019 20:34:58 -0500 Subject: tests --- challenge-023/randy-lauen/perl6/ch-2.p6 | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/challenge-023/randy-lauen/perl6/ch-2.p6 b/challenge-023/randy-lauen/perl6/ch-2.p6 index 3669bfafa6..c5a5c1bd5c 100644 --- a/challenge-023/randy-lauen/perl6/ch-2.p6 +++ b/challenge-023/randy-lauen/perl6/ch-2.p6 @@ -8,24 +8,24 @@ defined as a list of prime numbers which when all multiplied together, are equal the Prime decomposition of 228 is 2,2,3,19 as 228 = 2 * 2 * 3 * 19. Usage: - $ perl6 ch-2.p6 228 - $ perl6 ch-2.p6 --test + $ perl6 ch-2.p6 228 # print out prime factors + $ perl6 ch-2.p6 --test # test results against Prime::Factor Notes: I used the algorithm described here: https://www.geeksforgeeks.org/print-all-prime-factors-of-a-given-number/ =end SYNOPSIS -sub my-prime-factors( $n is copy ) { +sub my-prime-factors( Int $n is copy ) { my @factors; while $n %% 2 { @factors.push: 2; - $n /= 2; + $n = ($n / 2).Int; } for 3, 5 ... sqrt($n) -> $i { while $n %% $i { @factors.push: $i; - $n /= $i; + $n = ($n / $i).Int; } } @factors.push: $n if $n > 2; @@ -45,9 +45,15 @@ multi MAIN( Int $input where * > 0 ) { multi MAIN( Bool :$test! ) { use Test; - for 1 .. 1000 -> $n { - say "$n: " ~ my-prime-factors($n).join(', '); - } + use Prime::Factor; + + plan 1; + + my $max = 10_000; + my %mine = hyper for 1 .. $max { $_ => my-prime-factors($_).List }; + my %expected = hyper for 1 .. $max { $_ => prime-factors($_).List }; + + is-deeply( %mine, %expected, "all prime factors up to $max match" ); } -- cgit From 338524a725797fb46984f5d98db6df8556dd4f17 Mon Sep 17 00:00:00 2001 From: Randy Lauen Date: Wed, 28 Aug 2019 20:37:10 -0500 Subject: perl5 solution for task2 --- challenge-023/randy-lauen/perl5/ch-2.pl | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 challenge-023/randy-lauen/perl5/ch-2.pl diff --git a/challenge-023/randy-lauen/perl5/ch-2.pl b/challenge-023/randy-lauen/perl5/ch-2.pl new file mode 100644 index 0000000000..45aae0214e --- /dev/null +++ b/challenge-023/randy-lauen/perl5/ch-2.pl @@ -0,0 +1,50 @@ +#!/usr/bin/env perl + +=head1 SYNOPSIS + +Task: +Create a script that prints Prime Decomposition of a given number. The prime decomposition of a number is +defined as a list of prime numbers which when all multiplied together, are equal to that number. For example, +the Prime decomposition of 228 is 2,2,3,19 as 228 = 2 * 2 * 3 * 19. + +Usage: + $ perl ch-2.pl 228 + +Notes: +I used the algorithm described here: https://www.geeksforgeeks.org/print-all-prime-factors-of-a-given-number/ + +=cut + +use strict; +use warnings; +use feature 'say'; + +my $num = $ARGV[0] // ''; +die "Must pass an integer > 0 as the first argument\n" unless $num && $num =~ /^\d+$/; + +say $num == 1 + ? "No prime factors for 1" + : join(', ', prime_factors( $num ) ) +; + +exit 0; + +sub prime_factors { + my $n = shift; + + my @factors; + while ( $n % 2 == 0 ) { + push @factors, 2; + $n /= 2; + } + for ( my $i = 3; $i <= sqrt($n); $i += 2 ) { + while ( $n % $i == 0 ) { + push @factors, $i; + $n /= $i; + } + } + push @factors, $n if $n > 2; + + return @factors; +} + -- cgit From c8826b12ae4835e1673a5783d519912aedf4216c Mon Sep 17 00:00:00 2001 From: Randy Lauen Date: Wed, 28 Aug 2019 21:34:12 -0500 Subject: task 3 solutions --- challenge-023/randy-lauen/perl5/ch-3.pl | 44 +++++++++++++++++++++++++++++++++ challenge-023/randy-lauen/perl6/ch-3.p6 | 31 +++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 challenge-023/randy-lauen/perl5/ch-3.pl create mode 100644 challenge-023/randy-lauen/perl6/ch-3.p6 diff --git a/challenge-023/randy-lauen/perl5/ch-3.pl b/challenge-023/randy-lauen/perl5/ch-3.pl new file mode 100644 index 0000000000..d4fd4c6973 --- /dev/null +++ b/challenge-023/randy-lauen/perl5/ch-3.pl @@ -0,0 +1,44 @@ +#!/usr/bin/env perl + +=head2 SYNOPSIS + +Task: +Write a script to use Random Poems API. + +Usage: + $ perl ch-3.pl + +Notes: +This script prints the shortest poem returned by the randompoems endpoint. +The Poemist API docs are located here: https://poemist.github.io/poemist-apidoc/ + +=cut + +use v5.28; +use strict; +use warnings; + +use JSON qw( decode_json ); +use List::UtilsBy qw( nsort_by ); +use Net::Curl::Simple (); + +binmode(STDOUT, "encoding(UTF-8)"); + +my $curl = Net::Curl::Simple->new(); +$curl->get( 'https://www.poemist.com/api/v1/randompoems' ); + +my ($poem) = + nsort_by { length( $_->{content} ) } + map { $_->@* } + decode_json( $curl->content ) +; + +say qq["$poem->{title}" by $poem->{poet}->{name}]; +say ''; +say $poem->{content}; +say ''; +say $poem->{url}; + +exit 0; + + diff --git a/challenge-023/randy-lauen/perl6/ch-3.p6 b/challenge-023/randy-lauen/perl6/ch-3.p6 new file mode 100644 index 0000000000..7ca7213c0a --- /dev/null +++ b/challenge-023/randy-lauen/perl6/ch-3.p6 @@ -0,0 +1,31 @@ +#!/usr/bin/env perl6 + +=begin SYNOPSIS + +Task: +Write a script to use Random Poems API. + +Usage: + $ perl6 ch-3.p6 + +Notes: +This script prints the shortest poem returned by the randompoems endpoint. +The Poemist API docs are located here: https://poemist.github.io/poemist-apidoc/ + +=end SYNOPSIS + +use Cro::HTTP::Client; + +my $response = await Cro::HTTP::Client.get( "https://www.poemist.com/api/v1/randompoems" ); +my $json = await $response.body; +my $poem = $json.sort({ ..chars }).first; + +say qq["$poem" by $poem<poet><name>]; +say ''; +say $poem<content>; +say ''; +say $poem<url>; + +exit; + + -- cgit From 6f2acf2eaca534ff5656b82f051702beb7b1a14f Mon Sep 17 00:00:00 2001 From: Ruben Westerberg <drclaw@mac.com> Date: Thu, 29 Aug 2019 20:39:19 +1000 Subject: Added ch-1 p5 and p6 --- challenge-023/ruben-westerberg/perl5/ch-1.pl | 15 +++++++++++++++ challenge-023/ruben-westerberg/perl6/ch-1.p6 | 7 +++++++ 2 files changed, 22 insertions(+) create mode 100755 challenge-023/ruben-westerberg/perl5/ch-1.pl create mode 100755 challenge-023/ruben-westerberg/perl6/ch-1.p6 diff --git a/challenge-023/ruben-westerberg/perl5/ch-1.pl b/challenge-023/ruben-westerberg/perl5/ch-1.pl new file mode 100755 index 0000000000..9751a5ac90 --- /dev/null +++ b/challenge-023/ruben-westerberg/perl5/ch-1.pl @@ -0,0 +1,15 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use List::Util qw<reduce>; +use Getopt::Long; +use v5.26; +my $order=1; + +GetOptions("order=i" => \$order); +my @values=@ARGV?@ARGV:(5, 9, 2, 8, 1, 6); + +for (0..$order-1) { + @values=map( { reduce {$a-$b} @values[$_, $_-1];} 1..@values-1); +} +print join " ", @values; diff --git a/challenge-023/ruben-westerberg/perl6/ch-1.p6 b/challenge-023/ruben-westerberg/perl6/ch-1.p6 new file mode 100755 index 0000000000..19dd7c2b31 --- /dev/null +++ b/challenge-023/ruben-westerberg/perl6/ch-1.p6 @@ -0,0 +1,7 @@ +#!/usr/bin/env perl6 +# +sub MAIN(:$order=1,*@values){ + @values=(5, 9, 2, 8, 1, 6 ) if !@values; + @values= map( { [-] @values[$_,$_-1]}, @values.keys[1..*-1]) for ^$order ; + put @values; +} -- cgit From e917e064b2cb0c672c7a20fa2cb2f583bbe742b3 Mon Sep 17 00:00:00 2001 From: Ruben Westerberg <drclaw@mac.com> Date: Thu, 29 Aug 2019 21:41:56 +1000 Subject: Added ch-2 p5 and p6 solutions --- challenge-023/ruben-westerberg/perl5/ch-2.pl | 37 ++++++++++++++++++++++++++++ challenge-023/ruben-westerberg/perl6/ch-2.p6 | 22 +++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100755 challenge-023/ruben-westerberg/perl5/ch-2.pl create mode 100755 challenge-023/ruben-westerberg/perl6/ch-2.p6 diff --git a/challenge-023/ruben-westerberg/perl5/ch-2.pl b/challenge-023/ruben-westerberg/perl5/ch-2.pl new file mode 100755 index 0000000000..977635f409 --- /dev/null +++ b/challenge-023/ruben-westerberg/perl5/ch-2.pl @@ -0,0 +1,37 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use v5.26; + +my $i=0; +my @primes; +my @factors; +my $value=my $number=$ARGV[0]; +while (1) { + push(@primes, nextPrime()) if $i >= @primes; + last if $primes[$i]>$value; + if ($value%$primes[$i]==0) { + $value/=$primes[$i]; + push @factors, $primes[$i]; + $i=0; + } + else { + $i++; + } +} +print "Prime decomposition of $number: ",join " ", @factors if @factors >1; +print "No decomposition for $number\n" if @factors ==1; +sub nextPrime { + state $t=1; + while (1) { + + $t++; + my $sum=0; + for (1..(int $t/2)) { + $sum++ if $t % $_ == 0; + last if $sum >1; + } + last if $sum==1; + } + $t; +} diff --git a/challenge-023/ruben-westerberg/perl6/ch-2.p6 b/challenge-023/ruben-westerberg/perl6/ch-2.p6 new file mode 100755 index 0000000000..08a94c9ec1 --- /dev/null +++ b/challenge-023/ruben-westerberg/perl6/ch-2.p6 @@ -0,0 +1,22 @@ +#!/usr/bin/env perl6 + + +sub MAIN($number) { + my $primes=(0..*).grep({.is-prime}).cache; + my @factors; + my $i=0; + my $value=$number; + loop { + if $value%%$primes[$i] { + $value/=$primes[$i]; + @factors.push: $primes[$i]; + $i=0; + } + else { + $i++; + } + last if $primes[$i]>$value; + } + put "Prime decomposition of $number: @factors[]" if @factors >1; + put "No decomposition for $number" if @factors ==1; +} -- cgit From 111c23891eef34460df5ca3238655fe0afe2a28d Mon Sep 17 00:00:00 2001 From: Ruben Westerberg <drclaw@mac.com> Date: Thu, 29 Aug 2019 21:54:07 +1000 Subject: Added README Fixed command line arguments --- challenge-023/ruben-westerberg/README | 12 ++++++++++-- challenge-023/ruben-westerberg/perl5/ch-2.pl | 2 +- challenge-023/ruben-westerberg/perl6/ch-2.p6 | 4 ++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/challenge-023/ruben-westerberg/README b/challenge-023/ruben-westerberg/README index 26a2690833..fa2d20850a 100644 --- a/challenge-023/ruben-westerberg/README +++ b/challenge-023/ruben-westerberg/README @@ -2,9 +2,17 @@ Solution by Ruben Westerberg ch-1.pl and ch-1.p6 === -Run the program to calculate the first ten sexy prime pairs +Run the program to calculate the forward difference of a number sequence entered on the command line. +If no order is specified an order of 1 is used and if no sequence is specified a example sequence is used + + ch-1.pl usage: + ./ch-1.pl -o 2 -- 1 3 6 9 + ch-2.p6 usage: + ./ch-1.p6 --order=2 1 3 6 9 ch-2.pl and ch-2.p6 === -Run the program with a command line argument to demonstrate the LZW encoding. With no argument, a demonstration string is used +Run the program to display the prime decomposition of the number intered on the command line. +If no number is specifed the demo value of 228 is decomposed. + diff --git a/challenge-023/ruben-westerberg/perl5/ch-2.pl b/challenge-023/ruben-westerberg/perl5/ch-2.pl index 977635f409..50e9cc2d98 100755 --- a/challenge-023/ruben-westerberg/perl5/ch-2.pl +++ b/challenge-023/ruben-westerberg/perl5/ch-2.pl @@ -6,7 +6,7 @@ use v5.26; my $i=0; my @primes; my @factors; -my $value=my $number=$ARGV[0]; +my $value=my $number=$ARGV[0]//228; while (1) { push(@primes, nextPrime()) if $i >= @primes; last if $primes[$i]>$value; diff --git a/challenge-023/ruben-westerberg/perl6/ch-2.p6 b/challenge-023/ruben-westerberg/perl6/ch-2.p6 index 08a94c9ec1..3753c92e07 100755 --- a/challenge-023/ruben-westerberg/perl6/ch-2.p6 +++ b/challenge-023/ruben-westerberg/perl6/ch-2.p6 @@ -1,11 +1,11 @@ #!/usr/bin/env perl6 -sub MAIN($number) { +sub MAIN(*@a) { my $primes=(0..*).grep({.is-prime}).cache; my @factors; my $i=0; - my $value=$number; + my $value=my $number=@a[0]//228; loop { if $value%%$primes[$i] { $value/=$primes[$i]; -- cgit From 1492576004c3db0d60409b79060814f9bb966e2f Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar <mohammad.anwar@yahoo.com> Date: Thu, 29 Aug 2019 15:18:51 +0100 Subject: - Added solutions by Mark Anderson. --- challenge-023/mark-anderson/ch-1.pl | 24 -- challenge-023/mark-anderson/ch-2.pl | 7 - challenge-023/mark-anderson/ch-3.pl | 16 - challenge-023/mark-anderson/perl5/ch-1.pl | 24 ++ challenge-023/mark-anderson/perl5/ch-2.pl | 7 + challenge-023/mark-anderson/perl5/ch-3.pl | 16 + stats/pwc-current.json | 165 +++++----- stats/pwc-language-breakdown-summary.json | 44 +-- stats/pwc-language-breakdown.json | 184 +++++------ stats/pwc-leaders.json | 530 +++++++++++++++--------------- stats/pwc-summary-1-30.json | 50 +-- stats/pwc-summary-31-60.json | 50 +-- stats/pwc-summary-61-90.json | 48 +-- stats/pwc-summary-91-120.json | 42 +-- stats/pwc-summary.json | 42 +-- 15 files changed, 630 insertions(+), 619 deletions(-) delete mode 100644 challenge-023/mark-anderson/ch-1.pl delete mode 100644 challenge-023/mark-anderson/ch-2.pl delete mode 100644 challenge-023/mark-anderson/ch-3.pl create mode 100644 challenge-023/mark-anderson/perl5/ch-1.pl create mode 100644 challenge-023/mark-anderson/perl5/ch-2.pl create mode 100644 challenge-023/mark-anderson/perl5/ch-3.pl diff --git a/challenge-023/mark-anderson/ch-1.pl b/challenge-023/mark-anderson/ch-1.pl deleted file mode 100644 index c225e84204..0000000000 --- a/challenge-023/mark-anderson/ch-1.pl +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env perl - -use Modern::Perl '2018'; -use Getopt::Long; - -#usage: perl ch-1.pl -n=2 -- -11 13 -13 12; - -my $n = 1; -GetOptions('n=i' => \$n) ; - -my @X = (5, 9, 2, 8, 1, 6); -@X = @ARGV if @ARGV; - -while($n and @X > 1) { - my @Y; - foreach my $i (0 .. ($#X - 1)) { - push @Y, $X[$i+1] - $X[$i]; - } - $n--; - @X = @Y; -} - -$" = ", "; -say "@X"; diff --git a/challenge-023/mark-anderson/ch-2.pl b/challenge-023/mark-anderson/ch-2.pl deleted file mode 100644 index 050d75104a..0000000000 --- a/challenge-023/mark-anderson/ch-2.pl +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env perl - -use Modern::Perl '2018'; -use Math::Prime::Util 'factor'; - -my $num = shift || 228; -say join ", ", factor($num); diff --git a/challenge-023/mark-anderson/ch-3.pl b/challenge-023/mark-anderson/ch-3.pl deleted file mode 100644 index 53603f7ab7..0000000000 --- a/challenge-023/mark-anderson/ch-3.pl +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env perl - -use Modern::Perl '2018'; -use Mojo::UserAgent; - -my $ua = Mojo::UserAgent->new; - -my $array = $ua->get("https://www.poemist.com/api/v1/randompoems") - ->result->json; - -foreach my $i (keys $array->@*) { - printf "%-7s%s\n", "URL:", $array->[$i]->{url}; - printf "%-7s%s\n", "Poet:", $array->[$i]->{poet}->{name}; - printf "%-7s%s\n\n", "Title:", $array->[$i]->{title}; - say $array->[$i]->{content}, "\n"; -} diff --git a/challenge-023/mark-anderson/perl5/ch-1.pl b/challenge-023/mark-anderson/perl5/ch-1.pl new file mode 100644 index 0000000000..c225e84204 --- /dev/null +++ b/challenge-023/mark-anderson/perl5/ch-1.pl @@ -0,0 +1,24 @@ +#!/usr/bin/env perl + +use Modern::Perl '2018'; +use Getopt::Long; + +#usage: perl ch-1.pl -n=2 -- -11 13 -13 12; + +my $n = 1; +GetOptions('n=i' => \$n) ; + +my @X = (5, 9, 2, 8, 1, 6); +@X = @ARGV if @ARGV; + +while($n and @X > 1) { + my @Y; + foreach my $i (0 .. ($#X - 1)) { + push @Y, $X[$i+1] - $X[$i]; + } + $n--; + @X = @Y; +} + +$" = ", "; +say "@X"; diff --git a/challenge-023/mark-anderson/perl5/ch-2.pl b/challenge-023/mark-anderson/perl5/ch-2.pl new file mode 100644 index 0000000000..050d75104a --- /dev/null +++ b/challenge-023/mark-anderson/perl5/ch-2.pl @@ -0,0 +1,7 @@ +#!/usr/bin/env perl + +use Modern::Perl '2018'; +use Math::Prime::Util 'factor'; + +my $num = shift || 228; +say join ", ", factor($num); diff --git a/challenge-023/mark-anderson/perl5/ch-3.pl b/challenge-023/mark-anderson/perl5/ch-3.pl new file mode 100644 index 0000000000..53603f7ab7 --- /dev/null +++ b/challenge-023/mark-anderson/perl5/ch-3.pl @@ -0,0 +1,16 @@ +#!/usr/bin/env perl + +use Modern::Perl '2018'; +use Mojo::UserAgent; + +my $ua = Mojo::UserAgent->new; + +my $array = $ua->get("https://www.poemist.com/api/v1/randompoems") + ->result->json; + +foreach my $i (keys $array->@*) { + printf "%-7s%s\n", "URL:", $array->[$i]->{url}; + printf "%-7s%s\n", "Poet:", $array->[$i]->{poet}->{name}; + printf "%-7s%s\n\n", "Title:", $array->[$i]->{title}; + say $array->[$i]->{content}, "\n"; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index a438aa429c..51ddb94fe8 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,12 +1,80 @@ { "tooltip" : { - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "followPointer" : 1 + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + }, + "series" : [ + { + "data" : [ + { + "drilldown" : "Andrezgz", + "y" : 2, + "name" : "Andrezgz" + }, + { + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", + "y" : 5 + }, + { + "name" : "Duane Powell", + "y" : 2, + "drilldown" : "Duane Powell" + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "y" : 3, + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" + }, + { + "drilldown" : "Roger Bell West", + "name" : "Roger Bell West", + "y" : 5 + }, + { + "name" : "Simon Proctor", + "y" : 2, + "drilldown" : "Simon Proctor" + }, + { + "y" : 6, + "name" : "Yet Ebreo", + "drilldown" : "Yet Ebreo" + } + ], + "name" : "Perl Weekly Challenge - 023", + "colorByPoint" : 1 + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "[Champions: 8] Last updated at 2019-08-29 14:17:51 GMT" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } }, "chart" : { "type" : "column" }, + "legend" : { + "enabled" : 0 + }, "drilldown" : { "series" : [ { @@ -20,8 +88,8 @@ ] }, { - "id" : "Arne Sommer", "name" : "Arne Sommer", + "id" : "Arne Sommer", "data" : [ [ "Perl 5", @@ -48,6 +116,7 @@ "id" : "Duane Powell" }, { + "id" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld", "data" : [ [ @@ -62,8 +131,17 @@ "Blog", 1 ] - ], - "id" : "Laurent Rosenfeld" + ] + }, + { + "name" : "Mark Anderson", + "id" : "Mark Anderson", + "data" : [ + [ + "Perl 5", + 3 + ] + ] }, { "id" : "Roger Bell West", @@ -90,8 +168,8 @@ 2 ] ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { "data" : [ @@ -104,78 +182,15 @@ 3 ] ], - "name" : "Yet Ebreo", - "id" : "Yet Ebreo" + "id" : "Yet Ebreo", + "name" : "Yet Ebreo" } ] }, - "xAxis" : { - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "legend" : { - "enabled" : 0 - }, - "subtitle" : { - "text" : "[Champions: 7] Last updated at 2019-08-28 10:27:07 GMT" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, "title" : { "text" : "Perl Weekly Challenge - 023" }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 023", - "data" : [ - { - "y" : 2, - "drilldown" : "Andrezgz", - "name" : "Andrezgz" - }, - { - "y" : 5, - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer" - }, - { - "drilldown" : "Duane Powell", - "name" : "Duane Powell", - "y" : 2 - }, - { - "y" : 5, - "name" : "Laurent Rosenfeld", - "drilldown" : "Laurent Rosenfeld" - }, - { - "y" : 5, - "drilldown" : "Roger Bell West", - "name" : "Roger Bell West" - }, - { - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 2 - }, - { - "drilldown" : "Yet Ebreo", - "name" : "Yet Ebreo", - "y" : 6 - } - ], - "colorByPoint" : 1 - } - ] + "xAxis" : { + "type" : "category" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index aaabb61943..7469857de1 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,28 +1,15 @@ { - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 + "chart" : { + "type" : "column" }, "title" : { "text" : "Perl Weekly Challenge Contributions - 2019" }, "subtitle" : { - "text" : "Last updated at 2019-08-28 10:31:17 GMT" - }, - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" + "text" : "Last updated at 2019-08-29 14:18:19 GMT" }, "series" : [ { - "name" : "Contributions", "data" : [ [ "Blog", @@ -30,32 +17,45 @@ ], [ "Perl 5", - 932 + 935 ], [ "Perl 6", 562 ] ], + "name" : "Contributions", "dataLabels" : { + "rotation" : -90, "enabled" : "true", - "y" : 10, + "color" : "#FFFFFF", "align" : "right", - "rotation" : -90, + "y" : 10, "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, - "color" : "#FFFFFF", "format" : "{point.y:.0f}" } } ], + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, "legend" : { "enabled" : "false" }, - "chart" : { - "type" : "column" + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 8c8cd2d725..6e2c7a6d9a 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,116 +1,114 @@ { - "legend" : { - "enabled" : "false" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-08-29 14:18:19 GMT" }, "series" : [ { - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true", "data" : [ { - "name" : "#001", + "drilldown" : "001", "y" : 127, - "drilldown" : "001" + "name" : "#001" }, { + "drilldown" : "002", "y" : 104, - "name" : "#002", - "drilldown" : "002" + "name" : "#002" }, { - "drilldown" : "003", "y" : 66, + "drilldown" : "003", "name" : "#003" }, { - "drilldown" : "004", "y" : 86, + "drilldown" : "004", "name" : "#004" }, { "name" : "#005", - "y" : 66, - "drilldown" : "005" + "drilldown" : "005", + "y" : 66 }, { + "name" : "#006", "drilldown" : "006", - "y" : 47, - "name" : "#006" + "y" : 47 }, { "drilldown" : "007", - "name" : "#007", - "y" : 55 + "y" : 55, + "name" : "#007" }, { + "name" : "#008", "drilldown" : "008", - "y" : 68, - "name" : "#008" + "y" : 68 }, { - "drilldown" : "009", + "name" : "#009", "y" : 66, - "name" : "#009" + "drilldown" : "009" }, { "y" : 59, - "name" : "#010", - "drilldown" : "010" + "drilldown" : "010", + "name" : "#010" }, { - "y" : 78, "name" : "#011", - "drilldown" : "011" + "drilldown" : "011", + "y" : 78 }, { - "drilldown" : "012", "y" : 82, + "drilldown" : "012", "name" : "#012" }, { + "name" : "#013", "drilldown" : "013", - "y" : 75, - "name" : "#013" + "y" : 75 }, { + "drilldown" : "014", "y" : 95, - "name" : "#014", - "drilldown" : "014" + "name" : "#014" }, { - "drilldown" : "015", "y" : 91, + "drilldown" : "015", "name" : "#015" }, { - "drilldown" : "016", "name" : "#016", - "y" : 65 + "y" : 65, + "drilldown" : "016" }, { - "name" : "#017", + "drilldown" : "017", "y" : 78, - "drilldown" : "017" + "name" : "#017" }, { + "name" : "#018", "drilldown" : "018", - "y" : 76, - "name" : "#018" + "y" : 76 }, { + "drilldown" : "019", "y" : 95, - "name" : "#019", - "drilldown" : "019" + "name" : "#019" }, { + "drilldown" : "020", "y" : 95, - "name" : "#020", - "drilldown" : "020" + "name" : "#020" }, { "name" : "#021", - "y" : 66, - "drilldown" : "021" + "drilldown" : "021", + "y" : 66 }, { "drilldown" : "022", @@ -118,17 +116,19 @@ "name" : "#022" }, { - "y" : 27, "name" : "#023", - "drilldown" : "023" + "drilldown" : "023", + "y" : 30 } - ] + ], + "name" : "Perl Weekly Challenge Languages", + "colorByPoint" : "true" } ], - "tooltip" : { - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", - "followPointer" : "true", - "headerFormat" : "<span style=\"font-size:11px\"></span>" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "drilldown" : { "series" : [ @@ -187,8 +187,6 @@ ] }, { - "id" : "004", - "name" : "004", "data" : [ [ "Perl 5", @@ -202,7 +200,9 @@ "Blog", 9 ] - ] + ], + "name" : "004", + "id" : "004" }, { "id" : "005", @@ -223,8 +223,8 @@ ] }, { - "name" : "006", "id" : "006", + "name" : "006", "data" : [ [ "Perl 5", @@ -241,8 +241,8 @@ ] }, { - "id" : "007", "name" : "007", + "id" : "007", "data" : [ [ "Perl 5", @@ -259,6 +259,8 @@ ] }, { + "id" : "008", + "name" : "008", "data" : [ [ "Perl 5", @@ -272,9 +274,7 @@ "Blog", 10 ] - ], - "id" : "008", - "name" : "008" + ] }, { "name" : "009", @@ -295,6 +295,8 @@ ] }, { + "id" : "010", + "name" : "010", "data" : [ [ "Perl 5", @@ -308,9 +310,7 @@ "Blog", 10 ] - ], - "id" : "010", - "name" : "010" + ] }, { "id" : "011", @@ -331,8 +331,8 @@ ] }, { - "id" : "012", "name" : "012", + "id" : "012", "data" : [ [ "Perl 5", @@ -363,10 +363,12 @@ 12 ] ], - "id" : "013", - "name" : "013" + "name" : "013", + "id" : "013" }, { + "id" : "014", + "name" : "014", "data" : [ [ "Perl 5", @@ -380,13 +382,11 @@ "Blog", 14 ] - ], - "id" : "014", - "name" : "014" + ] }, { - "name" : "015", "id" : "015", + "name" : "015", "data" : [ [ "Perl 5", @@ -421,6 +421,8 @@ "name" : "016" }, { + "name" : "017", + "id" : "017", "data" : [ [ "Perl 5", @@ -434,13 +436,11 @@ "Blog", 11 ] - ], - "name" : "017", - "id" : "017" + ] }, { - "id" : "018", "name" : "018", + "id" : "018", "data" : [ [ "Perl 5", @@ -511,8 +511,6 @@ ] }, { - "id" : "022", - "name" : "022", "data" : [ [ "Perl 5", @@ -526,13 +524,17 @@ "Blog", 7 ] - ] + ], + "id" : "022", + "name" : "022" }, { + "id" : "023", + "name" : "023", "data" : [ [ "Perl 5", - 12 + 15 ], [ "Perl 6", @@ -542,36 +544,34 @@ "Blog", 3 ] - ], - "id" : "023", - "name" : "023" + ] } ] }, "chart" : { "type" : "column" }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, "xAxis" : { "type" : "category" }, - "title" : { - "text" : "Perl Weekly Challenge Language" + "tooltip" : { + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : "true", + "headerFormat" : "<span style=\"font-size:11px\"></span>" + }, + "legend" : { + "enabled" : "false" }, "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-08-28 10:31:17 GMT" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 } } } diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index 06ca2a7a7a..e9b02239e9 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -1,8 +1,23 @@ { + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "xAxis" : { + "type" : "category" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-08-29 14:18:05 GMT" + }, "drilldown" : { "series" : [ { - "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl 6", @@ -17,7 +32,7 @@ 46 ] ], - "name" : "Laurent Rosenfeld" + "id" : "Laurent Rosenfeld" }, { "data" : [ @@ -70,30 +85,27 @@ "name" : "Ruben Westerberg" }, { + "id" : "Adam Russell", "data" : [ [ - "Blog", - 23 + "Perl 5", + 45 ], [ "Perl 6", 3 ], [ - "Perl 5", - 45 + "Blog", + 23 ] ], - "id" : "Adam Russell", "name" : "Adam Russell" }, { "name" : "Athanasius", + "id" : "Athanasius", "data" : [ - [ - "Perl 5", - 46 - ], [ "Perl 6", 22 @@ -101,9 +113,12 @@ [ "Blog", 3 + ], + [ + "Perl 5", + 46 ] - ], - "id" : "Athanasius" + ] }, { "data" : [ @@ -111,19 +126,21 @@ "Perl 5", 1 ], - [ - "Perl 6", - 44 - ], [ "Blog", 22 + ], + [ + "Perl 6", + 44 ] ], "id" : "Arne Sommer", "name" : "Arne Sommer" }, { + "name" : "Kian-Meng Ang", + "id" : "Kian-Meng Ang", "data" : [ [ "Perl 5", @@ -133,28 +150,29 @@ "Blog", 25 ] - ], - "id" : "Kian-Meng Ang", - "name" : "Kian-Meng Ang" + ] }, { + "name" : "E. Choroba", "data" : [ - [ - "Blog", - 17 - ], [ "Perl 5", 36 + ], + [ + "Blog", + 17 ] ], - "id" : "E. Choroba", - "name" : "E. Choroba" + "id" : "E. Choroba" }, { - "name" : "Simon Proctor", "id" : "Simon Proctor", "data" : [ + [ + "Perl 5", + 4 + ], [ "Perl 6", 38 @@ -162,12 +180,9 @@ [ "Blog", 7 - ], - [ - "Perl 5", - 4 ] - ] + ], + "name" : "Simon Proctor" }, { "name" : "Francis Whittle", @@ -184,7 +199,12 @@ ] }, { + "name" : "Dave Jacoby", "data" : [ + [ + "Perl 6", + 1 + ], [ "Perl 5", 26 @@ -192,61 +212,56 @@ [ "Blog", 18 - ], - [ - "Perl 6", - 1 ] ], - "id" : "Dave Jacoby", - "name" : "Dave Jacoby" + "id" : "Dave Jacoby" }, { + "name" : "Andrezgz", "data" : [ [ "Perl 5", 43 ] ], - "id" : "Andrezgz", - "name" : "Andrezgz" + "id" : "Andrezgz" }, { - "name" : "Feng Chang", "id" : "Feng Chang", "data" : [ - [ - "Perl 6", - 21 - ], [ "Perl 5", 19 + ], + [ + "Perl 6", + 21 ] - ] + ], + "name" : "Feng Chang" }, { - "name" : "Duncan C. White", + "id" : "Duncan C. White", "data" : [ [ "Perl 5", 38 ] ], - "id" : "Duncan C. White" + "name" : "Duncan C. White" }, { "name" : "Daniel Mantovani", - "id" : "Daniel Mantovani", "data" : [ [ "Perl 5", 37 ] - ] + ], + "id" : "Daniel Mantovani" }, { - "name" : "Gustavo Chaves", + "id" : "Gustavo Chaves", "data" : [ [ "Blog", @@ -257,15 +272,12 @@ 32 ] ], - "id" : "Gustavo Chaves" + "name" : "Gustavo Chaves" }, { "name" : "Roger Bell West", + "id" : "Roger Bell West", "data" : [ - [ - "Blog", - 7 - ], [ "Perl 6", 8 @@ -273,19 +285,22 @@ [ "Perl 5", 20 + ], + [ + "Blog", + 7 ] - ], - "id" : "Roger Bell West" + ] }, { "data" : [ - [ - "Blog", - 3 - ], [ "Perl 5", 32 + ], + [ + "Blog", + 3 ] ], "id" : "Steven Wilson", @@ -293,20 +308,19 @@ }, { "name" : "Yozen Hernandez", + "id" : "Yozen Hernandez", "data" : [ - [ - "Blog", - 14 - ], [ "Perl 5", 21 + ], + [ + "Blog", + 14 ] - ], - "id" : "Yozen Hernandez" + ] }, { - "name" : "Jo Christian Oterhals", "data" : [ [ "Perl 6", @@ -321,44 +335,45 @@ 6 ] ], - "id" : "Jo Christian Oterhals" + "id" : "Jo Christian Oterhals", + "name" : "Jo Christian Oterhals" }, { "name" : "Guillermo Ramos", + "id" : "Guillermo Ramos", "data" : [ [ "Perl 5", 25 ] - ], - "id" : "Guillermo Ramos" + ] }, { + "name" : "Mark Senn", + "id" : "Mark Senn", "data" : [ - [ - "Blog", - 8 - ], [ "Perl 6", 17 + ], + [ + "Blog", + 8 ] - ], - "id" : "Mark Senn", - "name" : "Mark Senn" + ] }, { - "name" : "Ozzy", "id" : "Ozzy", "data" : [ [ "Perl 6", 23 ] - ] + ], + "name" : "Ozzy" }, { - "name" : "Dr James A. Smith", + "id" : "Dr James A. Smith", "data" : [ [ "Perl 5", @@ -369,10 +384,10 @@ 10 ] ], - "id" : "Dr James A. Smith" + "name" : "Dr James A. Smith" }, { - "name" : "Kevin Colyer", + "id" : "Kevin Colyer", "data" : [ [ "Perl 5", @@ -383,14 +398,11 @@ 19 ] ], - "id" : "Kevin Colyer" + "name" : "Kevin Colyer" }, { + "id" : "Veesh Goldman", "data" : [ - [ - "Perl 5", - 16 - ], [ "Blog", 3 @@ -398,74 +410,78 @@ [ "Perl 6", 2 + ], + [ + "Perl 5", + 16 ] ], - "id" : "Veesh Goldman", "name" : "Veesh Goldman" }, { + "id" : "Duane Powell", "data" : [ [ "Perl 5", 19 ] ], - "id" : "Duane Powell", "name" : "Duane Powell" }, { - "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch", "data" : [ [ "Perl 5", 19 ] ], - "id" : "Lubos Kolouch" + "name" : "Lubos Kolouch" }, { + "name" : "Yet Ebreo", "id" : "Yet Ebreo", "data" : [ [ "Perl 5", 9 ], - [ - "Perl 6", - 7 - ], [ "Blog", 1 + ], + [ + "Perl 6", + 7 ] - ], - "name" : "Yet Ebreo" + ] }, { - "id" : "Nick Logan", "data" : [ [ - "Perl 5", + "Perl 6", 8 ], [ - "Perl 6", + "Perl 5", 8 ] ], + "id" : "Nick Logan", "name" : "Nick Logan" }, { "name" : "Noud", + "id" : "Noud", "data" : [ [ "Perl 6", 16 ] - ], - "id" : "Noud" + ] }, { + "id" : "Randy Lauen", "data" : [ [ "Perl 5", @@ -476,42 +492,41 @@ 12 ] ], - "id" : "Randy Lauen", "name" : "Randy Lauen" }, { - "name" : "Lars Balker", + "id" : "Lars Balker", "data" : [ - [ - "Perl 5", - 10 - ], [ "Perl 6", 4 + ], + [ + "Perl 5", + 10 ] ], - "id" : "Lars Balker" + "name" : "Lars Balker" }, { + "name" : "Jaime Corchado", + "id" : "Jaime Corchado", "data" : [ [ "Perl 5", 12 ] - ], - "id" : "Jaime Corchado", - "name" : "Jaime Corchado" + ] }, { - "name" : "Maxim Nechaev", "data" : [ [ "Perl 5", 12 ] ], - "id" : "Maxim Nechaev" + "id" : "Maxim Nechaev", + "name" : "Maxim Nechaev" }, { "data" : [ @@ -536,19 +551,19 @@ { "name" : "Neil Bowers", "data" : [ - [ - "Perl 5", - 6 - ], [ "Blog", 3 + ], + [ + "Perl 5", + 6 ] ], "id" : "Neil Bowers" }, { - "id" : "Dave Cross", + "name" : "Dave Cross", "data" : [ [ "Perl 5", @@ -559,11 +574,11 @@ 2 ] ], - "name" : "Dave Cross" + "id" : "Dave Cross" }, { - "name" : "Pete Houston", - "id" : "Pete Houston", + "name" : "Mark Anderson", + "id" : "Mark Anderson", "data" : [ [ "Perl 5", @@ -572,32 +587,40 @@ ] }, { - "id" : "Robert Gratza", + "name" : "Pete Houston", "data" : [ [ - "Perl 6", - 6 - ], + "Perl 5", + 8 + ] + ], + "id" : "Pete Houston" + }, + { + "name" : "Robert Gratza", + "data" : [ [ "Perl 5", 2 + ], + [ + "Perl 6", + 6 ] ], - "name" : "Robert Gratza" + "id" : "Robert Gratza" }, { + "name" : "John Barrett", "id" : "John Barrett", "data" : [ [ "Perl 5", 7 ] - ], - "name" : "John Barrett" + ] }, { - "name" : "Khalid", - "id" : "Khalid", "data" : [ [ "Blog", @@ -611,41 +634,43 @@ "Perl 5", 4 ] - ] + ], + "id" : "Khalid", + "name" : "Khalid" }, { - "id" : "Walt Mankowski", + "name" : "Walt Mankowski", "data" : [ [ "Perl 5", 7 ] ], - "name" : "Walt Mankowski" + "id" : "Walt Mankowski" }, { + "name" : "Aaron Sherman", "id" : "Aaron Sherman", "data" : [ [ "Perl 6", 6 ] - ], - "name" : "Aaron Sherman" + ] }, { - "name" : "Donald Hunter", "id" : "Donald Hunter", "data" : [ [ - "Perl 6", + "Blog", 3 ], [ - "Blog", + "Perl 6", 3 ] - ] + ], + "name" : "Donald Hunter" }, { "id" : "Kivanc Yazan", @@ -658,118 +683,87 @@ "name" : "Kivanc Yazan" }, { + "name" : "Maxim Kolodyazhny", "data" : [ [ "Perl 5", 6 ] ], - "id" : "Maxim Kolodyazhny", - "name" : "Maxim Kolodyazhny" - }, - { - "id" : "Philippe Bruhat", - "data" : [ - [ - "Blog", - 2 - ], - [ - "Perl 5", - 4 - ] - ], - "name" : "Philippe Bruhat" + "id" : "Maxim Kolodyazhny" } ] }, - "legend" : { - "enabled" : "false" - }, "chart" : { "type" : "column" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-08-28 10:31:14 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Leaders (TOP 50)" - }, - "xAxis" : { - "type" : "category" + "legend" : { + "enabled" : "false" }, "tooltip" : { - "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>", "headerFormat" : "<span style=\"font-size:11px\"></span>", - "followPointer" : "true" + "followPointer" : "true", + "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>" }, "series" : [ { "name" : "Perl Weekly Challenge Leaders", + "colorByPoint" : "true", "data" : [ { - "name" : "#1: Laurent Rosenfeld", "drilldown" : "Laurent Rosenfeld", - "y" : 254 + "y" : 254, + "name" : "#1: Laurent Rosenfeld" }, { + "y" : 236, "drilldown" : "Joelle Maslak", - "name" : "#2: Joelle Maslak", - "y" : 236 + "name" : "#2: Joelle Maslak" }, { "y" : 192, - "name" : "#3: Jaldhar H. Vyas", - "drilldown" : "Jaldhar H. Vyas" + "drilldown" : "Jaldhar H. Vyas", + "name" : "#3: Jaldhar H. Vyas" }, { - "y" : 164, "drilldown" : "Ruben Westerberg", + "y" : 164, "name" : "#4: Ruben Westerberg" }, { + "name" : "#5: Adam Russell", "y" : 142, - "drilldown" : "Adam Russell", - "name" : "#5: Adam Russell" + "drilldown" : "Adam Russell" }, { "drilldown" : "Athanasius", - "name" : "#6: Athanasius", - "y" : 142 + "y" : 142, + "name" : "#6: Athanasius" }, { - "y" : 134, "name" : "#7: Arne Sommer", - "drilldown" : "Arne Sommer" + "drilldown" : "Arne Sommer", + "y" : 134 }, { "y" : 120, - "name" : "#8: Kian-Meng Ang", - "drilldown" : "Kian-Meng Ang" + "drilldown" : "Kian-Meng Ang", + "name" : "#8: Kian-Meng Ang" }, { - "y" : 106, "name" : "#9: E. Choroba", + "y" : 106, "drilldown" : "E. Choroba" }, { - "y" : 98, "name" : "#10: Simon Proctor", + "y" : 98, "drilldown" : "Simon Proctor" }, { - "name" : "#11: Francis Whittle", "drilldown" : "Francis Whittle", - "y" : 92 + "y" : 92, + "name" : "#11: Francis Whittle" }, { "name" : "#12: Dave Jacoby", @@ -777,109 +771,109 @@ "y" : 90 }, { + "drilldown" : "Andrezgz", "y" : 86, - "name" : "#13: Andrezgz", - "drilldown" : "Andrezgz" + "name" : "#13: Andrezgz" }, { + "y" : 80, "drilldown" : "Feng Chang", - "name" : "#14: Feng Chang", - "y" : 80 + "name" : "#14: Feng Chang" }, { "y" : 76, - "name" : "#15: Duncan C. White", - "drilldown" : "Duncan C. White" + "drilldown" : "Duncan C. White", + "name" : "#15: Duncan C. White" }, { - "y" : 74, "name" : "#16: Daniel Mantovani", + "y" : 74, "drilldown" : "Daniel Mantovani" }, { - "y" : 72, + "name" : "#17: Gustavo Chaves", "drilldown" : "Gustavo Chaves", - "name" : "#17: Gustavo Chaves" + "y" : 72 }, { - "y" : 70, "name" : "#18: Roger Bell West", - "drilldown" : "Roger Bell West" + "drilldown" : "Roger Bell West", + "y" : 70 }, { - "name" : "#19: Steven Wilson", "drilldown" : "Steven Wilson", - "y" : 70 + "y" : 70, + "name" : "#19: Steven Wilson" }, { + "drilldown" : "Yozen Hernandez", "y" : 70, - "name" : "#20: Yozen Hernandez", - "drilldown" : "Yozen Hernandez" + "name" : "#20: Yozen Hernandez" }, { - "name" : "#21: Jo Christian Oterhals", + "y" : 56, "drilldown" : "Jo Christian Oterhals", - "y" : 56 + "name" : "#21: Jo Christian Oterhals" }, { "y" : 50, - "name" : "#22: Guillermo Ramos", - "drilldown" : "Guillermo Ramos" + "drilldown" : "Guillermo Ramos", + "name" : "#22: Guillermo Ramos" }, { - "y" : 50, "name" : "#23: Mark Senn", + "y" : 50, "drilldown" : "Mark Senn" }, { "drilldown" : "Ozzy", - "name" : "#24: Ozzy", - "y" : 46 + "y" : 46, + "name" : "#24: Ozzy" }, { - "drilldown" : "Dr James A. Smith", "name" : "#25: Dr James A. Smith", - "y" : 44 + "y" : 44, + "drilldown" : "Dr James A. Smith" }, { - "y" : 42, "name" : "#26: Kevin Colyer", + "y" : 42, "drilldown" : "Kevin Colyer" }, { + "drilldown" : "Veesh Goldman", "y" : 42, - "name" : "#27: Veesh Goldman", - "drilldown" : "Veesh Goldman" + "name" : "#27: Veesh Goldman" }, { + "y" : 38, "drilldown