From abea03b9a914f932335c6a77dab404753b68e269 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 8 Dec 2019 02:49:45 +0000 Subject: - Added solutions by Duncan C. White. --- .../duncan-c-white/perl5/ch-1-in-postscript.ps | 355 -------- challenge-037/duncan-c-white/postscript/ch-1.ps | 355 ++++++++ stats/pwc-current.json | 181 +++-- stats/pwc-language-breakdown-summary.json | 44 +- stats/pwc-language-breakdown.json | 300 +++---- stats/pwc-leaders.json | 894 ++++++++++----------- stats/pwc-summary-1-30.json | 44 +- stats/pwc-summary-121-150.json | 100 +-- stats/pwc-summary-31-60.json | 36 +- stats/pwc-summary-61-90.json | 108 +-- stats/pwc-summary-91-120.json | 112 +-- stats/pwc-summary.json | 40 +- 12 files changed, 1292 insertions(+), 1277 deletions(-) delete mode 100644 challenge-037/duncan-c-white/perl5/ch-1-in-postscript.ps create mode 100644 challenge-037/duncan-c-white/postscript/ch-1.ps diff --git a/challenge-037/duncan-c-white/perl5/ch-1-in-postscript.ps b/challenge-037/duncan-c-white/perl5/ch-1-in-postscript.ps deleted file mode 100644 index ae7c894215..0000000000 --- a/challenge-037/duncan-c-white/perl5/ch-1-in-postscript.ps +++ /dev/null @@ -1,355 +0,0 @@ -%!PS-Adobe-3.0 -%%Pages: 1 -%%EndComments -% -% ch-1-in-postscript.ps: translated ch-1.pl into Postscript. -% -% Yes, the language mostly used for printer page layout, can be used as a -% full-blown programming language. However, you have to include functions -% to append strings and produce a variety of debugging messages down the -% page, before you start on the actual program logic. -% -% Debugging.... - -% const debuglm: left margin of debug messages -/debuglm 0.5 72 mul def - -% const debugtop: top of debug messages - 11 inches up. -/debugtop 11 72 mul def - -% const debugdown: how far to go down each line -/debugdown 20 def - - -% debugorigin(): -% move to debugging origin -/debugorigin -{ - debuglm debugtop moveto - (Debugging log:) show - newline -} bind def - - -% debugn( name ); -% display a single string $name on a debug line. -/debugn -{ - 30 0 rmoveto - show % show name - newline -} bind def - - -% debugnv( name, value ); -% display name and value on a debug line. -% keep this as it's so much simpler than debug() below -% and also debug() has commented out invocations to -% this throughout it:-) -/debugnv -{ - % initially: stack top: value, name - 30 0 rmoveto - exch % stack top: name, value - show % show name, stack top: value - (: ) show - 50 string cvs show % show convert_to_string(value) - newline -} bind def - - -% debug( array_of_pairs ); -% display a single message, combining every pair of items (name,value) -% in as name: value, and comma-separating them. -% eg debug( [(x) x (y) y (z) z] ) produces -% "x: value_of_x, y: value_of_y, z: value_of_z" -% (whether or not the values are strings or integers) -/debug -{ - 6 dict begin % next N items defined are in a local dictionary - /array exch def % localize parameter name, removing it from stack - /len 0 def % local variable - length of array - /pos 0 def % local variable - position in array - /name () def % local variable - an array element - /value () def % local variable - next array element - /first 1 def % local variable - first time round loop? - - 30 0 rmoveto - - /len array length def - - %Perl for pos = 0 to $#array step 2 - 0 2 len 1 sub - { - /pos exch def - - %Perl $name = $array[$pos]; - /name array pos get def - - %Perl $value = $array[$pos+1]; - /value array pos 1 add get def - - %Perl print "," unless first - first 0 eq { - (, ) show - } if - - %Perl print "$name: $value"; - name 50 string cvs show - (: ) show - value 50 string cvs show - - %Perl $first=0; - /first 0 def - } for - - newline - - end % local dictionary destroyed here - -} def - - -% newline(); -% go to left margin of next line for debug messages -/newline -{ - currentpoint debugdown sub % decrement Y pos - exch pop % drop old X - debuglm exch % form (debuglm,Y) on stack - moveto % go there! -} def - - -% result = append( string1, string2 ) -% Concatenates two strings together. Some languages -% already know how to do stuff like this!!! -/append -{ - % Initial stack: s1 s2 <-- top of stack - 2 copy % s1 s2 s1 s2 - length % s1 s2 s1 len(s2) - exch % s1 s2 len(s2) s1 - length add % s1 s2 len(s1)+len(s2) - string dup % s1 s2 r r - 4 2 roll % r r s1 s2 - 2 index % r r s1 s2 r - 0 % r r s1 s2 r 0 - 3 index % r r s1 s2 r 0 s1 - putinterval % strcpy( r+0, s1 ) - % r r s1 s2 - exch % r r s2 s1 - length % r r s2 len(s1) - exch % r r len(s1) s2 - putinterval % strcpy( r+len(s1), s2 ) - % return r -} bind def - - -% isleap = isleapyear( y ); -% Return 1 if year $y is a leap year; 0 if not. -% -%Perl code: return 0 if y % 4 != 0; -%Perl code: return 1 if y % 100 != 0; -%Perl code: return 0 if y % 400 != 0; -%Perl code: return 1; -% -/isleapyear -{ - 2 dict begin % next N items defined are in a local dictionary - /y exch def % localize parameter name, removing it from stack - /isleap 0 def % local variable - the return value, boolean - - %[ (debug: is leap year y) y (isleap) isleap ] debug - - % if y%4 == 0 then - y 4 mod 0 eq { % 1st if..then - % if y%100 != 0 then isleap=1.. - y 100 mod 0 ne { - /isleap 1 def - % else [y%100 == 0] - } { - % isleap=1 if y%400 == 0 - y 400 mod 0 eq { - /isleap 1 def - } if - } ifelse - } if - - isleap % leave result on stack - - end % local dictionary destroyed here -} def - - -% dow = dayofweek1stjanyear( year ); -% Find and return the day-of-the-week -% (0=Monday, 1=Tuesday.. 4=Friday, 5=Saturday, 6=Sunday) -% of 1st Jan $year (only valid for year>=1900). -% -/dayofweek1stjanyear -{ - 4 dict begin % next N items defined are in a local dictionary - /year exch def % localize parameter name, removing it from stack - /dow 0 def % local variable: day-of-week, return value - % why initial value 0? 1st Jan 1900 was Monday==0.. - /y 0 def % local variable: for loop variable - /days 0 def % local variable: how many days to add (2 in leap years, 1 otherwise) - - % year-- - year 1 sub /year exch def - - % foreach my $y (1900..$year) - % { - 1900 1 year - { - /y exch def -% (y) y debugnv - - /days y isleapyear 1 add def -% (days) days debugnv - -% %print "$y: advance $days days\n"; -% (y:) y 50 string cvs append (: advance ) append -% days 50 string cvs append ( days) debugnv - - % dow = (dow + days) % 7; - dow days add 7 mod /dow exch def - -% % print "dow=$dow" -% (dow) dow debugnv - % } - } for - - dow % leave value on stack - - end % local dictionary destroyed here -} def - - -% -% mdays = daysinmonth( m, isleap ); -% Return the number of days in month $m (0..11), adjusting -% number of days in February is $isleap is true. -% -/daysinmonth -{ - 3 dict begin % next N items defined are in a local dictionary - /isleap exch def% parameter - boolean, are we in a leap year? - /m exch def % parameter - month number 0..11 - /d 0 def % local variable - - %Perl my @d = (31,28,31,30,31,30,31,31,30,31,30,31); - /d [31 28 31 30 31 30 31 31 30 31 30 31] def - - %Perl $d[1]=29 if $isleap; - isleap 1 eq { - d 1 29 put - } if - - %Perl return $d[$m]; - d m get - - end % local dictionary destroyed here -} def - - -% showweekdays( $y ); -% Show each month in year $y and the number of week days (Monday-Friday) -% in that month. -% -/showweekdays -{ - 8 dict begin % next N items defined are in a local dictionary - /y exch def % parameter - the year - /isleap 0 def % local variable - boolean, is $y a leap year? - /dow 0 def % local variable - day-of-week: 0..6 - /m 0 def % local variable - month: 0..11 - /mdays 0 def % local variable - number of days in month $m - /monthname 0 def% local variable - name of month $m - /weekdays 0 def % local variable - number of week days in month $m - /d 0 def % local variable - day number 1..$mdays - - %Perl my @monthname = qw(Jan Feb Mar Apr May Jun Jul - %Perl Aug Sep Oct Nov Dec); - /monthname [(Jan) (Feb) (Mar) (Apr) (May) (Jun) (Jul) - (Aug) (Sep) (Oct) (Nov) (Dec)] def - - %Perl my $isleap = isleapyear( $y ); - /isleap y isleapyear def - - %#Perl print "isleap[ $y ]: $isleap\n"; - %(isleap[ ) y 50 string cvs append ( ] ) append isleap debugnv - - %Perl my $dow = dayofweek1stjanyear( $y ); - /dow y dayofweek1stjanyear def - - %#Perl print "day-of-week[ 1st Jan $year ]: $dow\n"; - %(day-of-week[ 1st Jan ) y 50 string cvs append ( ] ) append dow debugnv - - %Perl foreach my $m (0..11) - %Perl { - 0 1 11 - { - /m exch def - - %Perl my $mdays = daysinmonth( $m, $isleap ); - /mdays m isleap daysinmonth def - - %Perl my $mname = monthname[m]; - /mname monthname m get def - %(monthname) mname debugnv - - %#Perl print "days in month[$mname, " $y]: $mdays\n"; - %(days in month[) mname append - %( ) append - %y 50 string cvs append - %(]) append - %mdays debugnv - - %Perl my $weekdays = 0; - /weekdays 0 def - - %Perl foreach my $d (1..$mdays) - %Perl { - 1 1 mdays - { - /d exch def - %[ (d) d (dow) dow (weekdays) weekdays ] debug - - %Perl $weekdays++ if $dow < 5; - dow 5 lt { - weekdays 1 add /weekdays exch def - } if - - % dow = (dow + 1) % 7; - dow 1 add 7 mod /dow exch def - - %Perl } - } for - - %Perl print "$mname $y: $weekdays weekdays\n"; - mname ( ) append - y 50 string cvs append - (: ) append - weekdays 50 string cvs append - ( weekdays) append - debugn - - %Perl } - } for - - end % local dictionary destroyed here -} def - - -%%Page: 1 1 -%%PageOrientation: Portrait - -/Helvetica-Bold findfont 13 scalefont setfont - -debugorigin - -2019 showweekdays - -showpage diff --git a/challenge-037/duncan-c-white/postscript/ch-1.ps b/challenge-037/duncan-c-white/postscript/ch-1.ps new file mode 100644 index 0000000000..ae7c894215 --- /dev/null +++ b/challenge-037/duncan-c-white/postscript/ch-1.ps @@ -0,0 +1,355 @@ +%!PS-Adobe-3.0 +%%Pages: 1 +%%EndComments +% +% ch-1-in-postscript.ps: translated ch-1.pl into Postscript. +% +% Yes, the language mostly used for printer page layout, can be used as a +% full-blown programming language. However, you have to include functions +% to append strings and produce a variety of debugging messages down the +% page, before you start on the actual program logic. +% +% Debugging.... + +% const debuglm: left margin of debug messages +/debuglm 0.5 72 mul def + +% const debugtop: top of debug messages - 11 inches up. +/debugtop 11 72 mul def + +% const debugdown: how far to go down each line +/debugdown 20 def + + +% debugorigin(): +% move to debugging origin +/debugorigin +{ + debuglm debugtop moveto + (Debugging log:) show + newline +} bind def + + +% debugn( name ); +% display a single string $name on a debug line. +/debugn +{ + 30 0 rmoveto + show % show name + newline +} bind def + + +% debugnv( name, value ); +% display name and value on a debug line. +% keep this as it's so much simpler than debug() below +% and also debug() has commented out invocations to +% this throughout it:-) +/debugnv +{ + % initially: stack top: value, name + 30 0 rmoveto + exch % stack top: name, value + show % show name, stack top: value + (: ) show + 50 string cvs show % show convert_to_string(value) + newline +} bind def + + +% debug( array_of_pairs ); +% display a single message, combining every pair of items (name,value) +% in as name: value, and comma-separating them. +% eg debug( [(x) x (y) y (z) z] ) produces +% "x: value_of_x, y: value_of_y, z: value_of_z" +% (whether or not the values are strings or integers) +/debug +{ + 6 dict begin % next N items defined are in a local dictionary + /array exch def % localize parameter name, removing it from stack + /len 0 def % local variable - length of array + /pos 0 def % local variable - position in array + /name () def % local variable - an array element + /value () def % local variable - next array element + /first 1 def % local variable - first time round loop? + + 30 0 rmoveto + + /len array length def + + %Perl for pos = 0 to $#array step 2 + 0 2 len 1 sub + { + /pos exch def + + %Perl $name = $array[$pos]; + /name array pos get def + + %Perl $value = $array[$pos+1]; + /value array pos 1 add get def + + %Perl print "," unless first + first 0 eq { + (, ) show + } if + + %Perl print "$name: $value"; + name 50 string cvs show + (: ) show + value 50 string cvs show + + %Perl $first=0; + /first 0 def + } for + + newline + + end % local dictionary destroyed here + +} def + + +% newline(); +% go to left margin of next line for debug messages +/newline +{ + currentpoint debugdown sub % decrement Y pos + exch pop % drop old X + debuglm exch % form (debuglm,Y) on stack + moveto % go there! +} def + + +% result = append( string1, string2 ) +% Concatenates two strings together. Some languages +% already know how to do stuff like this!!! +/append +{ + % Initial stack: s1 s2 <-- top of stack + 2 copy % s1 s2 s1 s2 + length % s1 s2 s1 len(s2) + exch % s1 s2 len(s2) s1 + length add % s1 s2 len(s1)+len(s2) + string dup % s1 s2 r r + 4 2 roll % r r s1 s2 + 2 index % r r s1 s2 r + 0 % r r s1 s2 r 0 + 3 index % r r s1 s2 r 0 s1 + putinterval % strcpy( r+0, s1 ) + % r r s1 s2 + exch % r r s2 s1 + length % r r s2 len(s1) + exch % r r len(s1) s2 + putinterval % strcpy( r+len(s1), s2 ) + % return r +} bind def + + +% isleap = isleapyear( y ); +% Return 1 if year $y is a leap year; 0 if not. +% +%Perl code: return 0 if y % 4 != 0; +%Perl code: return 1 if y % 100 != 0; +%Perl code: return 0 if y % 400 != 0; +%Perl code: return 1; +% +/isleapyear +{ + 2 dict begin % next N items defined are in a local dictionary + /y exch def % localize parameter name, removing it from stack + /isleap 0 def % local variable - the return value, boolean + + %[ (debug: is leap year y) y (isleap) isleap ] debug + + % if y%4 == 0 then + y 4 mod 0 eq { % 1st if..then + % if y%100 != 0 then isleap=1.. + y 100 mod 0 ne { + /isleap 1 def + % else [y%100 == 0] + } { + % isleap=1 if y%400 == 0 + y 400 mod 0 eq { + /isleap 1 def + } if + } ifelse + } if + + isleap % leave result on stack + + end % local dictionary destroyed here +} def + + +% dow = dayofweek1stjanyear( year ); +% Find and return the day-of-the-week +% (0=Monday, 1=Tuesday.. 4=Friday, 5=Saturday, 6=Sunday) +% of 1st Jan $year (only valid for year>=1900). +% +/dayofweek1stjanyear +{ + 4 dict begin % next N items defined are in a local dictionary + /year exch def % localize parameter name, removing it from stack + /dow 0 def % local variable: day-of-week, return value + % why initial value 0? 1st Jan 1900 was Monday==0.. + /y 0 def % local variable: for loop variable + /days 0 def % local variable: how many days to add (2 in leap years, 1 otherwise) + + % year-- + year 1 sub /year exch def + + % foreach my $y (1900..$year) + % { + 1900 1 year + { + /y exch def +% (y) y debugnv + + /days y isleapyear 1 add def +% (days) days debugnv + +% %print "$y: advance $days days\n"; +% (y:) y 50 string cvs append (: advance ) append +% days 50 string cvs append ( days) debugnv + + % dow = (dow + days) % 7; + dow days add 7 mod /dow exch def + +% % print "dow=$dow" +% (dow) dow debugnv + % } + } for + + dow % leave value on stack + + end % local dictionary destroyed here +} def + + +% +% mdays = daysinmonth( m, isleap ); +% Return the number of days in month $m (0..11), adjusting +% number of days in February is $isleap is true. +% +/daysinmonth +{ + 3 dict begin % next N items defined are in a local dictionary + /isleap exch def% parameter - boolean, are we in a leap year? + /m exch def % parameter - month number 0..11 + /d 0 def % local variable + + %Perl my @d = (31,28,31,30,31,30,31,31,30,31,30,31); + /d [31 28 31 30 31 30 31 31 30 31 30 31] def + + %Perl $d[1]=29 if $isleap; + isleap 1 eq { + d 1 29 put + } if + + %Perl return $d[$m]; + d m get + + end % local dictionary destroyed here +} def + + +% showweekdays( $y ); +% Show each month in year $y and the number of week days (Monday-Friday) +% in that month. +% +/showweekdays +{ + 8 dict begin % next N items defined are in a local dictionary + /y exch def % parameter - the year + /isleap 0 def % local variable - boolean, is $y a leap year? + /dow 0 def % local variable - day-of-week: 0..6 + /m 0 def % local variable - month: 0..11 + /mdays 0 def % local variable - number of days in month $m + /monthname 0 def% local variable - name of month $m + /weekdays 0 def % local variable - number of week days in month $m + /d 0 def % local variable - day number 1..$mdays + + %Perl my @monthname = qw(Jan Feb Mar Apr May Jun Jul + %Perl Aug Sep Oct Nov Dec); + /monthname [(Jan) (Feb) (Mar) (Apr) (May) (Jun) (Jul) + (Aug) (Sep) (Oct) (Nov) (Dec)] def + + %Perl my $isleap = isleapyear( $y ); + /isleap y isleapyear def + + %#Perl print "isleap[ $y ]: $isleap\n"; + %(isleap[ ) y 50 string cvs append ( ] ) append isleap debugnv + + %Perl my $dow = dayofweek1stjanyear( $y ); + /dow y dayofweek1stjanyear def + + %#Perl print "day-of-week[ 1st Jan $year ]: $dow\n"; + %(day-of-week[ 1st Jan ) y 50 string cvs append ( ] ) append dow debugnv + + %Perl foreach my $m (0..11) + %Perl { + 0 1 11 + { + /m exch def + + %Perl my $mdays = daysinmonth( $m, $isleap ); + /mdays m isleap daysinmonth def + + %Perl my $mname = monthname[m]; + /mname monthname m get def + %(monthname) mname debugnv + + %#Perl print "days in month[$mname, " $y]: $mdays\n"; + %(days in month[) mname append + %( ) append + %y 50 string cvs append + %(]) append + %mdays debugnv + + %Perl my $weekdays = 0; + /weekdays 0 def + + %Perl foreach my $d (1..$mdays) + %Perl { + 1 1 mdays + { + /d exch def + %[ (d) d (dow) dow (weekdays) weekdays ] debug + + %Perl $weekdays++ if $dow < 5; + dow 5 lt { + weekdays 1 add /weekdays exch def + } if + + % dow = (dow + 1) % 7; + dow 1 add 7 mod /dow exch def + + %Perl } + } for + + %Perl print "$mname $y: $weekdays weekdays\n"; + mname ( ) append + y 50 string cvs append + (: ) append + weekdays 50 string cvs append + ( weekdays) append + debugn + + %Perl } + } for + + end % local dictionary destroyed here +} def + + +%%Page: 1 1 +%%PageOrientation: Portrait + +/Helvetica-Bold findfont 13 scalefont setfont + +debugorigin + +2019 showweekdays + +showpage diff --git a/stats/pwc-current.json b/stats/pwc-current.json index dad9dd7c33..9d30e2677a 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,44 +1,44 @@ { - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" + "legend" : { + "enabled" : 0 + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "plotOptions" : { "series" : { "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" + "format" : "{point.y}", + "enabled" : 1 }, "borderWidth" : 0 } }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "xAxis" : { "type" : "category" }, - "title" : { - "text" : "Perl Weekly Challenge - 037" + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "[Champions: 17] Last updated at 2019-12-08 02:49:12 GMT" }, "drilldown" : { "series" : [ { + "name" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] ], - "id" : "Andrezgz", - "name" : "Andrezgz" + "id" : "Andrezgz" }, { "id" : "Daniel Mita", - "name" : "Daniel Mita", "data" : [ [ "Perl 5", @@ -48,11 +48,10 @@ "Perl 6", 2 ] - ] + ], + "name" : "Daniel Mita" }, { - "id" : "Dave Jacoby", - "name" : "Dave Jacoby", "data" : [ [ "Perl 5", @@ -62,30 +61,41 @@ "Blog", 1 ] - ] + ], + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { "name" : "Duane Powell", - "id" : "Duane Powell", "data" : [ [ "Perl 5", 1 ] - ] + ], + "id" : "Duane Powell" + }, + { + "name" : "Duncan C. White", + "data" : [ + [ + "Perl 5", + 2 + ] + ], + "id" : "Duncan C. White" }, { + "id" : "E. Choroba", "data" : [ [ "Perl 5", 2 ] ], - "name" : "E. Choroba", - "id" : "E. Choroba" + "name" : "E. Choroba" }, { - "id" : "Javier Luque", "name" : "Javier Luque", "data" : [ [ @@ -100,49 +110,51 @@ "Blog", 1 ] - ] + ], + "id" : "Javier Luque" }, { - "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch" }, { - "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { + "name" : "Pete Houston", + "id" : "Pete Houston", "data" : [ [ "Perl 5", 1 ] - ], - "name" : "Pete Houston", - "id" : "Pete Houston" + ] }, { - "id" : "Richard Nuttall", "name" : "Richard Nuttall", "data" : [ [ "Perl 6", 2 ] - ] + ], + "id" : "Richard Nuttall" }, { + "name" : "Roger Bell West", "data" : [ [ "Perl 5", @@ -153,8 +165,7 @@ 2 ] ], - "id" : "Roger Bell West", - "name" : "Roger Bell West" + "id" : "Roger Bell West" }, { "name" : "Ryan Thompson", @@ -167,18 +178,18 @@ ] }, { - "id" : "Saif Ahmed", "name" : "Saif Ahmed", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Saif Ahmed" }, { - "id" : "Simon Proctor", "name" : "Simon Proctor", + "id" : "Simon Proctor", "data" : [ [ "Perl 6", @@ -187,122 +198,126 @@ ] }, { + "id" : "Steven Wilson", "data" : [ [ "Perl 5", 1 ] ], - "name" : "Steven Wilson", - "id" : "Steven Wilson" + "name" : "Steven Wilson" }, { + "name" : "Ulrich Rieke", "data" : [ [ "Perl 6", 2 ] ], - "name" : "Ulrich Rieke", "id" : "Ulrich Rieke" } ] }, - "subtitle" : { - "text" : "[Champions: 16] Last updated at 2019-12-08 02:18:10 GMT" - }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : 0 + "title" : { + "text" : "Perl Weekly Challenge - 037" }, "series" : [ { + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 037", "data" : [ { - "drilldown" : "Andrezgz", "name" : "Andrezgz", + "drilldown" : "Andrezgz", "y" : 2 }, { - "drilldown" : "Daniel Mita", "name" : "Daniel Mita", + "drilldown" : "Daniel Mita", "y" : 3 }, { - "drilldown" : "Dave Jacoby", "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", "y" : 3 }, { "y" : 1, - "name" : "Duane Powell", - "drilldown" : "Duane Powell" + "drilldown" : "Duane Powell", + "name" : "Duane Powell" }, { - "name" : "E. Choroba", "y" : 2, - "drilldown" : "E. Choroba" + "drilldown" : "Duncan C. White", + "name" : "Duncan C. White" + }, + { + "name" : "E. Choroba", + "drilldown" : "E. Choroba", + "y" : 2 }, { - "drilldown" : "Javier Luque", "y" : 5, - "name" : "Javier Luque" + "name" : "Javier Luque", + "drilldown" : "Javier Luque" }, { - "name" : "Lubos Kolouch", "y" : 2, + "name" : "Lubos Kolouch", "drilldown" : "Lubos Kolouch" }, { - "name" : "Mark Anderson", "y" : 2, - "drilldown" : "Mark Anderson" + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" }, { - "drilldown" : "Pete Houston", "name" : "Pete Houston", + "drilldown" : "Pete Houston", "y" : 1 }, { + "name" : "Richard Nuttall", "drilldown" : "Richard Nuttall", - "y" : 2, - "name" : "Richard Nuttall" + "y" : 2 }, { "drilldown" : "Roger Bell West", - "y" : 4, - "name" : "Roger Bell West" + "name" : "Roger Bell West", + "y" : 4 }, { - "drilldown" : "Ryan Thompson", "name" : "Ryan Thompson", + "drilldown" : "Ryan Thompson", "y" : 2 }, { + "y" : 2, "drilldown" : "Saif Ahmed", - "name" : "Saif Ahmed", - "y" : 2 + "name" : "Saif Ahmed" }, { + "y" : 1, "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 1 + "name" : "Simon Proctor" }, { + "y" : 1, "drilldown" : "Steven Wilson", - "name" : "Steven Wilson", - "y" : 1 + "name" : "Steven Wilson" }, { "y" : 2, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke" } - ], - "name" : "Perl Weekly Challenge - 037", - "colorByPoint" : 1 + ] } - ] + ], + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 29d7fcaa6d..9c7161b1af 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,23 +1,23 @@ { - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "title" : { + "text" : "Perl Weekly Challenge Contributions - 2019" + }, + "chart" : { + "type" : "column" }, "series" : [ { "dataLabels" : { - "enabled" : "true", "y" : 10, + "color" : "#FFFFFF", "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, - "color" : "#FFFFFF", "format" : "{point.y:.0f}", + "align" : "right", "rotation" : -90, - "align" : "right" + "enabled" : "true" }, "data" : [ [ @@ -26,7 +26,7 @@ ], [ "Perl 5", - 1536 + 1538 ], [ "Perl 6", @@ -36,28 +36,28 @@ "name" : "Contributions" } ], - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Last updated at 2019-12-08 02:18:42 GMT" - }, - "legend" : { - "enabled" : "false" - }, "xAxis" : { "labels" : { "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" } }, "type" : "category" }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "legend" : { + "enabled" : "false" + }, "tooltip" : { "pointFormat" : "{point.y:.0f}" }, - "title" : { - "text" : "Perl Weekly Challenge Contributions - 2019" + "subtitle" : { + "text" : "Last updated at 2019-12-08 02:49:39 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index be3d580df6..40ecef555d 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,4 +1,24 @@ { + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-12-08 02:49:39 GMT" + }, + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "", + "pointFormat" : "Challenge {point.name}: {point.y:f}
" + }, + "legend" : { + "enabled" : "false" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, "yAxis" : { "title" : { "text" : "Total Solutions" @@ -8,7 +28,6 @@ "series" : [ { "id" : "001", - "name" : "001", "data" : [ [ "Perl 5", @@ -22,9 +41,11 @@ "Blog", 11 ] - ] + ], + "name" : "001" }, { + "id" : "002", "data" : [ [ "Perl 5", @@ -39,11 +60,9 @@ 9 ] ], - "name" : "002", - "id" : "002" + "name" : "002" }, { - "id" : "003", "name" : "003", "data" : [ [ @@ -58,9 +77,11 @@ "Blog", 9 ] - ] + ], + "id" : "003" }, { + "name" : "004", "data" : [ [ "Perl 5", @@ -75,12 +96,9 @@ 10 ] ], - "id" : "004", - "name" : "004" + "id" : "004" }, { - "name" : "005", - "id" : "005", "data" : [ [ "Perl 5", @@ -94,9 +112,12 @@ "Blog", 12 ] - ] + ], + "name" : "005", + "id" : "005" }, { + "id" : "006", "data" : [ [ "Perl 5", @@ -111,12 +132,9 @@ 7 ] ], - "id" : "006", "name" : "006" }, { - "id" : "007", - "name" : "007", "data" : [ [ "Perl 5", @@ -130,11 +148,11 @@ "Blog", 10 ] - ] + ], + "name" : "007", + "id" : "007" }, { - "id" : "008", - "name" : "008", "data" : [ [ "Perl 5", @@ -148,9 +166,12 @@ "Blog", 12 ] - ] + ], + "name" : "008", + "id" : "008" }, { + "name" : "009", "data" : [ [ "Perl 5", @@ -165,10 +186,11 @@ 13 ] ], - "id" : "009", - "name" : "009" + "id" : "009" }, { + "id" : "010", + "name" : "010", "data" : [ [ "Perl 5", @@ -182,13 +204,10 @@ "Blog", 11 ] - ], - "id" : "010", - "name" : "010" + ] }, { "name" : "011", - "id" : "011", "data" : [ [ "Perl 5", @@ -202,9 +221,12 @@ "Blog", 10 ] - ] + ], + "id" : "011" }, { + "id" : "012", + "name" : "012", "data" : [ [ "Perl 5", @@ -218,11 +240,10 @@ "Blog", 11 ] - ], - "id" : "012", - "name" : "012" + ] }, { + "name" : "013", "data" : [ [ "Perl 5", @@ -237,12 +258,10 @@ 13 ] ], - "name" : "013", "id" : "013" }, { "name" : "014", - "id" : "014", "data" : [ [ "Perl 5", @@ -256,9 +275,11 @@ "Blog", 15 ] - ] + ], + "id" : "014" }, { + "id" : "015", "data" : [ [ "Perl 5", @@ -273,12 +294,11 @@ 15 ] ], - "id" : "015", "name" : "015" }, { - "name" : "016", "id" : "016", + "name" : "016", "data" : [ [ "Perl 5", @@ -296,7 +316,6 @@ }, { "id" : "017", - "name" : "017", "data" : [ [ "Perl 5", @@ -310,11 +329,10 @@ "Blog", 12 ] - ] + ], + "name" : "017" }, { - "name" : "018", - "id" : "018", "data" : [ [ "Perl 5", @@ -328,7 +346,9 @@ "Blog", 14 ] - ] + ], + "name" : "018", + "id" : "018" }, { "data" : [ @@ -349,8 +369,6 @@ "id" : "019" }, { - "id" : "020", - "name" : "020", "data" : [ [ "Perl 5", @@ -364,10 +382,11 @@ "Blog", 13 ] - ] + ], + "name" : "020", + "id" : "020" }, { - "name" : "021", "id" : "021", "data" : [ [ @@ -382,10 +401,10 @@ "Blog", 10 ] - ] + ], + "name" : "021" }, { - "name" : "022", "id" : "022", "data" : [ [ @@ -400,9 +419,11 @@ "Blog", 10 ] - ] + ], + "name" : "022" }, { + "name" : "023", "data" : [ [ "Perl 5", @@ -417,8 +438,7 @@ 12 ] ], - "id" : "023", - "name" : "023" + "id" : "023" }, { "data" : [ @@ -435,10 +455,11 @@ 11 ] ], - "id" : "024", - "name" : "024" + "name" : "024", + "id" : "024" }, { + "id" : "025", "data" : [ [ "Perl 5", @@ -453,11 +474,9 @@ 12 ] ], - "id" : "025", "name" : "025" }, { - "name" : "026", "id" : "026", "data" : [ [ @@ -472,11 +491,12 @@ "Blog", 10 ] - ] + ], + "name" : "026" }, { - "name" : "027", "id" : "027", + "name" : "027", "data" : [ [ "Perl 5", @@ -493,8 +513,6 @@ ] }, { - "name" : "028", - "id" : "028", "data" : [ [ "Perl 5", @@ -508,9 +526,12 @@ "Blog", 9 ] - ] + ], + "name" : "028", + "id" : "028" }, { + "id" : "029", "data" : [ [ "Perl 5", @@ -525,11 +546,9 @@ 12 ] ], - "name" : "029", - "id" : "029" + "name" : "029" }, { - "id" : "030", "name" : "030", "data" : [ [ @@ -544,10 +563,10 @@ "Blog", 10 ] - ] + ], + "id" : "030" }, { - "id" : "031", "name" : "031", "data" : [ [ @@ -562,10 +581,10 @@ "Blog", 9 ] - ] + ], + "id" : "031" }, { - "id" : "032", "name" : "032", "data" : [ [ @@ -580,11 +599,12 @@ "Blog", 10 ] - ] + ], + "id" : "032" }, { - "name" : "033", "id" : "033", + "name" : "033", "data" : [ [ "Perl 5", @@ -601,6 +621,7 @@ ] }, { + "id" : "034", "data" : [ [ "Perl 5", @@ -615,10 +636,10 @@ 10 ] ], - "name" : "034", - "id" : "034" + "name" : "034" }, { + "name" : "035", "data" : [ [ "Perl 5", @@ -633,12 +654,11 @@ 9 ] ], - "name" : "035", "id" : "035" }, { - "name" : "036", "id" : "036", + "name" : "036", "data" : [ [ "Perl 5", @@ -655,10 +675,12 @@ ] }, { + "id" : "037", + "name" : "037", "data" : [ [ "Perl 5", - 22 + 24 ], [ "Perl 6", @@ -668,26 +690,19 @@ "Blog", 2 ] - ], - "id" : "037", - "name" : "037" + ] } ] }, - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-12-08 02:18:42 GMT" - }, "series" : [ { + "colorByPoint" : "true", "name" : "Perl Weekly Challenge Languages", "data" : [ { "name" : "#001", - "drilldown" : "001", - "y" : 132 + "y" : 132, + "drilldown" : "001" }, { "drilldown" : "002", @@ -696,13 +711,13 @@ }, { "name" : "#003", - "drilldown" : "003", - "y" : 67 + "y" : 67, + "drilldown" : "003" }, { - "drilldown" : "004", "name" : "#004", - "y" : 87 + "y" : 87, + "drilldown" : "004" }, { "y" : 67, @@ -710,19 +725,19 @@ "drilldown" : "005" }, { - "y" : 48, "drilldown" : "006", + "y" : 48, "name" : "#006" }, { - "y" : 56, "drilldown" : "007", - "name" : "#007" + "name" : "#007", + "y" : 56 }, { - "drilldown" : "008", + "y" : 70, "name" : "#008", - "y" : 70 + "drilldown" : "008" }, { "drilldown" : "009", @@ -730,14 +745,14 @@ "y" : 68 }, { - "drilldown" : "010", "name" : "#010", - "y" : 60 + "y" : 60, + "drilldown" : "010" }, { + "name" : "#011", "y" : 79, - "drilldown" : "011", - "name" : "#011" + "drilldown" : "011" }, { "y" : 83, @@ -751,37 +766,37 @@ }, { "y" : 96, - "drilldown" : "014", - "name" : "#014" + "name" : "#014", + "drilldown" : "014" }, { - "drilldown" : "015", + "y" : 93, "name" : "#015", - "y" : 93 + "drilldown" : "015" }, { + "y" : 66, "name" : "#016", - "drilldown" : "016", - "y" : 66 + "drilldown" : "016" }, { "y" : 79, - "drilldown" : "017", - "name" : "#017" + "name" : "#017", + "drilldown" : "017" }, { - "name" : "#018", "drilldown" : "018", - "y" : 76 + "y" : 76, + "name" : "#018" }, { - "y" : 95, "drilldown" : "019", + "y" : 95, "name" : "#019" }, { - "y" : 95, "name" : "#020", + "y" : 95, "drilldown" : "020" }, { @@ -790,39 +805,39 @@ "drilldown" : "021" }, { - "name" : "#022", "drilldown" : "022", + "name" : "#022", "y" : 63 }, { - "y" : 91, + "drilldown" : "023", "name" : "#023", - "drilldown" : "023" + "y" : 91 }, { - "drilldown" : "024", "name" : "#024", - "y" : 70 + "y" : 70, + "drilldown" : "024" }, { - "drilldown" : "025", "name" : "#025", - "y" : 55 + "y" : 55, + "drilldown" : "025" }, { - "drilldown" : "026", "name" : "#026", - "y" : 70 + "y" : 70, + "drilldown" : "026" }, { - "y" : 58, + "drilldown" : "027", "name" : "#027", - "drilldown" : "027" + "y" : 58 }, { - "y" : 78, "drilldown" : "028", - "name" : "#028" + "name" : "#028", + "y" : 78 }, { "drilldown" : "029", @@ -830,19 +845,19 @@ "y" : 77 }, { - "y" : 115, "name" : "#030", + "y" : 115, "drilldown" : "030" }, { + "name" : "#031", "y" : 87, - "drilldown" : "031", - "name" : "#031" + "drilldown" : "031" }, { "drilldown" : "032", - "name" : "#032", - "y" : 92 + "y" : 92, + "name" : "#032" }, { "y" : 108, @@ -850,48 +865,33 @@ "drilldown" : "033" }, { - "drilldown" : "034", "name" : "#034", - "y" : 59 + "y" : 59, + "drilldown" : "034" }, { + "y" : 60, "name" : "#035", - "drilldown" : "035", - "y" : 60 + "drilldown" : "035" }, { - "drilldown" : "036", + "y" : 58, "name" : "#036", - "y" : 58 + "drilldown" : "036" }, { - "y" : 35, "drilldown" : "037", - "name" : "#037" + "name" : "#037", + "y" : 37 } - ], - "colorByPoint" : "true" + ] } ], - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "legend" : { - "enabled" : "false" - }, "xAxis" : { "type" : "category" }, - "tooltip" : { - "followPointer" : "true", - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "headerFormat" : "" + "chart" : { + "type" : "column" }, "title" : { "text" : "Perl Weekly Challenge Language" diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index 9f9afe70df..5ec9bd5f33 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -1,25 +1,292 @@ { - "yAxis" : { - "title" : { - "text" : "Total Score" - } + "xAxis" : { + "type" : "category" }, - "legend" : { - "enabled" : "false" + "title" : { + "text" : "Perl Weekly Challenge Leaders (TOP 50)" + }, + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "", + "pointFormat" : "{point.name}: {point.y:f}
" }, + "series" : [ + { + "colorByPoint" : "true", + "name" : "Perl Weekly Challenge Leaders", + "data" : [ + { + "y" : 454, + "name" : "#1: Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld" + }, + { + "y" : 330, + "drilldown" : "Joelle Maslak", + "name" : "#2: Joelle Maslak" + }, + { + "name" : "#3: Jaldhar H. Vyas", + "drilldown" : "Jaldhar H. Vyas", + "y" : 326 + }, + { + "name" : "#4: Ruben Westerberg", + "drilldown" : "Ruben Westerberg", + "y" : 276 + }, + { + "y" : 242, + "drilldown" : "Adam Russell", + "name" : "#5: Adam Russell" + }, + { + "drilldown" : "Arne Sommer", + "name" : "#6: Arne Sommer", + "y" : 222 + }, + { + "y" : 208, + "drilldown" : "Athanasius", + "name" : "#7: Athanasius" + }, + { + "name" : "#8: E. Choroba", + "drilldown" : "E. Choroba", + "y" : 194 + }, + { + "name" : "#9: Roger Bell West", + "drilldown" : "Roger Bell West", + "y" : 176 + }, + { + "name" : "#10: Kian-Meng Ang", + "drilldown" : "Kian-Meng Ang", + "y" : 154 + }, + { + "y" : 144, + "name" : "#11: Andrezgz", + "drilldown" : "Andrezgz" + }, + { + "y" : 144, + "drilldown" : "Simon Proctor", + "name" : "#12: Simon Proctor" + }, + { + "drilldown" : "Duncan C. White", + "name" : "#13: Duncan C. White", + "y" : 130 + }, + { + "y" : 126, + "name" : "#14: Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "name" : "#15: Steven Wilson", + "drilldown" : "Steven Wilson", + "y" : 114 + }, + { + "y" : 114, + "name" : "#16: Yet Ebreo", + "drilldown" : "Yet Ebreo" + }, + { + "y" : 96, + "drilldown" : "Francis Whittle", + "name" : "#17: Francis Whittle" + }, + { + "y" : 96, + "drilldown" : "Kevin Colyer", + "name" : "#18: Kevin Colyer" + }, + { + "y" : 92, + "drilldown" : "Duane Powell", + "name" : "#19: Duane Powell" + }, + { + "y" : 88, + "name" : "#20: Feng Chang", + "drilldown" : "Feng Chang" + }, + { + "drilldown" : "Daniel Mantovani", + "name" : "#21: Daniel Mantovani", + "y" : 82 + }, + { + "drilldown" : "Mark Senn", + "name" : "#22: Mark Senn", + "y" : 80 + }, + { + "y" : 76, + "drilldown" : "Lubos Kolouch", + "name" : "#23: Lubos Kolouch" + }, + { + "y" : 72, + "name" : "#24: Gustavo Chaves", + "drilldown" : "Gustavo Chaves" + }, + { + "drilldown" : "Noud", + "name" : "#25: Noud", + "y" : 72 + }, + { + "drilldown" : "Javier Luque", + "name" : "#26: Javier Luque", + "y" : 70 + }, + { + "y" : 70, + "drilldown" : "Yozen Hernandez", + "name" : "#27: Yozen Hernandez" + }, + { + "drilldown" : "Guillermo Ramos", + "name" : "#28: Guillermo Ramos", + "y" : 64 + }, + { + "drilldown" : "Colin Crain", + "name" : "#29: Colin Crain", + "y" : 56 + }, + { + "y" : 56, + "drilldown" : "Jo Christian Oterhals", + "name" : "#30: Jo Christian Oterhals" + }, + { + "drilldown" : "Ozzy", + "name" : "#31: Ozzy", + "y" : 56 + }, + { + "name" : "#32: Dr James A. Smith", + "drilldown" : "Dr James A. Smith", + "y" : 52 + }, + { + "y" : 52, + "name" : "#33: Randy Lauen", + "drilldown" : "Randy Lauen" + }, + { + "drilldown" : "Burkhard Nickels", + "name" : "#34: Burkhard Nickels", + "y" : 50 + }, + { + "name" : "#35: Dave Cross", + "drilldown" : "Dave Cross", + "y" : 46 + }, + { + "y" : 44, + "name" : "#36: Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + }, + { + "y" : 44, + "drilldown" : "Veesh Goldman", + "name" : "#37: Veesh Goldman" + }, + { + "drilldown" : "Daniel Mita", + "name" : "#38: Daniel Mita", + "y" : 38 + }, + { + "drilldown" : "Lars Balker", + "name" : "#39: Lars Balker", + "y" : 38 + }, + { + "name" : "#40: Markus Holzer", + "drilldown" : "Markus Holzer", + "y" : 36 + }, + { + "name" : "#41: Nick Logan", + "drilldown" : "Nick Logan", + "y" : 32 + }, + { + "name" : "#42: Mark Anderson", + "drilldown" : "Mark Anderson", + "y" : 28 + }, + { + "name" : "#43: Pete Houston", + "drilldown" : "Pete Houston", + "y" : 26 + }, + { + "drilldown" : "Jaime Corchado", + "name" : "#44: Jaime Corchado", + "y" : 24 + }, + { + "drilldown" : "Kivanc Yazan", + "name" : "#45: Kivanc Yazan", + "y" : 24 + }, + { + "y" : 24, + "name" : "#46: Lars Thegler", + "drilldown" : "Lars Thegler" + }, + { + "y" : 24, + "name" : "#47: Maxim Nechaev", + "drilldown" : "Maxim Nechaev" + }, + { + "name" : "#48: Alicia Bielsa", + "drilldown" : "Alicia Bielsa", + "y" : 22 + }, + { + "drilldown" : "Prajith P", + "name" : "#49: Prajith P", + "y" : 22 + }, + { + "y" : 22, + "drilldown" : "Ryan Thompson", + "name" : "#50: Ryan Thompson" + } + ] + } + ], "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 } }, + "legend" : { + "enabled" : "false" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-12-08 02:49:37 GMT" + }, "drilldown" : { "series" : [ { - "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl 6", @@ -34,9 +301,11 @@ 71 ] ], - "name" : "Laurent Rosenfeld" + "id" : "Laurent Rosenfeld" }, { + "id" : "Joelle Maslak", + "name" : "Joelle Maslak", "data" : [ [ "Perl 5", @@ -50,12 +319,15 @@ "Perl 6", 80 ] - ], - "name" : "Joelle Maslak", - "id" : "Joelle Maslak" + ] }, { + "name" : "Jaldhar H. Vyas", "data" : [ + [ + "Perl 5", + 71 + ], [ "Perl 6", 70 @@ -63,17 +335,11 @@ [ "Blog", 22 - ], - [ - "Perl 5", - 71 ] ], - "name" : "Jaldhar H. Vyas", "id" : "Jaldhar H. Vyas" }, { - "name" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -84,9 +350,11 @@ 69 ] ], + "name" : "Ruben Westerberg", "id" : "Ruben Westerberg" }, { + "id" : "Adam Russell", "data" : [ [ "Perl 6", @@ -101,17 +369,11 @@ 73 ] ], - "name" : "Adam Russell", - "id" : "Adam Russell" + "name" : "Adam Russell" }, { "id" : "Arne Sommer", - "name" : "Arne Sommer", "data" : [ - [ - "Perl 5", - 3 - ], [ "Blog", 36 @@ -119,42 +381,48 @@ [ "Perl 6", 72 + ], + [ + "Perl 5", + 3 ] - ] + ], + "name" : "Arne Sommer" }, { - "name" : "Athanasius", + "id" : "Athanasius", "data" : [ [ - "Perl 5", - 63 + "Perl 6", + 38 ], [ "Blog", 3 ], [ - "Perl 6", - 38 + "Perl 5", + 63 ] ], - "id" : "Athanasius" + "name" : "Athanasius" }, { - "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ - [ - "Blog", - 31 - ], [ "Perl 5", 66 + ], + [ + "Blog", + 31 ] ], - "name" : "E. Choroba" + "id" : "E. Choroba" }, { + "id" : "Roger Bell West", "data" : [ [ "Perl 6", @@ -169,39 +437,36 @@ 46 ] ], - "name" : "Roger Bell West", - "id" : "Roger Bell West" + "name" : "Roger Bell West" }, { "id" : "Kian-Meng Ang", "name" : "Kian-Meng Ang", "data" : [ - [ - "Perl 5", - 38 - ], [ "Blog", 39 + ], + [ + "Perl 5", + 38 ] ] }, { - "id" : "Andrezgz", "data" : [ [ "Perl 5", 72 ] ], - "name" : "Andrezgz" + "name" : "Andrezgz", + "id" : "Andrezgz" }, { + "id" : "Simon Proctor", + "name" : "Simon Proctor", "data" : [ - [ - "Perl 5", - 5 - ], [ "Blog", 7 @@ -209,68 +474,65 @@ [ "Perl 6", 60 + ], + [ + "Perl 5", + 5 ] - ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + ] }, { - "id" : "Dave Jacoby", - "name" : "Dave Jacoby", + "name" : "Duncan C. White", "data" : [ [ - "Perl 6", - 1 + "Perl 5", + 64 ], [ "Blog", - 22 - ], - [ - "Perl 5", - 40 + 1 ] - ] + ], + "id" : "Duncan C. White" }, { + "id" : "Dave Jacoby", "data" : [ + [ + "Perl 5", + 40 + ], [ "Blog", - 1 + 22 ], [ - "Perl 5", - 62 + "Perl 6", + 1 ] ], - "name" : "Duncan C. White", - "id" : "Duncan C. White" + "name" : "Dave Jacoby" }, { + "id" : "Steven Wilson", + "name" : "Steven Wilson", "data" : [ [ "Perl 6", 1 ], - [ - "Perl 5", - 53 - ], [ "Blog", 3 + ], + [ + "Perl 5", + 53 ] - ], - "name" : "Steven Wilson", - "id" : "Steven Wilson" + ] }, { - "id" : "Yet Ebreo", "data" : [ - [ - "Blog", - 6 - ], [ "Perl 5", 30 @@ -278,54 +540,58 @@ [