diff options
| -rw-r--r-- | challenge-009/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-009/laurent-rosenfeld/perl5/ch-1.pl | 14 | ||||
| -rw-r--r-- | challenge-009/laurent-rosenfeld/perl5/ch-1a.sh | 1 | ||||
| -rw-r--r-- | challenge-009/laurent-rosenfeld/perl5/ch-2.pl | 62 | ||||
| -rw-r--r-- | challenge-009/laurent-rosenfeld/perl6/ch-1.sh | 1 | ||||
| -rw-r--r-- | challenge-009/laurent-rosenfeld/perl6/ch-1a.p6 | 9 | ||||
| -rw-r--r-- | challenge-009/laurent-rosenfeld/perl6/ch-1b.p6 | 5 | ||||
| -rw-r--r-- | challenge-009/laurent-rosenfeld/perl6/ch-2.p6 | 54 | ||||
| -rw-r--r-- | stats/pwc-current.json | 207 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 180 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 422 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 34 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 76 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 210 |
15 files changed, 740 insertions, 574 deletions
diff --git a/challenge-009/laurent-rosenfeld/blog.txt b/challenge-009/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..f91c381806 --- /dev/null +++ b/challenge-009/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2019/05/perl-weekly-challenge-9-squares-and-rankings.html diff --git a/challenge-009/laurent-rosenfeld/perl5/ch-1.pl b/challenge-009/laurent-rosenfeld/perl5/ch-1.pl new file mode 100644 index 0000000000..b5c26e5f53 --- /dev/null +++ b/challenge-009/laurent-rosenfeld/perl5/ch-1.pl @@ -0,0 +1,14 @@ +#!/usr/bin/perl +use strict; +use warnings; +use feature qw/say/; + +for my $integer (100..1000) { + my $square = $integer ** 2; + my @digits = split //, $square; + my %unique_digits = map {$_ => 1} @digits; + if (scalar keys %unique_digits >= 5) { + say "$integer -> $square"; + last; + } +} diff --git a/challenge-009/laurent-rosenfeld/perl5/ch-1a.sh b/challenge-009/laurent-rosenfeld/perl5/ch-1a.sh new file mode 100644 index 0000000000..344824c2c1 --- /dev/null +++ b/challenge-009/laurent-rosenfeld/perl5/ch-1a.sh @@ -0,0 +1 @@ +perl -MList::Util=uniq -E 'for (100..1000) { say "$_ -> ", $_**2 and last if uniq (split //, $_**2) >= 5}' diff --git a/challenge-009/laurent-rosenfeld/perl5/ch-2.pl b/challenge-009/laurent-rosenfeld/perl5/ch-2.pl new file mode 100644 index 0000000000..4e196012d9 --- /dev/null +++ b/challenge-009/laurent-rosenfeld/perl5/ch-2.pl @@ -0,0 +1,62 @@ +#!/usr/bin/perl +use strict; +use warnings; +use feature qw/say/; + +sub standard { + my %scores = @_; + my ($prev_rank, $prev_val, $rank) = (0, 0, 0); + say "Rank\tID\tScore"; + for my $key (sort { $scores{$a} <=> $scores{$b} } keys %scores) { + $rank++; + if ($scores{$key} > $prev_val) { + say $rank, "\t$key\t$scores{$key}"; + $prev_rank = $rank; + } else { + say $prev_rank, "\t$key\t$scores{$key}"; + } + $prev_val = $scores{$key}; + } +} + +sub modified { + my %scores = @_; + my ($prev_val, $rank) = (0, 0); + my @buffer; + say "Rank\tID\tScore"; + for my $key (sort { $scores{$a} <=> $scores{$b} } keys %scores) { + $rank++; + if ($scores{$key} > $prev_val) { + say $rank - 1, $_ for @buffer; + @buffer = ("\t$key\t$scores{$key}"); + } else { + push @buffer, "\t$key\t$scores{$key}"; + } + $prev_val = $scores{$key}; + } + say $rank, shift @buffer while @buffer; +} + +sub dense { + my %scores = @_; + my ($prev_rank, $prev_val, $rank) = (0, 0, 0); + say "Rank\tID\tScore"; + for my $key (sort { $scores{$a} <=> $scores{$b} } keys %scores) { + if ($scores{$key} > $prev_val) { + $rank++; + say $rank, "\t$key\t$scores{$key}"; + $prev_rank = $rank; + } else { + say $prev_rank, "\t$key\t$scores{$key}"; + } + $prev_val = $scores{$key}; + } +} + +my %scores = (a => 4, b => 5, c => 3, d => 5, e => 1, f => 4, g => 6, h => 4, i =>6); +say " Standard"; +standard(%scores); +say "\n Modified"; +modified(%scores); +say "\n Dense"; +dense(%scores); diff --git a/challenge-009/laurent-rosenfeld/perl6/ch-1.sh b/challenge-009/laurent-rosenfeld/perl6/ch-1.sh new file mode 100644 index 0000000000..e16364d762 --- /dev/null +++ b/challenge-009/laurent-rosenfeld/perl6/ch-1.sh @@ -0,0 +1 @@ +perl6 -e 'say $_ ** 2 and last if ($_**2).comb.unique >= 5 for 100..*' diff --git a/challenge-009/laurent-rosenfeld/perl6/ch-1a.p6 b/challenge-009/laurent-rosenfeld/perl6/ch-1a.p6 new file mode 100644 index 0000000000..66ca511399 --- /dev/null +++ b/challenge-009/laurent-rosenfeld/perl6/ch-1a.p6 @@ -0,0 +1,9 @@ +use v6; + +my @squares = map {$_ ** 2}, 100..*; # lazy infinite list of squares +for @squares -> $square { + if $square.comb.unique >= 5 { + say $square; + last; + } +} diff --git a/challenge-009/laurent-rosenfeld/perl6/ch-1b.p6 b/challenge-009/laurent-rosenfeld/perl6/ch-1b.p6 new file mode 100644 index 0000000000..eed3a9e319 --- /dev/null +++ b/challenge-009/laurent-rosenfeld/perl6/ch-1b.p6 @@ -0,0 +1,5 @@ +use v6; + +my @squares = map {$_ ** 2}, 100..*; +my @candidates = grep { .comb.unique >= 5}, @squares; +say @candidates[0]; diff --git a/challenge-009/laurent-rosenfeld/perl6/ch-2.p6 b/challenge-009/laurent-rosenfeld/perl6/ch-2.p6 new file mode 100644 index 0000000000..c707566df3 --- /dev/null +++ b/challenge-009/laurent-rosenfeld/perl6/ch-2.p6 @@ -0,0 +1,54 @@ +use v6; + +sub standard (%scores) { + my ($prev_rank, $prev_val, $rank, $rankings ) = 0, 0, 0, ""; + for sort {%scores{$_}}, keys %scores -> $key { + $rank++; + if (%scores{$key} > $prev_val) { + $rankings ~= "$rank\t$key\t%scores{$key}\n"; + $prev_rank = $rank; + } else { + $rankings ~= "$prev_rank\t$key\t%scores{$key}\n"; + } + $prev_val = %scores{$key}; + } + return $rankings; +} + +sub modified (%scores) { + my ($prev_val, $rank, @rankings, @buffer) = 0, 0; + for sort {%scores{$_}}, keys %scores -> $key { + $rank++; + if (%scores{$key} > $prev_val) { + push @rankings, ($rank - 1 ~ $_) for @buffer; + @buffer = ("\t$key\t%scores{$key}"); + } else { + push @buffer, "\t$key\t%scores{$key}"; + } + $prev_val = %scores{$key}; + } + push @rankings, ($rank ~ $_) for @buffer; + return join "\n", @rankings; +} + +sub dense (%scores) { + my ($prev_rank, $prev_val, $rank, $rankings) = 0, 0, 0, ""; + for sort {%scores{$_}}, keys %scores -> $key { + if (%scores{$key} > $prev_val) { + $rank++; + $rankings ~= "$rank\t$key\t%scores{$key}\n"; + $prev_rank = $rank; + } else { + $rankings ~= "$prev_rank\t$key\t%scores{$key}\n"; + } + $prev_val = %scores{$key}; + } + return $rankings; +} + +my %scores = a => 4, b => 5, c => 3, d => 5, e => 1, f => 4, g => 6, h => 4, i =>6; + +my $head = "Rank\tID\tScore"; +.say for " Standard", $head, standard(%scores); +.say for "\n Modified", $head, modified(%scores); +.say for "\n Dense", $head, dense(%scores); diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 244aa3edbc..3466e9e77e 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,80 +1,7 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "series" : [ - { - "data" : [ - { - "name" : "Andrezgz", - "y" : 2, - "drilldown" : "Andrezgz" - }, - { - "name" : "Daniel Mita", - "drilldown" : "Daniel Mita", - "y" : 2 - }, - { - "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby", - "y" : 2 - }, - { - "name" : "Gustavo Chaves", - "y" : 2, - "drilldown" : "Gustavo Chaves" - }, - { - "name" : "Joelle Maslak", - "drilldown" : "Joelle Maslak", - "y" : 6 - }, - { - "name" : "Maxim Nechaev", - "drilldown" : "Maxim Nechaev", - "y" : 2 - }, - { - "name" : "Simon Proctor", - "y" : 1, - "drilldown" : "Simon Proctor" - }, - { - "name" : "Steven Wilson", - "drilldown" : "Steven Wilson", - "y" : 2 - }, - { - "name" : "Yozen Hernandez", - "y" : 2, - "drilldown" : "Yozen Hernandez" - } - ], - "name" : "Champions", - "colorByPoint" : 1 - } - ], - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, "chart" : { "type" : "column" }, - "title" : { - "text" : "Perl Weekly Challenge - 009" - }, - "subtitle" : { - "text" : "[Champions: 9] Last updated at 2019-05-25 03:28:25 GMT" - }, "drilldown" : { "series" : [ { @@ -88,14 +15,14 @@ "id" : "Andrezgz" }, { + "id" : "Daniel Mita", + "name" : "Daniel Mita", "data" : [ [ "Perl 6", 2 ] - ], - "id" : "Daniel Mita", - "name" : "Daniel Mita" + ] }, { "data" : [ @@ -104,21 +31,20 @@ 2 ] ], - "name" : "Dave Jacoby", - "id" : "Dave Jacoby" + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { - "id" : "Gustavo Chaves", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Gustavo Chaves" + "name" : "Gustavo Chaves", + "id" : "Gustavo Chaves" }, { - "id" : "Joelle Maslak", "data" : [ [ "Perl 5", @@ -129,37 +55,52 @@ 3 ] ], - "name" : "Joelle Maslak" + "name" : "Joelle Maslak", + "id" : "Joelle Maslak" + }, + { + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl 5", + 2 + ], + [ + "Perl 6", + 2 + ] + ] }, { - "id" : "Maxim Nechaev", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Maxim Nechaev" + "name" : "Maxim Nechaev", + "id" : "Maxim Nechaev" }, { + "id" : "Simon Proctor", + "name" : "Simon Proctor", "data" : [ [ "Perl 6", 1 ] - ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + ] }, { + "id" : "Steven Wilson", + "name" : "Steven Wilson", "data" : [ [ "Perl 5", 2 ] - ], - "name" : "Steven Wilson", - "id" : "Steven Wilson" + ] }, { "data" : [ @@ -173,15 +114,93 @@ } ] }, + "subtitle" : { + "text" : "[Champions: 10] Last updated at 2019-05-25 03:44:59 GMT" + }, "xAxis" : { "type" : "category" }, - "legend" : { - "enabled" : 0 + "title" : { + "text" : "Perl Weekly Challenge - 009" }, "tooltip" : { - "pointerFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", "followPointer" : 1, - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "pointerFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "series" : [ + { + "colorByPoint" : 1, + "name" : "Champions", + "data" : [ + { + "drilldown" : "Andrezgz", + "y" : 2, + "name" : "Andrezgz" + }, + { + "drilldown" : "Daniel Mita", + "y" : 2, + "name" : "Daniel Mita" + }, + { + "name" : "Dave Jacoby", + "y" : 2, + "drilldown" : "Dave Jacoby" + }, + { + "drilldown" : "Gustavo Chaves", + "y" : 2, + "name" : "Gustavo Chaves" + }, + { + "y" : 6, + "drilldown" : "Joelle Maslak", + "name" : "Joelle Maslak" + }, + { + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 4 + }, + { + "name" : "Maxim Nechaev", + "drilldown" : "Maxim Nechaev", + "y" : 2 + }, + { + "y" : 1, + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor" + }, + { + "drilldown" : "Steven Wilson", + "y" : 2, + "name" : "Steven Wilson" + }, + { + "name" : "Yozen Hernandez", + "drilldown" : "Yozen Hernandez", + "y" : 2 + } + ] + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index a657b3c3af..401f50ecf3 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,26 +1,72 @@ { - "tooltip" : { - "followPointer" : "true", - "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style=\"font-size:11px\"></span>" - }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "legend" : { - "enabled" : "false" + "series" : [ + { + "name" : "Perl Weekly Challenge Languages", + "data" : [ + { + "drilldown" : "001", + "y" : 113, + "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", + "y" : 75, + "name" : "#004 [P5=46 P6=29]" + }, + { + "drilldown" : "005", + "y" : 55, + "name" : "#005 [P5=33 P6=22]" + }, + { + "name" : "#006 [P5=27 P6=14]", + "y" : 41, + "drilldown" : "006" + }, + { + "name" : "#007 [P5=24 P6=20]", + "y" : 44, + "drilldown" : "007" + }, + { + "name" : "#008 [P5=34 P6=20]", + "y" : 54, + "drilldown" : "008" + }, + { + "name" : "#009 [P5=17 P6=8]", + "y" : 25, + "drilldown" : "009" + } + ], + "colorByPoint" : "true" + } + ], + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } }, "chart" : { "type" : "column" }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-05-25 03:28:47 GMT" - }, "drilldown" : { "series" : [ { - "id" : "001", - "name" : "001", "data" : [ [ "Perl 5", @@ -30,7 +76,9 @@ "Perl 6", 37 ] - ] + ], + "name" : "001", + "id" : "001" }, { "id" : "002", @@ -47,7 +95,6 @@ "name" : "002" }, { - "id" : "003", "data" : [ [ "Perl 5", @@ -58,9 +105,11 @@ 26 ] ], - "name" : "003" + "name" : "003", + "id" : "003" }, { + "name" : "004", "data" : [ [ "Perl 5", @@ -71,11 +120,9 @@ 29 ] ], - "name" : "004", "id" : "004" }, { - "name" : "005", "data" : [ [ "Perl 5", @@ -86,9 +133,11 @@ 22 ] ], + "name" : "005", "id" : "005" }, { + "id" : "006", "name" : "006", "data" : [ [ @@ -99,10 +148,11 @@ "Perl 6", 14 ] - ], - "id" : "006" + ] }, { + "id" : "007", + "name" : "007", "data" : [ [ "Perl 5", @@ -112,12 +162,9 @@ "Perl 6", 20 ] - ], - "name" : "007", - "id" : "007" + ] }, { - "id" : "008", "data" : [ [ "Perl 5", @@ -128,18 +175,19 @@ 20 ] ], - "name" : "008" + "name" : "008", + "id" : "008" }, { "name" : "009", "data" : [ [ "Perl 5", - 15 + 17 ], [ "Perl 6", - 6 + 8 ] ], "id" : "009" @@ -149,71 +197,23 @@ "xAxis" : { "type" : "category" }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "tooltip" : { + "followPointer" : "true", + "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style=\"font-size:11px\"></span>" + }, + "legend" : { + "enabled" : "false" + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "series" : [ - { - "data" : [ - { - "name" : "#001 [P5=76 P6=37]", - "y" : 113, - "drilldown" : "001" - }, - { - "y" : 95, - "name" : "#002 [P5=63 P6=32]", - "drilldown" : "002" - }, - { - "y" : 58, - "name" : "#003 [P5=32 P6=26]", - "drilldown" : "003" - }, - { - "drilldown" : "004", - "name" : "#004 [P5=46 P6=29]", - "y" : 75 - }, - { - "y" : 55, - "name" : "#005 [P5=33 P6=22]", - "drilldown" : "005" - }, - { - "name" : "#006 [P5=27 P6=14]", - "y" : 41, - "drilldown" : "006" - }, - { - "drilldown" : "007", - "name" : "#007 [P5=24 P6=20]", - "y" : 44 - }, - { - "y" : 54, - "name" : "#008 [P5=34 P6=20]", - "drilldown" : "008" - }, - { - "drilldown" : "009", - "y" : 21, - "name" : "#009 [P5=15 P6=6]" - } - ], - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true" - } - ], - "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-25 03:45:42 GMT" } } diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index 2f08992af1..1c2d9f5638 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -1,52 +1,43 @@ { - "legend" : { - "enabled" : "false" - }, - "tooltip" : { - "followPointer" : "true", - "headerFormat" : "<span style=\"font-size:11px\"></span>", - "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>" - }, "drilldown" : { "series" : [ { "data" : [ [ - "Perl 6", - 20 + "Perl 5", + 18 ], [ "Blog", - 2 + 10 ], [ - "Perl 5", - 20 + "Perl 6", + 17 ] ], - "id" : "Joelle Maslak", - "name" : "Joelle Maslak" + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" }, { - "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld", + "name" : "Joelle Maslak", + "id" : "Joelle Maslak", "data" : [ [ "Perl 6", - 15 + 20 ], [ - "Perl 5", - 16 + "Blog", + 2 ], [ - "Blog", - 9 + "Perl 5", + 20 ] ] }, { - "name" : "Jaldhar H. Vyas", "id" : "Jaldhar H. Vyas", "data" : [ [ @@ -57,10 +48,11 @@ "Perl 5", 16 ] - ] + ], + "name" : "Jaldhar H. Vyas" }, { - "name" : "Ruben Westerberg", + "id" : "Ruben Westerberg", "data" : [ [ "Perl 5", @@ -71,29 +63,28 @@ 14 ] ], - "id" : "Ruben Westerberg" + "name" : "Ruben Westerberg" }, { - "name" : "Simon Proctor", + "id" : "Simon Proctor", "data" : [ [ - "Perl 6", - 15 + "Blog", + 6 ], [ "Perl 5", 4 ], [ - "Blog", - 6 + "Perl 6", + 15 ] ], - "id" : "Simon Proctor" + "name" : "Simon Proctor" }, { "name" : "Adam Russell", - "id" : "Adam Russell", "data" : [ [ "Blog", @@ -103,9 +94,12 @@ "Perl 5", 16 ] - ] + ], + "id" : "Adam Russell" }, { + "name" : "Dr James A. Smith", + "id" : "Dr James A. Smith", "data" : [ [ "Perl 5", @@ -115,9 +109,7 @@ "Perl 6", 10 ] - ], - "id" : "Dr James A. Smith", - "name" : "Dr James A. Smith" + ] }, { "name" : "Kian-Meng Ang", @@ -134,21 +126,21 @@ ] }, { - "name" : "Arne Sommer", "id" : "Arne Sommer", "data" : [ [ - "Blog", - 7 - ], - [ "Perl 6", 14 + ], + [ + "Blog", + 7 ] - ] + ], + "name" : "Arne Sommer" }, { - "name" : "Jo Christian Oterhals", + "id" : "Jo Christian Oterhals", "data" : [ [ "Blog", @@ -163,18 +155,18 @@ 10 ] ], - "id" : "Jo Christian Oterhals" + "name" : "Jo Christian Oterhals" }, { "name" : "Gustavo Chaves", "data" : [ [ - "Perl 5", - 15 - ], - [ "Blog", 4 + ], + [ + "Perl 5", + 15 ] ], "id" : "Gustavo Chaves" @@ -191,43 +183,44 @@ }, { "name" : "Athanasius", - "id" : "Athanasius", "data" : [ [ "Perl 5", 16 ] - ] + ], + "id" : "Athanasius" }, { + "name" : "Nick Logan", "data" : [ [ - "Perl 5", + "Perl 6", 8 ], [ - "Perl 6", + "Perl 5", 8 ] ], - "id" : "Nick Logan", - "name" : "Nick Logan" + "id" : "Nick Logan" }, { + "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ - "Perl 5", - 7 - ], - [ "Blog", 8 + ], + [ + "Perl 5", + 7 ] - ], - "id" : "Dave Jacoby", - "name" : "Dave Jacoby" + ] }, { + "name" : "Francis Whittle", "data" : [ [ "Perl 6", @@ -238,25 +231,23 @@ 4 ] ], - "id" : "Francis Whittle", - "name" : "Francis Whittle" + "id" : "Francis Whittle" }, { + "name" : "Lars Balker", + "id" : "Lars Balker", "data" : [ [ - "Perl 6", - 4 - ], - [ "Perl 5", 10 + ], + [ + "Perl 6", + 4 ] - ], - "id" : "Lars Balker", - "name" : "Lars Balker" + ] }, { - "name" : "Mark Senn", "id" : "Mark Senn", "data" : [ [ @@ -267,40 +258,40 @@ "Perl 6", 10 ] - ] + ], + "name" : "Mark Senn" }, { - "id" : "Daniel Mantovani", + "name" : "Daniel Mantovani", "data" : [ [ "Perl 5", 11 ] ], - "name" : "Daniel Mantovani" + "id" : "Daniel Mantovani" }, { + "id" : "Doug Schrag", "data" : [ [ "Perl 6", 10 ] ], - "id" : "Doug Schrag", "name" : "Doug Schrag" }, { - "name" : "Duncan C. White", "data" : [ [ |
