From b44cb1ab1080151143efad6bdd1fb6d214e83126 Mon Sep 17 00:00:00 2001 From: Adam Russell Date: Mon, 13 May 2019 23:22:23 -0400 Subject: initial commit of solutions for challenge 008 --- challenge-008/adam-russell/perl5/ch-1.pl | 31 ++++++++++++++++++++++ challenge-008/adam-russell/perl5/ch-2.pl | 44 ++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 challenge-008/adam-russell/perl5/ch-1.pl create mode 100644 challenge-008/adam-russell/perl5/ch-2.pl diff --git a/challenge-008/adam-russell/perl5/ch-1.pl b/challenge-008/adam-russell/perl5/ch-1.pl new file mode 100644 index 0000000000..cc858bfb94 --- /dev/null +++ b/challenge-008/adam-russell/perl5/ch-1.pl @@ -0,0 +1,31 @@ +use strict; +use warnings; +## +# Write a script that computes the first five perfect numbers. +# A perfect number is an integer that is the sum of its positive +# proper divisors (all divisors except itself). +## +use constant PERFECT_COUNT => 5; + +sub factor{ + my($n) = @_; + my @factors = (1); + foreach my $j (2..sqrt($n)){ + push @factors, $j if $n % $j == 0; + push @factors, ($n / $j) if $n % $j == 0 && $j ** 2 != $n; + } + return @factors; +} + +my $i = 1; +my $count = 0; +do{ + my @factors = factor($i); + my $sum = unpack("%32I*", pack("I*", @factors)); + if($sum == $i){ + print "$i "; + $count++; + } + $i++; +}while($count < PERFECT_COUNT); +print "\n"; diff --git a/challenge-008/adam-russell/perl5/ch-2.pl b/challenge-008/adam-russell/perl5/ch-2.pl new file mode 100644 index 0000000000..21bcab4519 --- /dev/null +++ b/challenge-008/adam-russell/perl5/ch-2.pl @@ -0,0 +1,44 @@ +use strict; +use warnings; +## +# Write a function, "center", whose argument is a list of strings, which +# will be lines of text. The function should insert spaces at the beginning +# of the lines of text so that if they were printed, the text would be +# centered, and return the modified lines. +## +use Data::Dump q/pp/; + +my @words; +my @padded_words; +my %line_length; +my $max_length = -1; +my $center; +do{ + local $/; + @words = split(/\n/, ); + my $i = 0; + foreach my $line (@words){ + $line_length{$i} = do{ + $line =~ tr/ [a-z][A-Z]//; + }; + $max_length = $line_length{$i} if $line_length{$i} > $max_length; + $i++; + } +}; +$center = int($max_length / 2); +for(my $i = 0; $i < @words; $i++){ + my $middle = int($line_length{$i} / 2); + my $padding = $center - $middle; + $padded_words[$i] = " " x $padding . $words[$i]; +} + + +foreach my $w (@padded_words){ + print "$w\n"; +} + +__DATA__ +This +is +a test of the +center function -- cgit From 9ca988dc2fc4a7846810d83ec10f3c7dd6c80f42 Mon Sep 17 00:00:00 2001 From: Adam Russell Date: Mon, 13 May 2019 23:50:30 -0400 Subject: restructured code in ch-2.pl --- challenge-008/adam-russell/perl5/ch-2.pl | 43 ++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/challenge-008/adam-russell/perl5/ch-2.pl b/challenge-008/adam-russell/perl5/ch-2.pl index 21bcab4519..97db2d1bcb 100644 --- a/challenge-008/adam-russell/perl5/ch-2.pl +++ b/challenge-008/adam-russell/perl5/ch-2.pl @@ -6,16 +6,12 @@ use warnings; # of the lines of text so that if they were printed, the text would be # centered, and return the modified lines. ## -use Data::Dump q/pp/; - -my @words; -my @padded_words; -my %line_length; -my $max_length = -1; -my $center; -do{ - local $/; - @words = split(/\n/, ); +sub center{ + my @words = @_; + my @padded_words; + my %line_length; + my $max_length = -1; + my $center; my $i = 0; foreach my $line (@words){ $line_length{$i} = do{ @@ -24,16 +20,25 @@ do{ $max_length = $line_length{$i} if $line_length{$i} > $max_length; $i++; } -}; -$center = int($max_length / 2); -for(my $i = 0; $i < @words; $i++){ - my $middle = int($line_length{$i} / 2); - my $padding = $center - $middle; - $padded_words[$i] = " " x $padding . $words[$i]; -} - + $center = int($max_length / 2); + for(my $i = 0; $i < @words; $i++){ + my $middle = int($line_length{$i} / 2); + my $padding = $center - $middle; + $padded_words[$i] = " " x $padding . $words[$i]; + } + return @padded_words; +} -foreach my $w (@padded_words){ +## +# Main +## +my @words; +do{ + local $/; + @words = split(/\n/, ); +}; +my @centered = center(@words); +foreach my $w (@centered){ print "$w\n"; } -- cgit From 2ce770e04d6e3f3eea3d5d6dbcaf93d9858b407f Mon Sep 17 00:00:00 2001 From: "Jaldhar H. Vyas" Date: Tue, 14 May 2019 01:10:37 -0400 Subject: Challenge 7 problem 2 by Jaldhar H. Vyas --- challenge-007/jaldhar-h-vyas/perl5/ch-2.pl | 113 +++++++++++++++++++++++++++++ challenge-007/jaldhar-h-vyas/perl6/ch-2.p6 | 85 ++++++++++++++++++++++ 2 files changed, 198 insertions(+) create mode 100755 challenge-007/jaldhar-h-vyas/perl5/ch-2.pl create mode 100755 challenge-007/jaldhar-h-vyas/perl6/ch-2.p6 diff --git a/challenge-007/jaldhar-h-vyas/perl5/ch-2.pl b/challenge-007/jaldhar-h-vyas/perl5/ch-2.pl new file mode 100755 index 0000000000..86d4ea98e8 --- /dev/null +++ b/challenge-007/jaldhar-h-vyas/perl5/ch-2.pl @@ -0,0 +1,113 @@ +#!/usr/bin/perl +use warnings; +use strict; +use 5.010; +use English qw/ -no_match_vars /; + +sub usage { + print <<"-USAGE-"; + Usage: + $PROGRAM_NAME + + a list of words, one per line. + must be all lower case. + must be all lower case and the same length as startWord. +-USAGE- + + exit(1); +} + +# Reads a list of words, throws out the ones that are not the right length or +# contain non-alphabetical characters, makes them lower case and then returns +# this list. +sub words { + my ($list, $length) = @_; + open my $wordList, '<', $list or die "$list: $!\n"; + local $RS; + my $contents = <$wordList>; + close $wordList; + return [ sort + map { lc } + grep { /^[[:alpha:]]+$/ } + grep { length == $length } + split /\n/, + $contents ]; +} + +# makes and returns an undirected graph where the nodes are words and the edges +# are other words that differ by one letter only. +sub graph { + my ($words) = @_; + my %buckets; + my %graph; + + for my $word (@{$words}) { + for my $i (0 .. (length $word) - 1) { + my $bucket = $word; + substr $bucket, $i, 1, '_'; + push @{$buckets{$bucket}}, $word; + } + } + + while (my ($bucket, $neighbors) = each %buckets) { + for my $perm (map{ my $x = $_; map { [$x, $_] } @{$neighbors} } + @{$neighbors}) { + if ($perm->[0] ne $perm->[1]) { + $graph{$perm->[0]}->{$perm->[1]} = undef; + $graph{$perm->[1]}->{$perm->[0]} = undef; + } + } + } + + return \%graph; +} + +# Does a breadth-first search of the word graph returning the path from the +# start word to the end word if there is one. +sub traverse { + my ($graph, $startWord, $endWord) = @_; + my %visited; + my @ladder = (); + my @queue = ([$startWord]); + + while (scalar @queue) { + my $path = shift @queue; + my $vertex = @{$path}[-1]; + if ($vertex eq $endWord) { + return @{$path}; + } + + for my $v (keys %{$graph->{$vertex}}) { + if (!exists $visited{$v}) { + $visited{$v} = undef; + my @next = @{$path}; + push @next, $v; + push @queue, \@next; + } + } + } +} + +# The function that finds the word ladder with signature required by the spec +sub find_shortest_ladder { + my ($word1, $word2, $wordlist) = @_; + return traverse(graph($wordlist), $word1, $word2); +} + +if (scalar @ARGV < 3) { + usage(); +} + +my $list = $ARGV[0]; +my $startWord = $ARGV[1]; +my $endWord = $ARGV[2]; + +if ($startWord !~ /^[[:lower:]]+$/ || $endWord !~ /^[[:lower:]]+$/ || +length $startWord != length $endWord) { + usage(); +} + +say join( + q{ }, + find_shortest_ladder($startWord, $endWord, words($list, length $startWord)) +); diff --git a/challenge-007/jaldhar-h-vyas/perl6/ch-2.p6 b/challenge-007/jaldhar-h-vyas/perl6/ch-2.p6 new file mode 100755 index 0000000000..fa8cff461c --- /dev/null +++ b/challenge-007/jaldhar-h-vyas/perl6/ch-2.p6 @@ -0,0 +1,85 @@ +#!/usr/bin/perl6 + +# Reads a list of words, throws out the ones that are not the right length or +# contain non-alphabetical characters, makes them lower case and then returns +# this list. +sub words(Str $list, Int $length) { + return $list.IO.lines + .grep({ /^<:alpha>+$/ }) + .grep({ .chars == $length }) + .map({ .lc }) + .sort; +} + +# makes and returns an undirected graph where the nodes are words and the edges +# are other words that differ by one letter only. +sub graph (*@words) { + my Array %buckets; + my SetHash %graph; + + + for @words -> $word { + for 0 .. $word.chars - 1 -> $i { + (my $bucket = $word).substr-rw($i, 1) = '_'; + %buckets{$bucket}.push($word); + } + } + + for %buckets.kv -> $bucket, @neighbors { + for @neighbors X @neighbors -> $perm { + if $perm[0] !~~ $perm[1] { + %graph{$perm[0]}{$perm[1]} = True; + %graph{$perm[1]}{$perm[0]} = True; + } + } + } + + return %graph; +} + +# Does a breadth-first search of the word graph returning the path from the +# start word to the end word if there is one. +sub traverse(SetHash %graph, Str $startWord) { + my %visited; + my Str @ladder; + my @queue = «$startWord»; + %visited{$startWord} = True; + + while @queue.elems { + my @path = @queue.shift.flat; + my $vertex = @path[*-1]; + take $vertex, @path; + + for %graph{$vertex}.keys -> $v { + if !%visited{$v} { + %visited{$v} = True; + @queue.push((my @next = @path).push($v)); + } + } + } +} + +# The function that finds the word ladder with signature required by the spec +sub find_shortest_ladder(Str $word1, Str $word2, *@wordlist) { + for gather traverse(graph(@wordlist), $word1) -> ($vertex, @path) { + if ($vertex ~~ $word2) { + return @path; + } + } +} + +sub MAIN( + Str $list, #= a list of words, one per line. + Str $startWord, #= must be all lower case. + Str $endWord #= must be all lower case and the same length as startWord. + where { + $startWord ~~ /^<:lower>+$/ && + $endWord ~~ /^<:lower>+$/ && + $startWord.chars == $endWord.chars + } +) { + find_shortest_ladder($startWord, $endWord, words($list, $startWord.chars)) + .join(' ') + .say; +} + -- cgit From bdef29c6e10ce52ee146b5857a0eacdaa953d0b2 Mon Sep 17 00:00:00 2001 From: Joelle Maslak Date: Tue, 14 May 2019 14:05:58 -0400 Subject: Joelle's solution for 8.3 in Perl 5 --- challenge-008/joelle-maslak/perl5/ch-3.pl | 95 +++++++++++++++++++++++++++ challenge-008/joelle-maslak/perl5/ch-3.readme | 28 ++++++++ 2 files changed, 123 insertions(+) create mode 100755 challenge-008/joelle-maslak/perl5/ch-3.pl create mode 100644 challenge-008/joelle-maslak/perl5/ch-3.readme diff --git a/challenge-008/joelle-maslak/perl5/ch-3.pl b/challenge-008/joelle-maslak/perl5/ch-3.pl new file mode 100755 index 0000000000..fb375e8cb2 --- /dev/null +++ b/challenge-008/joelle-maslak/perl5/ch-3.pl @@ -0,0 +1,95 @@ +#!/usr/bin/env perl +use v5.26; +use strict; +use warnings; + +# Turn on method signatures +use feature 'signatures'; +no warnings 'experimental::signatures'; + +use autodie; +use Getopt::Long; +use Mojo::Util qw(url_escape); +use Mojo::UserAgent; +use Path::Tiny; +use Perl6::Slurp; + +# +# Copyright (C) 2019 Joelle Maslak +# All Rights Reserved - See License +# + +MAIN: { + my $configfile = path( $ENV{HOME} // "", ".mailgun" )->stringify(); + my ( $from, $to, $subject, $bodytext, $domain ); + GetOptions( + "from=s" => \$from, + "to=s" => \$to, + "subject=s" => \$subject, + "body-text=s" => \$bodytext, + "config-file=s" => \$configfile, + "domain=s" => \$domain, + ); + + die("Please provide --from") unless defined($from); + die("Please provide --to") unless defined($to); + die("Please provide --subject") unless defined($subject); + die("Please provide --bodytext") unless defined($bodytext); + + my $apikey = get_api_key($configfile); + $domain //= get_default_domain($configfile); + + send_email( + apikey => $apikey, + domain => $domain, + from => $from, + to => [ split(';', $to) ], + subject => $subject, + bodytext => $bodytext + ); +} + +sub get_api_key($configfile) { + my (@lines) = grep { length($_) } slurp($configfile); + die "Config-file ($configfile) must consist of two lines" if @lines != 2; + chomp $lines[0]; + return $lines[0]; +} + +sub get_default_domain($configfile) { + my (@lines) = grep { length($_) } slurp($configfile); + die "Config-file ($configfile) must consist of two lines" if @lines != 2; + chomp $lines[1]; + return $lines[1]; +} + +# Usage: +# The send_email function takes a hash with the following keys: +# apikey = Your Mailgun API key +# domain = The domain to use (configured with Mailgun) +# from = Source email address +# to = *ARRAY REFERENCE* of destination email addresses +# subject = Subject of email +# bodytext = Text of email +# +sub send_email(%args) { + my $url = 'https://api:_key_@api.mailgun.net/v3/_domain_/messages'; + my $key = url_escape($args{apikey}); + $url =~ s/_key_/$key/gs; + $url =~ s/_domain_/$args{domain}/gs; + + my %form = ( + from => $args{from}, + to => $args{to}, + subject => $args{subject}, + text => $args{bodytext}, + ); + + my $ua = Mojo::UserAgent->new(); + my $tx = $ua->post($url, form => \%form); + + if ($tx->result->code == 200) { return; } + + die($tx->result->json->{message}); +} + diff --git a/challenge-008/joelle-maslak/perl5/ch-3.readme b/challenge-008/joelle-maslak/perl5/ch-3.readme new file mode 100644 index 0000000000..03a932a804 --- /dev/null +++ b/challenge-008/joelle-maslak/perl5/ch-3.readme @@ -0,0 +1,28 @@ +This assumes there is a config file ~/.mailgun which contains TWO lines: + api-key (without the "api" username) + domain (something like sandbox1111111111111111111111111111111.mailgun.org) + +MODULES REQUIRED: + Mojolicious + Path::Tiny + Perl6::Slurp + +To specify multiple email addresses using command line version of script, use +";" between addresses. + +See the source code for how to use the send-email() API implementation. + +For command line that uses that API implementation, pass the following: + + --domain= (configured in Mailgun) + --from= + --subject="" + --body="" + +Example: + +perl ch-3.pl --from=jmaslak@antelope.net --to=jmaslak@antelope.net \ + --subject=Test --body-text="Test Message" + +No output means things went well. :) + -- cgit From 6fd0ce82d94e2e94dc0d1d215c22ea4199030a5d Mon Sep 17 00:00:00 2001 From: Joelle Maslak Date: Tue, 14 May 2019 14:08:46 -0400 Subject: URLescape domain --- challenge-008/joelle-maslak/perl5/ch-3.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/challenge-008/joelle-maslak/perl5/ch-3.pl b/challenge-008/joelle-maslak/perl5/ch-3.pl index fb375e8cb2..e1ceeb83a4 100755 --- a/challenge-008/joelle-maslak/perl5/ch-3.pl +++ b/challenge-008/joelle-maslak/perl5/ch-3.pl @@ -76,7 +76,8 @@ sub send_email(%args) { my $url = 'https://api:_key_@api.mailgun.net/v3/_domain_/messages'; my $key = url_escape($args{apikey}); $url =~ s/_key_/$key/gs; - $url =~ s/_domain_/$args{domain}/gs; + my $domain = url_escape($args{domain}); + $url =~ s/_domain_/$domain/gs; my %form = ( from => $args{from}, -- cgit From fc498618ff79e129aebea5e7a061eeb377e7401a Mon Sep 17 00:00:00 2001 From: Alexander <39702500+threadless-screw@users.noreply.github.com> Date: Tue, 14 May 2019 19:16:35 +0000 Subject: ch-1.p6 --- challenge-008/ozzy/perl6/ch-1.p6 | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 challenge-008/ozzy/perl6/ch-1.p6 diff --git a/challenge-008/ozzy/perl6/ch-1.p6 b/challenge-008/ozzy/perl6/ch-1.p6 new file mode 100644 index 0000000000..5724838245 --- /dev/null +++ b/challenge-008/ozzy/perl6/ch-1.p6 @@ -0,0 +1,17 @@ +#/usr/bin/env perl6 + +# Print the first six "perfect numbers" using Euclid's finding +# that 2^(p−1) * (2^p − 1) is an even perfect number whenever +# 2p − 1 is prime, and the fact that odd perfect numbers do not +# exist below 10^1500. +# +# See also: +# https://en.wikipedia.org/wiki/Perfect_number +# http://mathworld.wolfram.com/PerfectNumber.html + +for 1..17 -> $p { + + my $b = (2**$p -1); + say "$p : { 2**($p-1) * $b }" if $b.is-prime; + +} -- cgit From fa4970f9d4196de9e53c2e0f79b8d8ca99ef4c01 Mon Sep 17 00:00:00 2001 From: Adam Russell Date: Tue, 14 May 2019 15:19:44 -0400 Subject: added blog link --- challenge-008/adam-russell/blog.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 challenge-008/adam-russell/blog.txt diff --git a/challenge-008/adam-russell/blog.txt b/challenge-008/adam-russell/blog.txt new file mode 100644 index 0000000000..851cfcef8b --- /dev/null +++ b/challenge-008/adam-russell/blog.txt @@ -0,0 +1 @@ +https://adamcrussell.livejournal.com/2607.html -- cgit From b2d7ec97b61fc465317b84ef27f7a7995880a40a Mon Sep 17 00:00:00 2001 From: andrezgz Date: Tue, 14 May 2019 21:48:25 -0300 Subject: challenge-008 andrezgz solution --- challenge-008/andrezgz/perl5/ch-1.pl | 30 ++++++++++++++++++++++++++++++ challenge-008/andrezgz/perl5/ch-2.pl | 19 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 challenge-008/andrezgz/perl5/ch-1.pl create mode 100644 challenge-008/andrezgz/perl5/ch-2.pl diff --git a/challenge-008/andrezgz/perl5/ch-1.pl b/challenge-008/andrezgz/perl5/ch-1.pl new file mode 100644 index 0000000000..9a4df1aa97 --- /dev/null +++ b/challenge-008/andrezgz/perl5/ch-1.pl @@ -0,0 +1,30 @@ +#!/usr/bin/perl + +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-008/ +# Challenge #1 +# Write a script that computes the first five perfect numbers. +# A perfect number is an integer that is the sum of its positive proper divisors (all divisors except itself). +# Please check Wiki for more information. This challenge was proposed by Laurent Rosenfeld. +# https://en.wikipedia.org/wiki/Perfect_number + +use strict; +use warnings; + +# Using Euclid-Euler theorem (https://en.wikipedia.org/wiki/Euclid%E2%80%93Euler_theorem) +# we can create an even perfect number from a Mersenne prime (2^n - 1), for prime n + +my $perfect = 0; +my $n = 2; + +while ($perfect < 5) { + if (is_prime($n) && is_prime(2**$n-1)) { + print 2**($n-1) * (2**$n - 1).$/; + $perfect++; + } + $n++; +} + +sub is_prime { + my $n = shift; + return 1 == grep {$n % $_ == 0} (1 .. $n-1); +} diff --git a/challenge-008/andrezgz/perl5/ch-2.pl b/challenge-008/andrezgz/perl5/ch-2.pl new file mode 100644 index 0000000000..5962e8401a --- /dev/null +++ b/challenge-008/andrezgz/perl5/ch-2.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl + +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-008/ +# Challenge #2 +# Write a function, 'center', whose argument is a list of strings, which will be lines of text. +# The function should insert spaces at the beginning of the lines of text so that if they were printed, +# the text would be centered, and return the modified lines. + +use strict; +use warnings; + +print join $/, center("This", "is", "a test of the", "center function"); + +sub center { + my @lines = @_; + my $max = 0; + map { $max = length($_) if (length($_) > $max) } @lines; + return map { ' 'x(($max-length($_))/2).$_ } @lines +} -- cgit From 70d24d29332ad9e27edd0c1816fd9c67bef6a095 Mon Sep 17 00:00:00 2001 From: Adam Russell Date: Tue, 14 May 2019 23:28:20 -0400 Subject: updated ch-2.pl --- challenge-008/adam-russell/perl5/ch-1.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-008/adam-russell/perl5/ch-1.pl b/challenge-008/adam-russell/perl5/ch-1.pl index cc858bfb94..31c954ab9e 100644 --- a/challenge-008/adam-russell/perl5/ch-1.pl +++ b/challenge-008/adam-russell/perl5/ch-1.pl @@ -17,7 +17,7 @@ sub factor{ return @factors; } -my $i = 1; +my $i = 2; my $count = 0; do{ my @factors = factor($i); -- cgit From 082dccc9ed222c08b186b6481a308cf30d9ee593 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Wed, 15 May 2019 10:56:40 +0100 Subject: - Added solutions by Andrezgz, Ozzy and Joelle Maslak. --- stats/pwc-current.json | 162 ++++--- stats/pwc-language-breakdown.json | 194 ++++---- stats/pwc-leaders.json | 902 +++++++++++++++++++------------------- stats/pwc-summary-1-30.json | 108 ++--- stats/pwc-summary-31-60.json | 38 +- stats/pwc-summary-61-90.json | 92 ++-- stats/pwc-summary.json | 224 +++++----- 7 files changed, 875 insertions(+), 845 deletions(-) diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 48ab2fcce8..abc3f99959 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,75 +1,39 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "legend" : { - "enabled" : 0 + "chart" : { + "type" : "column" }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "Champions", - "data" : [ - { - "y" : 4, - "drilldown" : "Dr James A. Smith", - "name" : "Dr James A. Smith" - }, - { - "name" : "Francis Whittle", - "y" : 2, - "drilldown" : "Francis Whittle" - }, - { - "name" : "Joelle Maslak", - "y" : 5, - "drilldown" : "Joelle Maslak" - }, - { - "name" : "Neil Bowers", - "drilldown" : "Neil Bowers", - "y" : 1 - }, - { - "drilldown" : "Simon Proctor", - "y" : 2, - "name" : "Simon Proctor" - } - ] - } - ], "tooltip" : { - "followPointer" : 1, "headerFormat" : "{series.name}
", + "followPointer" : 1, "pointerFormat" : "{point.name}: {point.y:f}
" }, + "title" : { + "text" : "Perl Weekly Challenge - 008" + }, "xAxis" : { "type" : "category" }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 + "yAxis" : { + "title" : { + "text" : "Total Solutions" } }, - "title" : { - "text" : "Perl Weekly Challenge - 008" - }, - "chart" : { - "type" : "column" - }, "subtitle" : { - "text" : "[Champions: 5] Last updated at 2019-05-14 15:31:02 GMT" + "text" : "[Champions: 7] Last updated at 2019-05-15 09:56:15 GMT" }, "drilldown" : { "series" : [ { - "id" : "Dr James A. Smith", + "name" : "Andrezgz", + "id" : "Andrezgz", + "data" : [ + [ + "Perl 5", + 2 + ] + ] + }, + { "data" : [ [ "Perl 5", @@ -80,52 +44,118 @@ 2 ] ], + "id" : "Dr James A. Smith", "name" : "Dr James A. Smith" }, { + "name" : "Francis Whittle", "id" : "Francis Whittle", "data" : [ [ "Perl 6", 2 ] - ], - "name" : "Francis Whittle" + ] }, { + "name" : "Joelle Maslak", + "id" : "Joelle Maslak", "data" : [ [ "Perl 5", - 2 + 3 ], [ "Perl 6", 3 ] - ], - "name" : "Joelle Maslak", - "id" : "Joelle Maslak" + ] }, { - "id" : "Neil Bowers", "data" : [ [ "Perl 5", 1 ] ], + "id" : "Neil Bowers", "name" : "Neil Bowers" }, { - "id" : "Simon Proctor", - "name" : "Simon Proctor", + "data" : [ + [ + "Perl 6", + 1 + ] + ], + "name" : "Ozzy", + "id" : "Ozzy" + }, + { "data" : [ [ "Perl 6", 2 ] - ] + ], + "name" : "Simon Proctor", + "id" : "Simon Proctor" } ] + }, + "series" : [ + { + "colorByPoint" : 1, + "name" : "Champions", + "data" : [ + { + "y" : 2, + "name" : "Andrezgz", + "drilldown" : "Andrezgz" + }, + { + "drilldown" : "Dr James A. Smith", + "name" : "Dr James A. Smith", + "y" : 4 + }, + { + "y" : 2, + "name" : "Francis Whittle", + "drilldown" : "Francis Whittle" + }, + { + "drilldown" : "Joelle Maslak", + "name" : "Joelle Maslak", + "y" : 6 + }, + { + "y" : 1, + "name" : "Neil Bowers", + "drilldown" : "Neil Bowers" + }, + { + "y" : 1, + "name" : "Ozzy", + "drilldown" : "Ozzy" + }, + { + "y" : 2, + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor" + } + ] + } + ], + "legend" : { + "enabled" : 0 + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 1dae3f8e2f..5845cd5d58 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,28 +1,86 @@ { - "tooltip" : { - "followPointer" : "true", - "pointFormat" : "{point.name}: {point.y:f}
", - "headerFormat" : "" - }, - "legend" : { - "enabled" : "false" - }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "title" : { - "text" : "Perl Weekly Challenge Language" + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } }, "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-05-14 15:31:22 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-05-15 09:56:31 GMT" + }, + "legend" : { + "enabled" : "false" + }, + "xAxis" : { + "type" : "category" + }, + "series" : [ + { + "data" : [ + { + "drilldown" : "001", + "name" : "#001 [P5=76 P6=37]", + "y" : 113 + }, + { + "drilldown" : "002", + "name" : "#002 [P5=63 P6=32]", + "y" : 95 + }, + { + "name" : "#003 [P5=32 P6=26]", + "drilldown" : "003", + "y" : 58 + }, + { + "y" : 75, + "drilldown" : "004", + "name" : "#004 [P5=46 P6=29]" + }, + { + "drilldown" : "005", + "name" : "#005 [P5=33 P6=22]", + "y" : 55 + }, + { + "drilldown" : "006", + "y" : 41, + "name" : "#006 [P5=27 P6=14]" + }, + { + "name" : "#007 [P5=23 P6=19]", + "drilldown" : "007", + "y" : 42 + }, + { + "y" : 18, + "drilldown" : "008", + "name" : "#008 [P5=8 P6=10]" + } + ], + "name" : "Perl Weekly Challenge Languages", + "colorByPoint" : "true" + } + ], + "chart" : { + "type" : "column" + }, + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "", + "pointFormat" : "{point.name}: {point.y:f}
" }, "drilldown" : { "series" : [ { - "name" : "001", - "id" : "001", "data" : [ [ "Perl 5", @@ -32,9 +90,13 @@ "Perl 6", 37 ] - ] + ], + "id" : "001", + "name" : "001" }, { + "id" : "002", + "name" : "002", "data" : [ [ "Perl 5", @@ -44,11 +106,11 @@ "Perl 6", 32 ] - ], - "name" : "002", - "id" : "002" + ] }, { + "name" : "003", + "id" : "003", "data" : [ [ "Perl 5", @@ -58,11 +120,11 @@ "Perl 6", 26 ] - ], - "name" : "003", - "id" : "003" + ] }, { + "id" : "004", + "name" : "004", "data" : [ [ "Perl 5", @@ -72,11 +134,11 @@ "Perl 6", 29 ] - ], - "id" : "004", - "name" : "004" + ] }, { + "id" : "005", + "name" : "005", "data" : [ [ "Perl 5", @@ -86,13 +148,9 @@ "Perl 6", 22 ] - ], - "name" : "005", - "id" : "005" + ] }, { - "name" : "006", - "id" : "006", "data" : [ [ "Perl 5", @@ -102,11 +160,11 @@ "Perl 6", 14 ] - ] + ], + "name" : "006", + "id" : "006" }, { - "name" : "007", - "id" : "007", "data" : [ [ "Perl 5", @@ -116,85 +174,27 @@ "Perl 6", 19 ] - ] + ], + "name" : "007", + "id" : "007" }, { - "id" : "008", "name" : "008", + "id" : "008", "data" : [ [ "Perl 5", - 5 + 8 ], [ "Perl 6", - 9 + 10 ] ] } ] }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, - "series" : [ - { - "data" : [ - { - "y" : 113, - "drilldown" : "001", - "name" : "#001 [P5=76 P6=37]" - }, - { - "y" : 95, - "name" : "#002 [P5=63 P6=32]", - "drilldown" : "002" - }, - { - "drilldown" : "003", - "name" : "#003 [P5=32 P6=26]", - "y" : 58 - }, - { - "drilldown" : "004", - "name" : "#004 [P5=46 P6=29]", - "y" : 75 - }, - { - "drilldown" : "005", - "name" : "#005 [P5=33 P6=22]", - "y" : 55 - }, - { - "name" : "#006 [P5=27 P6=14]", - "drilldown" : "006", - "y" : 41 - }, - { - "y" : 42, - "name" : "#007 [P5=23 P6=19]", - "drilldown" : "007" - }, - { - "name" : "#008 [P5=5 P6=9]", - "drilldown" : "008", - "y" : 14 - } - ], - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true" - } - ], - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } + "title" : { + "text" : "Perl Weekly Challenge Language" } } diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index e3753f82d7..88db988661 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -1,333 +1,44 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-05-14 15:31:26 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Leaders (TOP 50)" - }, - "xAxis" : { - "type" : "category" - }, "chart" : { "type" : "column" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "series" : [ - { - "data" : [ - { - "y" : 70, - "drilldown" : "Laurent Rosenfeld", - "name" : "#1: Laurent Rosenfeld" - }, - { - "y" : 68, - "name" : "#2: Joelle Maslak", - "drilldown" : "Joelle Maslak" - }, - { - "y" : 52, - "name" : "#3: Jaldhar H. Vyas", - "drilldown" : "Jaldhar H. Vyas" - }, - { - "drilldown" : "Ruben Westerberg", - "name" : "#4: Ruben Westerberg", - "y" : 48 - }, - { - "drilldown" : "Simon Proctor", - "name" : "#5: Simon Proctor", - "y" : 46 - }, - { - "y" : 44, - "name" : "#6: Dr James A. Smith", - "drilldown" : "Dr James A. Smith" - }, - { - "name" : "#7: Adam Russell", - "drilldown" : "Adam Russell", - "y" : 42 - }, - { - "drilldown" : "Jo Christian Oterhals", - "name" : "#8: Jo Christian Oterhals", - "y" : 42 - }, - { - "drilldown" : "Arne Sommer", - "name" : "#9: Arne Sommer", - "y" : 36 - }, - { - "y" : 36, - "name" : "#10: Kian-Meng Ang", - "drilldown" : "Kian-Meng Ang" - }, - { - "name" : "#11: Nick Logan", - "drilldown" : "Nick Logan", - "y" : 32 - }, - { - "name" : "#12: Gustavo Chaves", - "drilldown" : "Gustavo Chaves", - "y" : 30 - }, - { - "name" : "#13: Athanasius", - "drilldown" : "Athanasius", - "y" : 28 - }, - { - "y" : 28, - "drilldown" : "Lars Balker", - "name" : "#14: Lars Balker" - }, - { - "name" : "#15: Andrezgz", - "drilldown" : "Andrezgz", - "y" : 26 - }, - { - "drilldown" : "Francis Whittle", - "name" : "#16: Francis Whittle", - "y" : 26 - }, - { - "y" : 26, - "name" : "#17: Mark Senn", - "drilldown" : "Mark Senn" - }, - { - "name" : "#18: Doug Schrag", - "drilldown" : "Doug Schrag", - "y" : 20 - }, - { - "drilldown" : "Duncan C. White", - "name" : "#19: Duncan C. White", - "y" : 20 - }, - { - "y" : 18, - "drilldown" : "Daniel Mantovani", - "name" : "#20: Daniel Mantovani" - }, - { - "y" : 16, - "drilldown" : "Robert Gratza", - "name" : "#21: Robert Gratza" - }, - { - "drilldown" : "Dave Jacoby", - "name" : "#22: Dave Jacoby", - "y" : 14 - }, - { - "drilldown" : "John Barrett", - "name" : "#23: John Barrett", - "y" : 14 - }, - { - "y" : 12, - "name" : "#24: E. Choroba", - "drilldown" : "E. Choroba" - }, - { - "drilldown" : "Maxim Kolodyazhny", - "name" : "#25: Maxim Kolodyazhny", - "y" : 12 - }, - { - "y" : 12, - "drilldown" : "Ozzy", - "name" : "#26: Ozzy" - }, - { - "y" : 12, - "name" : "#27: Philippe Bruhat", - "drilldown" : "Philippe Bruhat" - }, - { - "name" : "#28: Sergio Iglesias", - "drilldown" : "Sergio Iglesias", - "y" : 12 - }, - { - "drilldown" : "Arpad Toth", - "name" : "#29: Arpad Toth", - "y" : 10 - }, - { - "y" : 10, - "drilldown" : "Khalid", - "name" : "#30: Khalid" - }, - { - "drilldown" : "Steve Rogerson", - "name" : "#31: Steve Rogerson", - "y" : 10 - }, - { - "y" : 10, - "name" : "#32: Veesh Goldman", - "drilldown" : "Veesh Goldman" - }, - { - "drilldown" : "Alex Daniel", - "name" : "#33: Alex Daniel", - "y" : 8 - }, - { - "drilldown" : "Alicia Bielsa", - "name" : "#34: Alicia Bielsa", - "y" : 8 - }, - { - "name" : "#35: Bob Kleemann", - "drilldown" : "Bob Kleemann", - "y" : 8 - }, - { - "y" : 8, - "drilldown" : "Chenyf", - "name" : "#36: Chenyf" - }, - { - "name" : "#37: David Kayal", - "drilldown" : "David Kayal", - "y" : 8 - }, - { - "y" : 8, - "drilldown" : "Finley", - "name" : "#38: Finley" - }, - { - "y" : 8, - "drilldown" : "Jaime Corchado", - "name" : "#39: Jaime Corchado" - }, - { - "name" : "#40: Matt Latusek", - "drilldown" : "Matt Latusek", - "y" : 8 - }, - { - "y" : 8, - "drilldown" : "Neil Bowers", - "name" : "#41: Neil Bowers" - }, - { - "drilldown" : "Simon Reinhardt", - "name" : "#42: Simon Reinhardt", - "y" : 8 - }, - { - "drilldown" : "Steven Wilson", - "name" : "#43: Steven Wilson", - "y" : 8 - }, - { - "y" : 8, - "name" : "#44: Tim Smith", - "drilldown" : "Tim Smith" - }, - { - "name" : "#45: Ailbhe Tweedie", - "drilldown" : "Ailbhe Tweedie", - "y" : 6 - }, - { - "name" : "#46: Dave Cross", - "drilldown" : "Dave Cross", - "y" : 6 - }, - { - "drilldown" : "Freddie B", - "name" : "#47: Freddie B", - "y" : 6 - }, - { - "drilldown" : "Guillermo Ramos", - "name" : "#48: Guillermo Ramos", - "y" : 6 - }, - { - "name" : "#49: Jeremy Carman", - "drilldown" : "Jeremy Carman", - "y" : 6 - }, - { - "y" : 6, - "drilldown" : "Kivanc Yazan", - "name" : "#50: Kivanc Yazan" - } - ], - "colorByPoint" : "true", - "name" : "Perl Weekly Challenge Leaders" - } - ], - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : "true", - "headerFormat" : "" - }, - "yAxis" : { - "title" : { - "text" : "Total Score" - } - }, - "legend" : { - "enabled" : "false" - }, "drilldown" : { "series" : [ { - "id" : "Laurent Rosenfeld", + "name" : "Joelle Maslak", "data" : [ - [ - "Perl 5", - 14 - ], [ "Perl 6", - 13 + 17 ], [ "Blog", - 8 + 1 + ], + [ + "Perl 5", + 17 ] ], - "name" : "Laurent Rosenfeld" + "id" : "Joelle Maslak" }, { + "name" : "Laurent Rosenfeld", "data" : [ [ "Blog", - 1 + 8 ], [ "Perl 6", - 17 + 13 ], [ "Perl 5", - 16 + 14 ] ], - "id" : "Joelle Maslak", - "name" : "Joelle Maslak" + "id" : "Laurent Rosenfeld" }, { "data" : [ @@ -344,53 +55,53 @@ "name" : "Jaldhar H. Vyas" }, { - "id" : "Ruben Westerberg", "data" : [ [ - "Perl 5", + "Perl 6", 12 ], [ - "Perl 6", + "Perl 5", 12 ] ], + "id" : "Ruben Westerberg", "name" : "Ruben Westerberg" }, { - "id" : "Simon Proctor", "data" : [ - [ - "Blog", - 5 - ], [ "Perl 6", 14 ], + [ + "Blog", + 5 + ], [ "Perl 5", 4 ] ], + "id" : "Simon Proctor", "name" : "Simon Proctor" }, { - "name" : "Dr James A. Smith", - "id" : "Dr James A. Smith", "data" : [ - [ - "Perl 6", - 10 - ], [ "Perl 5", 12 + ], + [ + "Perl 6", + 10 ] - ] + ], + "id" : "Dr James A. Smith", + "name" : "Dr James A. Smith" }, { - "id" : "Adam Russell", + "name" : "Adam Russell", "data" : [ [ "Perl 5", @@ -401,132 +112,117 @@ 7 ] ], - "name" : "Adam Russell" + "id" : "Adam Russell" }, { - "name" : "Jo Christian Oterhals", - "id" : "Jo Christian Oterhals", "data" : [ [ "Perl 5", 6 ], - [ - "Perl 6", - 10 - ], [ "Blog", 5 + ], + [ + "Perl 6", + 10 ] - ] + ], + "id" : "Jo Christian Oterhals", + "name" : "Jo Christian Oterhals" }, { - "name" : "Arne Sommer", "id" : "Arne Sommer", "data" : [ - [ - "Blog", - 6 - ], [ "Perl 6", 12 - ] - ] - }, - { - "id" : "Kian-Meng Ang", - "data" : [ + ], [ "Blog", 6 - ], - [ - "Perl 5", - 12 ] ], - "name" : "Kian-Meng Ang" + "name" : "Arne Sommer" }, { - "name" : "Nick Logan", - "id" : "Nick Logan", + "name" : "Kian-Meng Ang", + "id" : "Kian-Meng Ang", "data" : [ [ "Perl 5", - 8 + 12 ], [ - "Perl 6", - 8 + "Blog", + 6 ] ] }, { - "name" : "Gustavo Chaves", - "id" : "Gustavo Chaves", + "name" : "Nick Logan", "data" : [ [ "Perl 5", - 11 + 8 ], [ - "Blog", - 4 + "Perl 6", + 8 ] - ] + ], + "id" : "Nick Logan" }, { - "id" : "Athanasius", + "name" : "Andrezgz", + "id" : "Andrezgz", "data" : [ [ "Perl 5", - 14 + 15 ] - ], - "name" : "Athanasius" + ] }, { - "name" : "Lars Balker", - "id" : "Lars Balker", + "id" : "Gustavo Chaves", "data" : [ [ - "Perl 6", + "Blog", 4 ], [ "Perl 5", - 10 + 11 ] - ] + ], + "name" : "Gustavo Chaves" }, { - "id" : "Andrezgz", + "name" : "Athanasius", "data" : [ [ "Perl 5", - 13 + 14 ] ], - "name" : "Andrezgz" + "id" : "Athanasius" }, { - "name" : "Francis Whittle", - "id" : "Francis Whittle", "data" : [ [ - "Perl 6", + "Perl 5", 10 ], [ - "Blog", - 3 + "Perl 6", + 4 ] - ] + ], + "id" : "Lars Balker", + "name" : "Lars Balker" }, { - "id" : "Mark Senn", "data" : [ [ "Blog", @@ -537,40 +233,54 @@ 10 ] ], - "name" : "Mark Senn" + "id" : "Francis Whittle", + "name" : "Francis Whittle" + }, + { + "name" : "Mark Senn", + "data" : [ + [ + "Perl 6", + 10 + ], + [ + "Blog", + 3 + ] + ], + "id" : "Mark Senn" }, { "name" : "Doug Schrag", - "id" : "Doug Schrag", "data" : [ [ "Perl 6", 10 ] - ] + ], + "id" : "Doug Schrag" }, { - "id" : "Duncan C. White", + "name" : "Duncan C. White", "data" : [ [ "Perl 5", 10 ] ], - "name" : "Duncan C. White" + "id" : "Duncan C. White" }, { "name" : "Daniel Mantovani", - "id" : "Daniel Mantovani", "data" : [ [ "Perl 5", 9 ] - ] + ], + "id" : "Daniel Mantovani" }, { - "name" : "Robert Gratza", "data" : [ [ "Perl 6", @@ -581,10 +291,12 @@ 2 ] ], - "id" : "Robert Gratza" + "id" : "Robert Gratza", + "name" : "Robert Gratza" }, { "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl 5", @@ -594,18 +306,27 @@ "Blog", 4 ] - ], - "id" : "Dave Jacoby" + ] }, { + "name" : "John Barrett", + "id" : "John Barrett", "data" : [ [ "Perl 5", 7 ] + ] + }, + { + "data" : [ + [ + "Perl 6", + 7 + ] ], - "id" : "John Barrett", - "name" : "John Barrett" + "id" : "Ozzy", + "name" : "Ozzy" }, { "data" : [ @@ -622,37 +343,27 @@ "name" : "E. Choroba" }, { + "name" : "Maxim Kolodyazhny", + "id" : "Maxim Kolodyazhny", "data" : [ [ "Perl 5", 6 ] - ], - "id" : "Maxim Kolodyazhny", - "name" : "Maxim Kolodyazhny" + ] }, { + "id" : "Philippe Bruhat", "data" : [ [ - "Perl 6", - 6 - ] - ], - "id" : "Ozzy", - "name" : "Ozzy" - }, - { - "data" : [ + "Perl 5", + 4 + ], [ "Blog", 2 - ], - [ - "Perl 5", - 4 ] ], - "id" : "Philippe Bruhat", "name" : "Philippe Bruhat" }, { @@ -677,91 +388,91 @@ }, { "name" : "Khalid", + "id" : "Khalid", "data" : [ - [ - "Blog", - 1 - ], [ "Perl 5", 4 + ], + [ + "Blog", + 1 ] - ], - "id" : "Khalid" + ] }, { + "name" : "Steve Rogerson", "data" : [ - [ - "Perl 5", - 3 - ], [ "Perl 6", 2 + ], + [ + "Perl 5", + 3 ] ], - "id" : "Steve Rogerson", - "name" : "Steve Rogerson" + "id" : "Steve Rogerson" }, { "name" : "Veesh Goldman", + "id" : "Veesh Goldman", "data" : [ [ "Perl 5", 5 ] - ], - "id" : "Veesh Goldman" + ] }, { "name" : "Alex Daniel", - "id" : "Alex Daniel", "data" : [ [ "Perl 6", 4 ] - ] + ], + "id" : "Alex Daniel" }, { - "id" : "Alicia Bielsa", + "name" : "Alicia Bielsa", "data" : [ [ "Perl 5", 4 ] ], - "name" : "Alicia Bielsa" + "id" : "Alicia Bielsa" }, { + "name" : "Bob Kleemann", "data" : [ [ "Perl 5", 4 ] ], - "id" : "Bob Kleemann", - "name" : "Bob Kleemann" + "id" : "Bob Kleemann" }, { "name" : "Chenyf", - "id" : "Chenyf", "data" : [ [ "Perl 6", 4 ] - ] + ], + "id" : "Chenyf" }, { - "name" : "David Kayal", - "id" : "David Kayal", "data" : [ [ "Perl 5", 4 ] - ] + ], + "id" : "David Kayal", + "name" : "David Kayal" }, { "name" : "Finley", @@ -784,34 +495,34 @@ "id" : "Jaime Corchado" }, { - "id" : "Matt Latusek", + "name" : "Matt Latusek", "data" : [ [ "Perl 5", 4 ] ], - "name" : "Matt Latusek" + "id" : "Matt Latusek" }, { + "name" : "Neil Bowers", + "id" : "Neil Bowers", "data" : [ [ "Perl 5", 4 ] - ], - "id" : "Neil Bowers", - "name" : "Neil Bowers" + ] }, { + "name" : "Simon Reinhardt", "id" : "Simon Reinhardt", "data" : [ [ "Perl 5", 4 ] - ], - "name" : "Simon Reinhardt" + ] }, { "data" : [ @@ -824,27 +535,27 @@ "name" : "Steven Wilson" }, { + "name" : "Tim Smith", "id" : "Tim Smith", "data" : [ [ "Perl 6", 4 ] - ], - "name" : "Tim Smith" + ] }, { + "name" : "Ailbhe Tweedie", "id" : "Ailbhe Tweedie", "data" : [ [ "Perl 5", 3 ] - ], - "name" : "Ailbhe Tweedie" + ] }, { - "id" : "Dave Cross", + "name" : "Dave Cross", "data" : [ [ "Perl 5", @@ -855,52 +566,341 @@ 1 ] ], - "name" : "Dave Cross" + "id" : "Dave Cross" }, { - "id" : "Freddie B", "data" : [ [ "Perl 5", 3 ] ], + "id" : "Freddie B", "name" : "Freddie B" }, { - "id" : "Guillermo Ramos", + "name" : "Guillermo Ramos", "data" : [ [ "Perl 5", 3 ] ], - "name" : "Guillermo Ramos" + "id" : "Guillermo Ramos" }, { - "id" : "Jeremy Carman", + "name" : "Jeremy Carman", "data" : [ - [ - "Perl 5", - 2 - ], [ "Perl 6", 1 + ], + [ + "Perl 5", + 2 ] ], - "name" : "Jeremy Carman" + "id" : "Jeremy Carman" }, { + "name" : "Kivanc Yazan", "data" : [ [ "Perl 5", 3 ] ], - "id" : "Kivanc Yazan", - "name" : "Kivanc Yazan" + "id" : "Kivanc Yazan" } ] + }, + "yAxis" : { + "title" : { + "text" : "Total Score" + } + }, + "series" : [ + { + "data" : [ + { + "drilldown" : "Joelle Maslak", + "name" : "#1: Joelle Maslak", + "y" : 70 + }, + { + "y" : 70, + "name" : "#2: Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld" + }, + { + "drilldown" : "Jaldhar H. Vyas", + "name" : "#3: Jaldhar H. Vyas", + "y" : 52 + }, + { + "y" : 48, + "drilldown" : "Ruben Westerberg", + "name" : "#4: Ruben Westerberg" + }, + { + "drilldown" : "Simon Proctor", + "name" : "#5: Simon Proctor", + "y" : 46 + }, + { + "name" : "#6: Dr James A. Smith", + "drilldown" : "Dr James A. Smith", + "y" : 44 + }, + { + "y" : 42, + "name" : "#7: Adam Russell", + "drilldown" : "Adam Russell" + }, + { + "y" : 42, + "name" : "#8: Jo Christian Oterhals", + "drilldown" : "Jo Christian Oterhals" + }, + { + "name" : "#9: Arne Sommer", + "drilldown" : "Arne Sommer", + "y" : 36 + }, + { + "name" : "#10: Kian-Meng Ang", + "drilldown" : "Kian-Meng Ang", + "y" : 36 + }, + { + "name" : "#11: Nick Logan", + "drilldown" : "Nick Logan", + "y" : 32 + }, + { + "y" : 30, + "name" : "#12: Andrezgz", + "drilldown" : "Andrezgz" + }, + { + "name" : "#13: Gustavo Chaves", + "drilldown" : "Gustavo Chaves", + "y" : 30 + }, + { + "drilldown" : "Athanasius", + "name" : "#14: Athanasius", + "y" : 28 + }, + { + "y" : 28, + "drilldown" : "Lars Balker", + "name" : "#15: Lars Balker" + }, + { + "drilldown" : "Francis Whittle", + "name" : "#16: Francis Whittle", + "y" : 26 + }, + { + "y" : 26, + "name" : "#17: Mark Senn", + "drilldown" : "Mark Senn" + }, + { + "y" : 20, + "name" : "#18: Doug Schrag", + "drilldown" : "Doug Schrag" + }, + { + "y" : 20, + "name" : "#19: Duncan C. White", + "drilldown" : "Duncan C. White" + }, + { + "name" : "#20: Daniel Mantovani", + "drilldown" : "Daniel Mantovani", + "y" : 18 + }, + { + "y" : 16, + "drilldown" : "Robert Gratza", + "name" : "#21: Robert Gratza" + }, + { + "drilldown" : "Dave Jacoby", + "name" : "#22: Dave Jacoby", + "y" : 14 + }, + { + "drilldown" : "John Barrett", + "name" : "#23: John Barrett", + "y" : 14 + }, + { + "name" : "#24: Ozzy", + "drilldown" : "Ozzy", + "y" : 14 + }, + { + "y" : 12, + "name" : "#25: E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "name" : "#26: Maxim Kolodyazhny", + "drilldown" : "Maxim Kolodyazhny", + "y" : 12 + }, + { + "y" : 12, + "drilldown" : "Philippe Bruhat", + "name" : "#27: Philippe Bruhat" + }, + { + "name" : "#28: Sergio Iglesias", + "drilldown" : "Sergio Iglesias", + "y" : 12 + }, + { + "name" : "#29: Arpad Toth", + "drilldown" : "Arpad Toth", + "y" : 10 + }, + { + "name" : "#30: Khalid", + "drilldown" : "Khalid", + "y" : 10 + }, + { + "name" : "#31: Steve Rogerson", + "drilldown" : "Steve Rogerson", + "y" : 10 + }, + { + "y" : 10, + "drilldown" : "Veesh Goldman", + "name" : "#32: Veesh Goldman" + }, + { + "y" : 8, + "drilldown" : "Alex Daniel", + "name" : "#33: Alex Daniel" + }, + { + "y" : 8, + "name" : "#34: Alicia Bielsa", + "drilldown" : "Alicia Bielsa" + }, + { + "drilldown" : "Bob Kleemann", + "name" : "#35: Bob Kleemann", + "y" : 8 + }, + { +