aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-05-25 04:45:53 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-05-25 04:45:53 +0100
commita67b433c06f468c9a75ca1bbcda17d3bc8e9c6bf (patch)
tree3b24bbb172f76d01460bfdb32157d58495068f1a
parentb83779ed2858b4aa9d881b32921493257ce399f3 (diff)
downloadperlweeklychallenge-club-a67b433c06f468c9a75ca1bbcda17d3bc8e9c6bf.tar.gz
perlweeklychallenge-club-a67b433c06f468c9a75ca1bbcda17d3bc8e9c6bf.tar.bz2
perlweeklychallenge-club-a67b433c06f468c9a75ca1bbcda17d3bc8e9c6bf.zip
- Added solutions by Laurent Rosenfeld.
-rw-r--r--challenge-009/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-009/laurent-rosenfeld/perl5/ch-1.pl14
-rw-r--r--challenge-009/laurent-rosenfeld/perl5/ch-1a.sh1
-rw-r--r--challenge-009/laurent-rosenfeld/perl5/ch-2.pl62
-rw-r--r--challenge-009/laurent-rosenfeld/perl6/ch-1.sh1
-rw-r--r--challenge-009/laurent-rosenfeld/perl6/ch-1a.p69
-rw-r--r--challenge-009/laurent-rosenfeld/perl6/ch-1b.p65
-rw-r--r--challenge-009/laurent-rosenfeld/perl6/ch-2.p654
-rw-r--r--stats/pwc-current.json207
-rw-r--r--stats/pwc-language-breakdown.json180
-rw-r--r--stats/pwc-leaders.json422
-rw-r--r--stats/pwc-summary-1-30.json38
-rw-r--r--stats/pwc-summary-31-60.json34
-rw-r--r--stats/pwc-summary-61-90.json76
-rw-r--r--stats/pwc-summary.json210
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 Balke