From 71e4cc2d14f0ff3c89d85d5da6b2c4303abcbbc2 Mon Sep 17 00:00:00 2001 From: dcw Date: Sun, 18 Aug 2019 20:47:42 +0100 Subject: added my solutions to challenge 21 --- challenge-021/duncan-c-white/README | 34 +++---- challenge-021/duncan-c-white/perl5/ch-1.pl | 26 +++++ challenge-021/duncan-c-white/perl5/ch-2.pl | 146 +++++++++++++++++++++++++++++ challenge-021/duncan-c-white/perl5/parse | 73 +++++++++++++++ 4 files changed, 259 insertions(+), 20 deletions(-) create mode 100755 challenge-021/duncan-c-white/perl5/ch-1.pl create mode 100755 challenge-021/duncan-c-white/perl5/ch-2.pl create mode 100755 challenge-021/duncan-c-white/perl5/parse diff --git a/challenge-021/duncan-c-white/README b/challenge-021/duncan-c-white/README index bf5b030e87..4d99aac50e 100644 --- a/challenge-021/duncan-c-white/README +++ b/challenge-021/duncan-c-white/README @@ -1,25 +1,19 @@ -Challenge 1: "Write a script to accept a string from command line and -split it on change of character. For example, if the string is "ABBCDEEF", -then it should split like 'A', 'BB', 'C', 'D', 'EE', 'F'." +Challenge 1: "Write a script to calculate the value of e, also known + as Euler's number and Napier's constant." -My notes: Clearly defined, sounds like a job for regexes. +My notes: The associated wiki page reminds us that the easiest way of + calculating e (the base of natural logarithms) is via: + e = 2 + 1/2! + 1/3! + 1/4! + ... 1/n! Let's use that. -Challenge 2: "Write a script to print the smallest pair of Amicable Numbers." +Challenge 2: "Write a script for URL normalization based on rfc3986. This +task was shared by Anonymous Contributor. -Amicable numbers are two different numbers so related that the sum of the -proper divisors of each is equal to the other number. (A proper divisor -of a number is a positive factor of that number other than the number -itself. For example, the proper divisors of 6 are 1, 2, and 3.) +According to Wikipedia, URL normalization is the process by which URLs +are modified and standardized in a consistent manner. The goal of the +normalization process is to transform a URL into a normalized URL so +it is possible to determine if two syntactically different URLs may +be equivalent. -The smallest pair of amicable numbers is (220, 284). They are amicable -because the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, -55 and 110, of which the sum is 284; and the proper divisors of 284 are 1, -2, 4, 71 and 142, of which the sum is 220. - -The first ten amicable pairs are: (220, 284), (1184, 1210), (2620, -2924), (5020, 5564), (6232, 6368), (10744, 10856), (12285, 14595), -(17296, 18416), (63020, 76084), and (66928, 66992) - -My notes: Another clearly described problem. Obvious method involves -a bit of caching. +My notes: The RFC link points to a long list of regex-syle changes, +not all of which have to be implemented. Easy to implement most. diff --git a/challenge-021/duncan-c-white/perl5/ch-1.pl b/challenge-021/duncan-c-white/perl5/ch-1.pl new file mode 100755 index 0000000000..ee09dc106c --- /dev/null +++ b/challenge-021/duncan-c-white/perl5/ch-1.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl +# +# Challenge 1: "Write a script to calculate the value of e, also known +# as Euler's number and Napier's constant." +# +# My notes: The associated wiki page reminds us that the easiest way of +# calculating e (the base of natural logarithms) is via: +# e = 1 + 1/1! + 1/2! + 1/3! + 1/4! + ... 1/n! Let's use that. +# + +use strict; +use warnings; +#use Function::Parameters; +#use Data::Dumper; + +die "Usage: ch-1.pl [NUMTERMS]\n" if @ARGV>1; +my $nterms = shift // 30; + +my $e = 0; +my $nfact = 1; +foreach my $n (1..$nterms) +{ + $e += 1/$nfact; + $nfact *= $n; +} +print "e=$e\n"; diff --git a/challenge-021/duncan-c-white/perl5/ch-2.pl b/challenge-021/duncan-c-white/perl5/ch-2.pl new file mode 100755 index 0000000000..fc978b3a81 --- /dev/null +++ b/challenge-021/duncan-c-white/perl5/ch-2.pl @@ -0,0 +1,146 @@ +#!/usr/bin/perl +# +# Challenge 2: "Write a script for URL normalization based on rfc3986. +# +# According to Wikipedia, URL normalization is the process by which URLs +# are modified and standardized in a consistent manner. The goal of the +# normalization process is to transform a URL into a normalized URL so +# it is possible to determine if two syntactically different URLs may +# be equivalent. +# +# My notes: The RFC link points to a long list of regex-syle changes, +# not all of which have to be implemented. Easy to implement most. +# Later thought: many of the changes only apply to parts of the URL, +# so I'll reuse part of my solution to challenge 017, part 2.. url splitting +# +# ./ch-2.pl HTTP://ed@mit.edu:800/../%7e%64%75%6e%63%61%6e/%5d%20%ff/a/../../b/../c/../default.asp +# normalized url is http://ed@mit.edu:800/~duncan/ +# + +use strict; +use warnings; +use Function::Parameters; +use Data::Dumper; + +die "Usage: ch-2.pl URL\n" unless @ARGV==1; +my $url = shift; + +$url = normalize( $url ); +print "normalized url is $url\n"; + +# +# my %info = parse_url($url); +# Parse URL $url. Return a hash of the pieces. If parsing +# fails, return an empty hash. +# scheme:[//[userinfo@]host[:port]]path[?query][#fragment] +# eg. jdbc://user:password@localhost:3306/pwc?profile=true#h1 +# +# parses to: +# scheme: jdbc +# userinfo: user:password +# host: localhost +# port: 3306 +# path: /pwc +# query: profile=true +# fragment: h1 +# +fun parse_url( $url ) +{ + $url =~ s/^([^:]+):// || return (); + + my %hash; + $hash{scheme} = $1; + if( $url =~ s|^//|| ) + { + $hash{userinfo} = $1 if $url =~ s|^(.+)@||; + return () unless $url =~ s|^([\w\.]+)||; + $hash{host} = $1; + $hash{port} = $1 if $url =~ s/^:(\d+)//; + $hash{fragment} = $1 if $url =~ s/#([^#]+)$//; + $hash{query} = $1 if $url =~ s/\?([^\?]+)$//; + $hash{path} = $url; + } + return %hash; +} + + +# +# $path = sanitize_path( $path ); +# remove '' and '.' path elements, and process '..' as if +# we were descending a directory tree, and also remove trailing +# inde.html and similar entries. +# +fun sanitize_path( $path ) +{ + my @x = split( m|/|, $path ); + + # traverse the path elements, ignoring '.' and '' elements, + # pushing any element but a '..' on a stack, + # and popping the top element when you see a '..' + my @p; + foreach (@x) + { + next if $_ eq '.' || $_ eq ''; + if( $_ eq '..' ) + { + pop @p; + } else + { + push @p, $_; + } + } + + my $path = '/'. join('/', @p ); + + # remove trailing index.htm[l]? if present + $path =~ s|/index.html?$|/|; + + # remove trailing default.jsp if present + $path =~ s|/default.asp$|/|; + + # add trailing slash if missing - no, don't, bad idea + #$path =~ s|([^/])$|$1/|; + + return $path; +} + + +# +# my $normalizedurl = normalize( $url ); +# Normalize $url according to RFC3986 +# +fun normalize( $url ) +{ + # 1. lowercase whole url + $url = lc($url); + + # 2. uppercase %hh triples + $url =~ s/(%[0-9a-f][0-9a-f])/\U$1/g; + + # 3. decode unnecessary %HH triples, viz: + # "ALPHA (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), + # period (%2E), underscore (%5F), or tilde (%7E)" + $url =~ + s/%(4[0-9A-F]|5[0-9A]|6[0-9A-F]|7[0-9A]|3[0-9]|2D|2E|5F|7E)/chr(hex("0x".$1))/eg; + + # now parse url into parts.. + my %info = parse_url($url); + + # 4. remove default port + delete $info{port} if $info{port} eq "80"; + + my $path = $info{path}; + + # 5. sanitize path in various ways, eg remove '', '.'and '..' elements + $path = sanitize_path( $path ); + + # finally, merge bits back together + $url = $info{scheme}."://"; + $url .= $info{userinfo}."@" if $info{userinfo}; + $url .= $info{host}; + $url .= ":".$info{port} if $info{port}; + $url .= $path; + $url .= "?".$info{query} if $info{query}; + $url .= "#".$info{fragment} if $info{fragment}; + return $url; +} diff --git a/challenge-021/duncan-c-white/perl5/parse b/challenge-021/duncan-c-white/perl5/parse new file mode 100755 index 0000000000..0fc5a6da02 --- /dev/null +++ b/challenge-021/duncan-c-white/perl5/parse @@ -0,0 +1,73 @@ +#!/usr/bin/perl + +# Challenge 2: "Create a script to parse URL and print the components of +# URL. According to the Wiki page https://en.wikipedia.org/wiki/URL, the URL +# syntax is as below: +# +# scheme:[//[userinfo@]host[:port]]path[?query][#fragment] +# +# eg. jdbc://user:password@localhost:3306/pwc?profile=true#h1 +# +# scheme: jdbc +# userinfo: user:password +# host: localhost +# port: 3306 +# path: /pwc +# query: profile=true +# fragment: h1 +# +# My notes: sounds pretty trivial for regexes, if the lexical syntax of +# each component is defined clearly. Ok, reading the above wiki page +# doesn't make it 100% clear, but let's hack it up, that's probably good +# enough for most cases. + +use strict; +use warnings; +use Function::Parameters; +use Data::Dumper; + +# +# my %info = parse_url($url); +# Parse URL $url. Return a hash of the pieces. If parsing +# fails, return an empty hash. +# scheme:[//[userinfo@]host[:port]]path[?query][#fragment] +# eg. jdbc://user:password@localhost:3306/pwc?profile=true#h1 +# +# parses to: +# scheme: jdbc +# userinfo: user:password +# host: localhost +# port: 3306 +# path: /pwc +# query: profile=true +# fragment: h1 +# +fun parse_url( $url ) +{ + $url =~ s/^([^:]+):// || return (); + + my %hash; + $hash{scheme} = $1; + if( $url =~ s|^//|| ) + { + $hash{userinfo} = $1 if $url =~ s|^(.+)@||; + return () unless $url =~ s|^([\w\.]+)||; + $hash{host} = $1; + $hash{port} = $1 if $url =~ s/^:(\d+)//; + $hash{fragment} = $1 if $url =~ s/#([^#]+)$//; + $hash{query} = $1 if $url =~ s/\?([^\?]+)$//; + $hash{path} = $url; + } + return %hash; +} + + + +#die "Usage: ch-2.pl URL*\n"; +push @ARGV, 'jdbc://user:password@localhost:3306/pwc?profile=true#h1' + unless @ARGV; +foreach my $url (@ARGV) +{ + my %info = parse_url($url); + print "$url:\n". Dumper(\%info); +} -- cgit From 17699814884956669cab833d9ef035464bea86da Mon Sep 17 00:00:00 2001 From: dcw Date: Mon, 19 Aug 2019 04:39:11 +0100 Subject: oops; removed temp file parse --- challenge-021/duncan-c-white/perl5/parse | 73 -------------------------------- 1 file changed, 73 deletions(-) delete mode 100755 challenge-021/duncan-c-white/perl5/parse diff --git a/challenge-021/duncan-c-white/perl5/parse b/challenge-021/duncan-c-white/perl5/parse deleted file mode 100755 index 0fc5a6da02..0000000000 --- a/challenge-021/duncan-c-white/perl5/parse +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/perl - -# Challenge 2: "Create a script to parse URL and print the components of -# URL. According to the Wiki page https://en.wikipedia.org/wiki/URL, the URL -# syntax is as below: -# -# scheme:[//[userinfo@]host[:port]]path[?query][#fragment] -# -# eg. jdbc://user:password@localhost:3306/pwc?profile=true#h1 -# -# scheme: jdbc -# userinfo: user:password -# host: localhost -# port: 3306 -# path: /pwc -# query: profile=true -# fragment: h1 -# -# My notes: sounds pretty trivial for regexes, if the lexical syntax of -# each component is defined clearly. Ok, reading the above wiki page -# doesn't make it 100% clear, but let's hack it up, that's probably good -# enough for most cases. - -use strict; -use warnings; -use Function::Parameters; -use Data::Dumper; - -# -# my %info = parse_url($url); -# Parse URL $url. Return a hash of the pieces. If parsing -# fails, return an empty hash. -# scheme:[//[userinfo@]host[:port]]path[?query][#fragment] -# eg. jdbc://user:password@localhost:3306/pwc?profile=true#h1 -# -# parses to: -# scheme: jdbc -# userinfo: user:password -# host: localhost -# port: 3306 -# path: /pwc -# query: profile=true -# fragment: h1 -# -fun parse_url( $url ) -{ - $url =~ s/^([^:]+):// || return (); - - my %hash; - $hash{scheme} = $1; - if( $url =~ s|^//|| ) - { - $hash{userinfo} = $1 if $url =~ s|^(.+)@||; - return () unless $url =~ s|^([\w\.]+)||; - $hash{host} = $1; - $hash{port} = $1 if $url =~ s/^:(\d+)//; - $hash{fragment} = $1 if $url =~ s/#([^#]+)$//; - $hash{query} = $1 if $url =~ s/\?([^\?]+)$//; - $hash{path} = $url; - } - return %hash; -} - - - -#die "Usage: ch-2.pl URL*\n"; -push @ARGV, 'jdbc://user:password@localhost:3306/pwc?profile=true#h1' - unless @ARGV; -foreach my $url (@ARGV) -{ - my %info = parse_url($url); - print "$url:\n". Dumper(\%info); -} -- cgit From 0dc25787d9d42c228565b54b8fc327e676c526d2 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 19 Aug 2019 04:46:28 +0100 Subject: - Added solutions by Duncan C. White. --- stats/pwc-current.json | 431 ++++++++++++------------- stats/pwc-language-breakdown-summary.json | 78 ++--- stats/pwc-language-breakdown.json | 176 +++++------ stats/pwc-leaders.json | 502 +++++++++++++++--------------- stats/pwc-summary-1-30.json | 42 +-- stats/pwc-summary-31-60.json | 102 +++--- stats/pwc-summary-61-90.json | 44 +-- stats/pwc-summary-91-120.json | 50 +-- stats/pwc-summary.json | 258 +++++++-------- 9 files changed, 849 insertions(+), 834 deletions(-) diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 192bdcf7bb..f5613ec855 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,10 +1,168 @@ { + "chart" : { + "type" : "column" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 + }, "subtitle" : { - "text" : "[Champions: 23] Last updated at 2019-08-18 23:31:02 GMT" + "text" : "[Champions: 24] Last updated at 2019-08-19 03:45:38 GMT" + }, + "series" : [ + { + "name" : "Perl Weekly Challenge - 021", + "colorByPoint" : 1, + "data" : [ + { + "y" : 5, + "drilldown" : "Adam Russell", + "name" : "Adam Russell" + }, + { + "y" : 2, + "name" : "Andrezgz", + "drilldown" : "Andrezgz" + }, + { + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer", + "y" : 3 + }, + { + "y" : 2, + "drilldown" : "Athanasius", + "name" : "Athanasius" + }, + { + "y" : 2, + "name" : "Daniel Mantovani", + "drilldown" : "Daniel Mantovani" + }, + { + "y" : 2, + "name" : "Dave Cross", + "drilldown" : "Dave Cross" + }, + { + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Duane Powell", + "name" : "Duane Powell" + }, + { + "y" : 2, + "drilldown" : "Duncan C. White", + "name" : "Duncan C. White" + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "y" : 2, + "name" : "Guillermo Ramos", + "drilldown" : "Guillermo Ramos" + }, + { + "y" : 3, + "drilldown" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas" + }, + { + "y" : 6, + "drilldown" : "Joelle Maslak", + "name" : "Joelle Maslak" + }, + { + "y" : 2, + "drilldown" : "Kevin Colyer", + "name" : "Kevin Colyer" + }, + { + "name" : "Kian-Meng Ang", + "drilldown" : "Kian-Meng Ang", + "y" : 1 + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch", + "y" : 2 + }, + { + "drilldown" : "Noud", + "name" : "Noud", + "y" : 2 + }, + { + "name" : "Ozzy", + "drilldown" : "Ozzy", + "y" : 1 + }, + { + "name" : "Randy Lauen", + "drilldown" : "Randy Lauen", + "y" : 4 + }, + { + "y" : 4, + "drilldown" : "Roger Bell West", + "name" : "Roger Bell West" + }, + { + "y" : 4, + "name" : "Ruben Westerberg", + "drilldown" : "Ruben Westerberg" + }, + { + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor", + "y" : 1 + }, + { + "name" : "Steven Wilson", + "drilldown" : "Steven Wilson", + "y" : 1 + } + ] + } + ], + "xAxis" : { + "type" : "category" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "tooltip" : { + "followPointer" : 1, + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
" }, "drilldown" : { "series" : [ { + "name" : "Adam Russell", + "id" : "Adam Russell", "data" : [ [ "Perl 5", @@ -18,19 +176,17 @@ "Blog", 2 ] - ], - "id" : "Adam Russell", - "name" : "Adam Russell" + ] }, { + "name" : "Andrezgz", + "id" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] - ], - "id" : "Andrezgz", - "name" : "Andrezgz" + ] }, { "data" : [ @@ -43,8 +199,8 @@ 1 ] ], - "id" : "Arne Sommer", - "name" : "Arne Sommer" + "name" : "Arne Sommer", + "id" : "Arne Sommer" }, { "data" : [ @@ -61,28 +217,26 @@ "name" : "Athanasius" }, { + "name" : "Daniel Mantovani", + "id" : "Daniel Mantovani", "data" : [ [ "Perl 5", 2 ] - ], - "name" : "Daniel Mantovani", - "id" : "Daniel Mantovani" + ] }, { - "name" : "Dave Cross", - "id" : "Dave Cross", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Dave Cross", + "name" : "Dave Cross" }, { - "id" : "Dave Jacoby", - "name" : "Dave Jacoby", "data" : [ [ "Perl 5", @@ -92,7 +246,9 @@ "Blog", 1 ] - ] + ], + "name" : "Dave Jacoby", + "id" : "Dave Jacoby" }, { "data" : [ @@ -105,14 +261,24 @@ "name" : "Duane Powell" }, { - "name" : "E. Choroba", - "id" : "E. Choroba", "data" : [ [ "Perl 5", 2 ] - ] + ], + "name" : "Duncan C. White", + "id" : "Duncan C. White" + }, + { + "data" : [ + [ + "Perl 5", + 2 + ] + ], + "id" : "E. Choroba", + "name" : "E. Choroba" }, { "id" : "Guillermo Ramos", @@ -125,8 +291,6 @@ ] }, { - "name" : "Jaldhar H. Vyas", - "id" : "Jaldhar H. Vyas", "data" : [ [ "Perl 5", @@ -136,11 +300,11 @@ "Perl 6", 1 ] - ] + ], + "name" : "Jaldhar H. Vyas", + "id" : "Jaldhar H. Vyas" }, { - "name" : "Joelle Maslak", - "id" : "Joelle Maslak", "data" : [ [ "Perl 5", @@ -150,31 +314,31 @@ "Perl 6", 3 ] - ] + ], + "id" : "Joelle Maslak", + "name" : "Joelle Maslak" }, { - "id" : "Kevin Colyer", - "name" : "Kevin Colyer", "data" : [ [ "Perl 6", 2 ] - ] + ], + "id" : "Kevin Colyer", + "name" : "Kevin Colyer" }, { + "id" : "Kian-Meng Ang", + "name" : "Kian-Meng Ang", "data" : [ [ "Perl 5", 1 ] - ], - "name" : "Kian-Meng Ang", - "id" : "Kian-Meng Ang" + ] }, { - "id" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld", "data" : [ [ "Perl 5", @@ -188,37 +352,39 @@ "Blog", 1 ] - ] + ], + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" }, { - "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch" }, { - "id" : "Noud", - "name" : "Noud", "data" : [ [ "Perl 6", 2 ] - ] + ], + "name" : "Noud", + "id" : "Noud" }, { - "id" : "Ozzy", - "name" : "Ozzy", "data" : [ [ "Perl 6", 1 ] - ] + ], + "name" : "Ozzy", + "id" : "Ozzy" }, { "data" : [ @@ -235,8 +401,6 @@ "name" : "Randy Lauen" }, { - "name" : "Roger Bell West", - "id" : "Roger Bell West", "data" : [ [ "Perl 5", @@ -250,9 +414,13 @@ "Blog", 1 ] - ] + ], + "id" : "Roger Bell West", + "name" : "Roger Bell West" }, { + "name" : "Ruben Westerberg", + "id" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -262,184 +430,31 @@ "Perl 6", 2 ] - ], - "name" : "Ruben Westerberg", - "id" : "Ruben Westerberg" + ] }, { - "name" : "Simon Proctor", - "id" : "Simon Proctor", "data" : [ [ "Perl 6", 1 ] - ] + ], + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { - "name" : "Steven Wilson", - "id" : "Steven Wilson", "data" : [ [ "Perl 5", 1 ] - ] + ], + "name" : "Steven Wilson", + "id" : "Steven Wilson" } ] }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "title" : { "text" : "Perl Weekly Challenge - 021" - }, - "series" : [ - { - "data" : [ - { - "drilldown" : "Adam Russell", - "name" : "Adam Russell", - "y" : 5 - }, - { - "y" : 2, - "name" : "Andrezgz", - "drilldown" : "Andrezgz" - }, - { - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer", - "y" : 3 - }, - { - "y" : 2, - "name" : "Athanasius", - "drilldown" : "Athanasius" - }, - { - "y" : 2, - "name" : "Daniel Mantovani", - "drilldown" : "Daniel Mantovani" - }, - { - "drilldown" : "Dave Cross", - "y" : 2, - "name" : "Dave Cross" - }, - { - "y" : 2, - "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby" - }, - { - "y" : 2, - "name" : "Duane Powell", - "drilldown" : "Duane Powell" - }, - { - "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "drilldown" : "Guillermo Ramos", - "y" : 2, - "name" : "Guillermo Ramos" - }, - { - "name" : "Jaldhar H. Vyas", - "y" : 3, - "drilldown" : "Jaldhar H. Vyas" - }, - { - "y" : 6, - "name" : "Joelle Maslak", - "drilldown" : "Joelle Maslak" - }, - { - "y" : 2, - "name" : "Kevin Colyer", - "drilldown" : "Kevin Colyer" - }, - { - "y" : 1, - "name" : "Kian-Meng Ang", - "drilldown" : "Kian-Meng Ang" - }, - { - "name" : "Laurent Rosenfeld", - "y" : 5, - "drilldown" : "Laurent Rosenfeld" - }, - { - "drilldown" : "Lubos Kolouch", - "name" : "Lubos Kolouch", - "y" : 2 - }, - { - "drilldown" : "Noud", - "name" : "Noud", - "y" : 2 - }, - { - "name" : "Ozzy", - "y" : 1, - "drilldown" : "Ozzy" - }, - { - "name" : "Randy Lauen", - "y" : 4, - "drilldown" : "Randy Lauen" - }, - { - "name" : "Roger Bell West", - "y" : 4, - "drilldown" : "Roger Bell West" - }, - { - "y" : 4, - "name" : "Ruben Westerberg", - "drilldown" : "Ruben Westerberg" - }, - { - "drilldown" : "Simon Proctor", - "y" : 1, - "name" : "Simon Proctor" - }, - { - "drilldown" : "Steven Wilson", - "y" : 1, - "name" : "Steven Wilson" - } - ], - "name" : "Perl Weekly Challenge - 021", - "colorByPoint" : 1 - } - ], - "legend" : { - "enabled" : 0 - }, - "xAxis" : { - "type" : "category" - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 27cc48885d..cef494759b 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,28 +1,31 @@ { - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, "subtitle" : { - "text" : "Last updated at 2019-08-18 23:31:20 GMT" + "text" : "Last updated at 2019-08-19 03:46:16 GMT" }, - "legend" : { - "enabled" : "false" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions - 2019" + }, + "chart" : { + "type" : "column" }, "series" : [ { "name" : "Contributions", - "dataLabels" : { - "align" : "right", - "rotation" : -90, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "y" : 10, - "format" : "{point.y:.0f}", - "color" : "#FFFFFF", - "enabled" : "true" - }, "data" : [ [ "Blog", @@ -30,34 +33,31 @@ ], [ "Perl 5", - 881 + 883 ], [ "Perl 6", 525 ] - ] + ], + "dataLabels" : { + "align" : "right", + "rotation" : -90, + "color" : "#FFFFFF", + "format" : "{point.y:.0f}", + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "enabled" : "true", + "y" : 10 + } } ], - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions - 2019" + "legend" : { + "enabled" : "false" }, - "chart" : { - "type" : "column" + "tooltip" : { + "pointFormat" : "{point.y:.0f}" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 83cd74b0d9..d885b940bc 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -2,26 +2,6 @@ "xAxis" : { "type" : "category" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "chart" : { - "type" : "column" - }, "drilldown" : { "series" : [ { @@ -61,8 +41,6 @@ ] }, { - "id" : "003", - "name" : "003", "data" : [ [ "Perl 5", @@ -76,11 +54,11 @@ "Blog", 8 ] - ] + ], + "name" : "003", + "id" : "003" }, { - "name" : "004", - "id" : "004", "data" : [ [ "Perl 5", @@ -94,7 +72,9 @@ "Blog", 9 ] - ] + ], + "name" : "004", + "id" : "004" }, { "data" : [ @@ -111,10 +91,12 @@ 11 ] ], - "name" : "005", - "id" : "005" + "id" : "005", + "name" : "005" }, { + "name" : "006", + "id" : "006", "data" : [ [ "Perl 5", @@ -128,9 +110,7 @@ "Blog", 6 ] - ], - "name" : "006", - "id" : "006" + ] }, { "data" : [ @@ -151,6 +131,8 @@ "name" : "007" }, { + "id" : "008", + "name" : "008", "data" : [ [ "Perl 5", @@ -164,13 +146,9 @@ "Blog", 9 ] - ], - "id" : "008", - "name" : "008" + ] }, { - "name" : "009", - "id" : "009", "data" : [ [ "Perl 5", @@ -184,11 +162,13 @@ "Blog", 11 ] - ] + ], + "id" : "009", + "name" : "009" }, { - "id" : "010", "name" : "010", + "id" : "010", "data" : [ [ "Perl 5", @@ -219,12 +199,10 @@ 8 ] ], - "id" : "011", - "name" : "011" + "name" : "011", + "id" : "011" }, { - "name" : "012", - "id" : "012", "data" : [ [ "Perl 5", @@ -238,7 +216,9 @@ "Blog", 9 ] - ] + ], + "id" : "012", + "name" : "012" }, { "id" : "013", @@ -273,12 +253,12 @@ 13 ] ], - "name" : "014", - "id" : "014" + "id" : "014", + "name" : "014" }, { - "id" : "015", "name" : "015", + "id" : "015", "data" : [ [ "Perl 5", @@ -313,6 +293,8 @@ ] }, { + "id" : "017", + "name" : "017", "data" : [ [ "Perl 5", @@ -326,13 +308,11 @@ "Blog", 10 ] - ], - "id" : "017", - "name" : "017" + ] }, { - "id" : "018", "name" : "018", + "id" : "018", "data" : [ [ "Perl 5", @@ -367,8 +347,8 @@ ] }, { - "name" : "020", "id" : "020", + "name" : "020", "data" : [ [ "Perl 5", @@ -390,7 +370,7 @@ "data" : [ [ "Perl 5", - 33 + 35 ], [ "Perl 6", @@ -404,9 +384,6 @@ } ] }, - "legend" : { - "enabled" : "false" - }, "series" : [ { "data" : [ @@ -416,14 +393,14 @@ "drilldown" : "001" }, { - "y" : 104, "name" : "#002", - "drilldown" : "002" + "drilldown" : "002", + "y" : 104 }, { - "y" : 66, "drilldown" : "003", - "name" : "#003" + "name" : "#003", + "y" : 66 }, { "y" : 84, @@ -431,19 +408,19 @@ "name" : "#004" }, { - "y" : 66, + "name" : "#005", "drilldown" : "005", - "name" : "#005" + "y" : 66 }, { - "y" : 47, "name" : "#006", - "drilldown" : "006" + "drilldown" : "006", + "y" : 47 }, { - "y" : 54, "drilldown" : "007", - "name" : "#007" + "name" : "#007", + "y" : 54 }, { "name" : "#008", @@ -457,13 +434,13 @@ }, { "y" : 58, - "name" : "#010", - "drilldown" : "010" + "drilldown" : "010", + "name" : "#010" }, { "y" : 77, - "name" : "#011", - "drilldown" : "011" + "drilldown" : "011", + "name" : "#011" }, { "y" : 81, @@ -481,51 +458,74 @@ "drilldown" : "014" }, { - "y" : 90, + "drilldown" : "015", "name" : "#015", - "drilldown" : "015" + "y" : 90 }, { - "drilldown" : "016", + "y" : 64, "name" : "#016", - "y" : 64 + "drilldown" : "016" }, { - "drilldown" : "017", + "y" : 77, "name" : "#017", - "y" : 77 + "drilldown" : "017" }, { - "name" : "#018", + "y" : 73, "drilldown" : "018", - "y" : 73 + "name" : "#018" }, { - "drilldown" : "019", + "y" : 92, "name" : "#019", - "y" : 92 + "drilldown" : "019" }, { - "drilldown" : "020", "name" : "#020", + "drilldown" : "020", "y" : 89 }, { + "y" : 62, "drilldown" : "021", - "name" : "#021", - "y" : 60 + "name" : "#021" } ], - "colorByPoint" : "true", - "name" : "Perl Weekly Challenge Languages" + "name" : "Perl Weekly Challenge Languages", + "colorByPoint" : "true" } ], - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-08-18 23:31:20 GMT" + "legend" : { + "enabled" : "false" }, "tooltip" : { + "followPointer" : "true", "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "headerFormat" : "", - "followPointer" : "true" + "headerFormat" : "" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-08-19 03:46:16 GMT" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } } } diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index eafe4264ed..7bff2b332c 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -1,85 +1,97 @@ { - "xAxis" : { - "type" : "category" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-08-18 23:31:18 GMT" - }, "chart" : { "type" : "column" }, + "tooltip" : { + "followPointer" : "true", + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "yAxis" : { + "title" : { + "text" : "Total Score" + } + }, "drilldown" : { "series" : [ { - "name" : "Joelle Maslak", - "id" : "Joelle Maslak", "data" : [ [ - "Perl 5", + "Perl 6", 55 ], [ - "Perl 6", + "Perl 5", 55 ], [ "Blog", 4 ] - ] + ], + "id" : "Joelle Maslak", + "name" : "Joelle Maslak" }, { + "name" : "Laurent Rosenfeld", "id" : "Laurent Rosenfeld", "data" : [ - [ - "Blog", - 26 - ], [ "Perl 5", 42 ], + [ + "Blog", + 26 + ], [ "Perl 6", 41 ] - ], - "name" : "Laurent Rosenfeld" + ] }, { - "name" : "Jaldhar H. Vyas", - "id" : "Jaldhar H. Vyas", "data" : [ - [ - "Perl 5", - 42 - ], [ "Perl 6", 40 ], + [ + "Perl 5", + 42 + ], [ "Blog", 7 ] - ] + ], + "id" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas" }, { "name" : "Ruben Westerberg", "id" : "Ruben Westerberg", "data" : [ [ - "Perl 6", + "Perl 5", 39 ], [ - "Perl 5", + "Perl 6", 39 ] ] }, { - "name" : "Adam Russell", "data" : [ [ "Blog", @@ -94,39 +106,40 @@ 3 ] ], - "id" : "Adam Russell" + "id" : "Adam Russell", + "name" : "Adam Russell" }, { - "id" : "Athanasius", "data" : [ [ "Blog", 3 ], - [ - "Perl 6", - 20 - ], [ "Perl 5", 44 + ], + [ + "Perl 6", + 20 ] ], + "id" : "Athanasius", "name" : "Athanasius" }, { - "name" : "Arne Sommer", + "id" : "Arne Sommer", "data" : [ - [ - "Blog", - 20 - ], [ "Perl 6", 39 + ], + [ + "Blog", + 20 ] ], - "id" : "Arne Sommer" + "name" : "Arne Sommer" }, { "id" : "E. Choroba", @@ -157,12 +170,9 @@ "name" : "Francis Whittle" }, { + "name" : "Dave Jacoby", "id" : "Dave Jacoby", "data" : [ - [ - "Blog", - 18 - ], [ "Perl 6", 1 @@ -170,41 +180,44 @@ [ "Perl 5", 26 + ], + [ + "Blog", + 18 ] - ], - "name" : "Dave Jacoby" + ] }, { - "id" : "Kian-Meng Ang", + "name" : "Kian-Meng Ang", "data" : [ - [ - "Perl 5", - 34 - ], [ "Blog", 11 + ], + [ + "Perl 5", + 34 ] ], - "name" : "Kian-Meng Ang" + "id" : "Kian-Meng Ang" }, { + "name" : "Simon Proctor", + "id" : "Simon Proctor", "data" : [ - [ - "Blog", - 7 - ], [ "Perl 6", 34 ], + [ + "Blog", + 7 + ], [ "Perl 5", 4 ] - ], - "id" : "Simon Proctor", - "name" : "Simon Proctor" + ] }, { "name" : "Andrezgz", @@ -217,38 +230,48 @@ ] }, { - "id" : "Feng Chang", "data" : [ - [ - "Perl 6", - 21 - ], [ "Perl 5", 19 + ], + [ + "Perl 6", + 21 ] ], + "id" : "Feng Chang", "name" : "Feng Chang" }, { + "id" : "Daniel Mantovani", "data" : [ [ "Perl 5", 36 ] ], - "id" : "Daniel Mantovani", "name" : "Daniel Mantovani" }, { "data" : [ [ - "Blog", - 4 - ], + "Perl 5", + 36 + ] + ], + "id" : "Duncan C. White", + "name" : "Duncan C. White" + }, + { + "data" : [ [ "Perl 5", 32 + ], + [ + "Blog", + 4 ] ], "id" : "Gustavo Chaves", @@ -268,53 +291,43 @@ ], "id" : "Yozen Hernandez" }, - { - "name" : "Duncan C. White", - "data" : [ - [ - "Perl 5", - 34 - ] - ], - "id" : "Duncan C. White" - }, { "name" : "Steven Wilson", "id" : "Steven Wilson", "data" : [ - [ - "Blog", - 3 - ], [ "Perl 5", 31 + ], + [ + "Blog", + 3 ] ] }, { - "name" : "Jo Christian Oterhals", "id" : "Jo Christian Oterhals", "data" : [ [ "Perl 6", 15 ], - [ - "Perl 5", - 6 - ], [ "Blog", 7 + ], + [ + "Perl 5", + 6 ] - ] + ], + "name" : "Jo Christian Oterhals" }, { - "name" : "Roger Bell West", + "id" : "Roger Bell West", "data" : [ [ - "Perl 6", + "Blog", 5 ], [ @@ -322,24 +335,23 @@ 16 ], [ - "Blog", + "Perl 6", 5 ] ], - "id" : "Roger Bell West" + "name" : "Roger Bell West" }, { "name" : "Guillermo Ramos", - "id" : "Guillermo Ramos", "data" : [ [ "Perl 5", 23 ] - ] + ], + "id" : "Guillermo Ramos" }, { - "id" : "Mark Senn", "data" : [ [ "Perl 6", @@ -350,34 +362,36 @@ 7 ] ], + "id" : "Mark Senn", "name" : "Mark Senn" }, { "data" : [ - [ - "Perl 6", - 10 - ], [ "Perl 5", 12 + ], + [ + "Perl 6", + 10 ] ], "id" : "Dr James A. Smith", "name" : "Dr James A. Smith" }, { + "name" : "Ozzy", "data" : [ [ "Perl 6", 22 ] ], - "id" : "Ozzy", - "name" : "Ozzy" + "id" : "Ozzy" }, { "name" : "Veesh Goldman", + "id" : "Veesh Goldman", "data" : [ [ "Blog", @@ -391,51 +405,50 @@ "Perl 6", 2 ] - ], - "id" : "Veesh Goldman" + ] }, { + "id" : "Kevin Colyer", "data" : [ [ "Perl 6", 19 ] ], - "id" : "Kevin Colyer", "name" : "Kevin Colyer" }, { + "name" : "Lubos Kolouch", "id" : "Lubos Kolouch", "data" : [ [ "Perl 5", 19 ] - ], - "name" : "Lubos Kolouch" + ] }, { - "id" : "Nick Logan", + "name" : "Nick Logan", "data" : [ [ - "Perl 6", + "Perl 5", 8 ], [ - "Perl 5", + "Perl 6", 8 ] ], - "name" : "Nick Logan" + "id" : "Nick Logan" }, { + "id" : "Noud", "data" : [ [ "Perl 6", 16 ] ], - "id" : "Noud", "name" : "Noud" }, { @@ -449,18 +462,18 @@ "name" : "Duane Powell" }, { - "name" : "Lars Balker", "id" : "Lars Balker", "data" : [ - [ - "Perl 6", - 4 - ], [ "Perl 5", 10 + ], + [ + "Perl 6", + 4 ] - ] + ], + "name" : "Lars Balker" }, { "name" : "Jaime Corchado", @@ -483,6 +496,7 @@ ] }, { + "id" : "Randy Lauen", "data" : [ [ "Perl 6", @@ -493,30 +507,30 @@ 2 ] ], - "id" : "Randy Lauen", "name" : "Randy Lauen" }, { - "name" : "Alicia Bielsa", + "id" : "Alicia Bielsa", "data" : [ [ "Perl 5", 11 ] ], - "id" : "Alicia Bielsa" + "name" : "Alicia Bielsa" }, { "name" : "Doug Schrag", + "id" : "Doug Schrag", "data" : [ [ "Perl 6", 10 ] - ], - "id" : "Doug Schrag" + ] }, { + "name" : "Neil Bowers", "data" : [ [ "Perl 5", @@ -527,11 +541,11 @@ 3 ] ], - "id" : "Neil Bowers", - "name" : "Neil Bowers" + "id" : "Neil Bowers" }, { "name" : "Dave Cross", + "id" : "Dave Cross", "data" : [ [ "Perl 5", @@ -541,46 +555,48 @@ "Blog", 2 ] - ], - "id" : "Dave Cross" + ] }, { - "name" : "Pete Houston", + "id" : "Pete Houston", "data" : [ [ "Perl 5", 8 ] ], - "id" : "Pete Houston" + "name" : "Pete Houston" }, { - "name" : "Robert Gratza", - "id" : "Robert Gratza", "data" : [ - [ - "Perl 6", - 6 - ], [ "Perl 5", 2 + ], + [ + "Perl 6", + 6 ] - ] + ], + "id" : "Robert Gratza", + "name" : "Robert Gratza" }, { - "name" : "John Barrett", "data" : [ [ "Perl 5", 7 ] ], - "id" : "John Barrett" + "id" : "John Barrett", + "name" : "John Barrett" }, { - "id" : "Khalid", "data" : [ + [ + "Perl 5", + 4 + ], [ "Blog", 1 @@ -588,12 +604,9 @@ [ "Perl 6", 2 - ], - [ - "Perl 5", - 4 ] ], + "id" : "Khalid", "name" : "Khalid" }, { @@ -617,28 +630,28 @@ "name" : "Aaron Sherman" }, { + "name" : "Donald Hunter", + "id" : "Donald Hunter", "data" : [ [ - "Perl 6", + "Blog", 3 ], [ - "Blog", + "Perl 6", 3 ] - ], - "id" : "Donald Hunter", - "name" : "Donald Hunter" + ] }, { + "name" : "Kivanc Yazan", + "id" : "Kivanc Yazan", "data" : [ [ "Perl 5", 6 ] - ], - "id" : "Kivanc Yazan", - "name" : "Kivanc Yazan" + ] }, { "name" : "Maxim Kolodyazhny", @@ -654,96 +667,87 @@ "name" : "Philippe Bruhat", "id" : "Philippe Bruhat", "data" : [ - [ - "Perl 5", - 4 - ], [ "Blog", 2 + ], + [ + "Perl 5", + 4 ] ] }, { + "name" : "Sergio Iglesias", "id" : "Sergio Iglesias", "data" : [ [ "Perl 5", 6 ] - ], - "name" : "Sergio Iglesias" + ] } ] }, + "title" : { + "text" : "Perl Weekly Challenge Leaders (TOP 50)" + }, "legend" : { "enabled" : "false" }, - "yAxis" : { - "title" : { - "text" : "Total Score" - } - }, - "title" : { - "text" : "Perl Weekly Challenge Leaders (TOP 50)" + "subtitle" : { + "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-08-19 03:46:11 GMT" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } + "xAxis" : { + "type" : "category" }, "series" : [ { - "name" : "Perl Weekly Challenge Leaders", "data" : [ { - "drilldown" : "Joelle Maslak", "name" : "#1: Joelle Maslak", + "drilldown" : "Joelle Maslak", "y" : 228 }, { - "drilldown" : "Laurent Rosenfeld", + "name" : "#2: Laurent Rosenfeld", "y" : 218, - "name" : "#2: Laurent Rosenfeld" + "drilldown" : "Laurent Rosenfeld" }, { - "y" : 178, "name" : "#3: Jaldhar H. Vyas", + "y" : 178, "drilldown" : "Jaldhar H. Vyas" }, { + "y" : 156, "drilldown" : "Ruben Westerberg", - "name" : "#4: Ruben Westerberg", - "y" : 156 + "name" : "#4: Ruben Westerberg" }, { "y" : 136, - "name" : "#5: Adam Russell", - "drilldown" : "Adam Russell" + "drilldown" : "Adam Russell", + "name" : "#5: Adam Russell" }, { "y" : 134, - "name" : "#6: Athanasius", - "drilldown" : "Athanasius" + "drilldown" : "Athanasius", + "name" : "#6: Athanasius" }, { + "name" : "#7: Arne Sommer", "drilldown" : "Arne Sommer", - "y" : 118, - "name" : "#7: Arne Sommer" + "y" : 118 }, { - "name" : "#8: E. Choroba", + "drilldown" : "E. Choroba", "y" : 102, - "drilldown" : "E. Choroba" + "name" : "#8: E. Choroba" }, { + "drilldown" : "Francis Whittle", "y" : 92, - "name" : "#9: Francis Whittle", - "drilldown" : "Francis Whittle" + "name" : "#9: Francis Whittle" }, { "name" : "#10: Dave Jacoby", @@ -756,53 +760,53 @@ "drilldown" : "Kian-Meng Ang" }, { - "y" : 90, "name" : "#12: Simon Proctor", + "y" : 90, "drilldown" : "Simon Proctor" }, { "y" : 80, - "name" : "#13: Andrezgz", - "drilldown" : "Andrezgz" + "drilldown" : "Andrezgz", + "name" : "#13: Andrezgz" }, { - "name" : "#14: Feng Chang", "y" : 80, - "drilldown" : "Feng Chang" + "drilldown" : "Feng Chang", + "name" : "#14: Feng Chang" }, { + "name" : "#15: Daniel Mantovani", "drilldown" : "Daniel Mantovani", + "y" : 72 + }, + { + "name" : "#16: Duncan C. White", "y" : 72, - "name" : "#15: Daniel Mantovani" + "drilldown" : "Duncan C. White" }, { + "name" : "#17: Gustavo Chaves", "y" : 72, - "name" : "#16: Gustavo Chaves", "drilldown" : "Gustavo Chaves" }, { + "name" : "#18: Yozen Hernandez", "y" : 70, - "name" : "#17: Yozen Hernandez", "drilldown" : "Yozen Hernandez" }, { "y" : 68, - "name" : "#18: Duncan C. White", - "drilldown" : "Duncan C. White" + "drilldown" : "Steven Wilson", + "name" : "#19: Steven Wilson" }, { - "y" : 68, - "name" : "#19: Steven Wilson", - "drilldown" : "Steven Wilson" - }, - { - "drilldown" : "Jo Christian Oterhals", "name" : "#20: Jo Christian Oterhals", + "drilldown" : "Jo Christian Oterhals", "y" : 56 }, { - "drilldown" : "Roger Bell West", "y" : 52, + "drilldown" : "Roger Bell West", "name" : "#21: Roger Bell West" }, { @@ -812,27 +816,27 @@ }, { "name" : "#23: Mark Senn", - "y" : 46, - "drilldown" : "Mark Senn" + "drilldown" : "Mark Senn", + "y" : 46 }, { "y" : 44, - "name" : "#24: Dr James A. Smith", - "drilldown" : "Dr James A. Smith" + "drilldown" : "Dr James A. Smith", + "name" : "#24: Dr James A. Smith" }, { "drilldown" : "Ozzy", - "name" : "#25: Ozzy", - "y" : 44 + "y" : 44, + "name" : "#25: Ozzy" }, { + "drilldown" : "Veesh Goldman", "y" : 42, - "name" : "#26: Veesh Goldman", - "drilldown" : "Veesh Goldman" + "name" : "#26: Veesh Goldman" }, { - "drilldown" : "Kevin Colyer", "name" : "#27: Kevin Colyer", + "drilldown" : "Kevin Colyer", "y" : 38 }, { @@ -841,24 +845,24 @@ "name" : "#28: Lubos Kolouch" }, { - "name" : "#29: Nick Logan", "y" : 32, - "drilldown" : "Nick Logan" + "drilldown" : "Nick Logan", + "name" : "#29: Nick Logan" }, { - "y" : 32, "name" : "#30: Noud", - "drilldown" : "Noud" + "drilldown" : "Noud", + "y" : 32 }, { - "name" : "#31: Duane Powell", + "drilldown" : "Duane Powell", "y" : 30, -