aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-018/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-018/laurent-rosenfeld/perl5/ch-1.pl49
-rw-r--r--challenge-018/laurent-rosenfeld/perl5/ch-1a.pl24
-rw-r--r--challenge-018/laurent-rosenfeld/perl5/ch-2.pl43
-rw-r--r--challenge-018/laurent-rosenfeld/perl6/ch-1.p625
-rw-r--r--stats/pwc-current.json149
-rw-r--r--stats/pwc-language-breakdown-summary.json76
-rw-r--r--stats/pwc-language-breakdown.json168
-rw-r--r--stats/pwc-leaders.json476
-rw-r--r--stats/pwc-summary-1-30.json20
-rw-r--r--stats/pwc-summary-31-60.json110
-rw-r--r--stats/pwc-summary-61-90.json50
-rw-r--r--stats/pwc-summary-91-120.json30
-rw-r--r--stats/pwc-summary.json50
14 files changed, 718 insertions, 553 deletions
diff --git a/challenge-018/laurent-rosenfeld/blog.txt b/challenge-018/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..297c793b9e
--- /dev/null
+++ b/challenge-018/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2019/07/perl-weekly-challenge-18-longest-common-substrings-priority-queues-and-a-functional-object-system.html
diff --git a/challenge-018/laurent-rosenfeld/perl5/ch-1.pl b/challenge-018/laurent-rosenfeld/perl5/ch-1.pl
new file mode 100644
index 0000000000..51d3313938
--- /dev/null
+++ b/challenge-018/laurent-rosenfeld/perl5/ch-1.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw/say/;
+
+sub compare2str {
+ my ($str1, $str2) = @_;
+ my @st1 = split //, $str1;
+ my @st2 = split //, $str2;
+ my %result;
+ my $common = '';
+ my ($i, $j) = (0, 0);
+ while ($i <= $#st1) {
+ while ($j <= $#st2) {
+ if ($st1[$i] eq $st2[$j]) {
+ $common .= $st1[$i];
+ $result{$common} = 1;
+ my ($k, $l) = ($i, $j);
+ while (1) {
+ $k++; $l++;
+ if ($k <= $#st1 and $l<= $#st2
+ and $st1[$k] eq $st2[$l]) {
+ $common .= $st1[$k];
+ $result{$common} = 1;;
+ } else {
+ $common = '';
+ last;
+ }
+ }
+ }
+ $j++;
+ }
+ $j = 0;
+ $i++;
+ }
+ return keys %result;
+}
+
+die "Must supply at least two strings\n" unless @ARGV >= 2;
+my %common = map { $_ => 1 } compare2str shift, $ARGV[0];
+while (@ARGV > 1) {
+ %common = map { $_ => 1 } grep $common{$_},
+ compare2str shift, $ARGV[0];
+}
+my $max = "";
+for (keys %common) {
+ $max = $_ if length $_ > length $max;
+}
+say "Largest common substring: $max";
diff --git a/challenge-018/laurent-rosenfeld/perl5/ch-1a.pl b/challenge-018/laurent-rosenfeld/perl5/ch-1a.pl
new file mode 100644
index 0000000000..25d691c8aa
--- /dev/null
+++ b/challenge-018/laurent-rosenfeld/perl5/ch-1a.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw/say/;
+
+sub substrings {
+ my @chars = split //, shift;
+ my %substr; # using a hash to remove duplicates
+ for my $i (0..$#chars) {
+ for my $j ($i..$#chars) {
+ $substr{ join '', @chars[$i..$j] } = 1;
+ }
+ }
+ return keys %substr;
+}
+my %result = map { $_ => 1} substrings shift;
+for my $word (@ARGV) {
+ %result = map {$_ => 1} grep $result{$_}, substrings $word;
+}
+my $max = 0;
+for (keys %result) {
+ $max = $_ if length $_ > length $max;
+}
+say "Largest common substring: $max";
diff --git a/challenge-018/laurent-rosenfeld/perl5/ch-2.pl b/challenge-018/laurent-rosenfeld/perl5/ch-2.pl
new file mode 100644
index 0000000000..e053afca80
--- /dev/null
+++ b/challenge-018/laurent-rosenfeld/perl5/ch-2.pl
@@ -0,0 +1,43 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw/say/;
+
+
+sub new_queue {
+ my @queue; # an AoA
+ my $is_empty = sub {
+ for my $item (@queue) {
+ next unless defined $item;
+ return 0 if @$item > 0;
+ }
+ return 1;
+ };
+ my $insert_with_prio = sub {
+ my ($item, $prio) = @_;
+ push @{$queue[$prio]}, $item;
+ };
+ my $pull_highest_prio = sub {
+ for my $item (reverse @queue) {
+ next unless defined $item;
+ return shift @$item if @$item > 0;
+ }
+ };
+ return $is_empty, $insert_with_prio, $pull_highest_prio;
+}
+
+my ($is_empty, $insert, $pull_prio) = new_queue;
+for my $num (1..20) { # inserting 20 items into the queue
+ $insert->($num,
+ $num % 10 == 0 ? 10 :
+ $num % 5 == 0 ? 5 :
+ $num % 3 == 0 ? 3 :
+ $num % 2 == 0 ? 2 :
+ 1);
+}
+for my $num (1..20) {
+ say $pull_prio->();
+}
+say "Empty queue" if $is_empty->();
+
+
diff --git a/challenge-018/laurent-rosenfeld/perl6/ch-1.p6 b/challenge-018/laurent-rosenfeld/perl6/ch-1.p6
new file mode 100644
index 0000000000..e9de2d89c9
--- /dev/null
+++ b/challenge-018/laurent-rosenfeld/perl6/ch-1.p6
@@ -0,0 +1,25 @@
+use v6;
+use Test;
+
+sub substrings (Str $in) {
+ my @result = $in.comb;
+ append @result, map { .join('') }, $in.comb.rotor: $_ => 1-$_ for 2..$in.chars;
+ return set @result;
+}
+sub largest-substring (@words) {
+ my Set $intersection = substrings shift @words;
+ while (my $word = shift @words) {
+ $intersection ∩= substrings $word;
+ }
+ return $intersection.keys.max({.chars});
+}
+multi MAIN (*@words where *.elems > 1) {
+ say largest-substring @words;
+}
+multi MAIN () {
+ plan 2;
+ my @words = <ABABC BABCA ABCBA>;
+ cmp-ok largest-substring(@words), 'eq', 'ABC', "Testing 3 strings";
+ @words = 'abcde' xx 5;
+ cmp-ok largest-substring(@words), 'eq', 'abcde', "Testing identical strings";
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 1720ef6441..6b3147e32e 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,84 +1,63 @@
{
- "subtitle" : {
- "text" : "[Champions: 6] Last updated at 2019-07-24 16:36:36 GMT"
+ "title" : {
+ "text" : "Perl Weekly Challenge - 018"
},
- "series" : [
- {
- "data" : [
- {
- "y" : 2,
- "drilldown" : "Duane Powell",
- "name" : "Duane Powell"
- },
- {
- "drilldown" : "Ozzy",
- "y" : 1,
- "name" : "Ozzy"
- },
- {
- "y" : 2,
- "drilldown" : "Roger Bell West",
- "name" : "Roger Bell West"
- },
- {
- "name" : "Ruben Westerberg",
- "drilldown" : "Ruben Westerberg",
- "y" : 4
- },
- {
- "y" : 2,
- "drilldown" : "Simon Proctor",
- "name" : "Simon Proctor"
- },
- {
- "y" : 1,
- "drilldown" : "Steven Wilson",
- "name" : "Steven Wilson"
- }
- ],
- "name" : "Perl Weekly Challenge - 018",
- "colorByPoint" : 1
- }
- ],
- "tooltip" : {
- "followPointer" : 1,
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ "chart" : {
+ "type" : "column"
},
"drilldown" : {
"series" : [
{
+ "id" : "Duane Powell",
+ "name" : "Duane Powell",
"data" : [
[
"Perl 5",
2
]
- ],
- "name" : "Duane Powell",
- "id" : "Duane Powell"
+ ]
+ },
+ {
+ "id" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld",
+ "data" : [
+ [
+ "Perl 5",
+ 2
+ ],
+ [
+ "Perl 6",
+ 1
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ]
},
{
"name" : "Ozzy",
+ "id" : "Ozzy",
"data" : [
[
"Perl 6",
1
]
- ],
- "id" : "Ozzy"
+ ]
},
{
- "id" : "Roger Bell West",
"data" : [
[
"Perl 5",
2
]
],
+ "id" : "Roger Bell West",
"name" : "Roger Bell West"
},
{
"name" : "Ruben Westerberg",
+ "id" : "Ruben Westerberg",
"data" : [
[
"Perl 5",
@@ -88,8 +67,7 @@
"Perl 6",
2
]
- ],
- "id" : "Ruben Westerberg"
+ ]
},
{
"data" : [
@@ -98,21 +76,67 @@
2
]
],
- "name" : "Simon Proctor",
- "id" : "Simon Proctor"
+ "id" : "Simon Proctor",
+ "name" : "Simon Proctor"
},
{
- "name" : "Steven Wilson",
"data" : [
[
"Perl 5",
1
]
],
- "id" : "Steven Wilson"
+ "id" : "Steven Wilson",
+ "name" : "Steven Wilson"
}
]
},
+ "xAxis" : {
+ "type" : "category"
+ },
+ "series" : [
+ {
+ "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 018",
+ "data" : [
+ {
+ "name" : "Duane Powell",
+ "drilldown" : "Duane Powell",
+ "y" : 2
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld"
+ },
+ {
+ "name" : "Ozzy",
+ "drilldown" : "Ozzy",
+ "y" : 1
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Roger Bell West",
+ "name" : "Roger Bell West"
+ },
+ {
+ "y" : 4,
+ "name" : "Ruben Westerberg",
+ "drilldown" : "Ruben Westerberg"
+ },
+ {
+ "y" : 2,
+ "name" : "Simon Proctor",
+ "drilldown" : "Simon Proctor"
+ },
+ {
+ "name" : "Steven Wilson",
+ "drilldown" : "Steven Wilson",
+ "y" : 1
+ }
+ ]
+ }
+ ],
"plotOptions" : {
"series" : {
"dataLabels" : {
@@ -122,21 +146,20 @@
"borderWidth" : 0
}
},
- "xAxis" : {
- "type" : "category"
+ "subtitle" : {
+ "text" : "[Champions: 7] Last updated at 2019-07-25 11:22:24 GMT"
},
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
- "title" : {
- "text" : "Perl Weekly Challenge - 018"
+ "tooltip" : {
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : 1
},
"legend" : {
"enabled" : 0
- },
- "chart" : {
- "type" : "column"
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 6fb5b70882..4b890613ec 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,63 +1,63 @@
{
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- }
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions - 2019"
},
- "subtitle" : {
- "text" : "Last updated at 2019-07-24 16:36:54 GMT"
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
},
- "yAxis" : {
- "title" : {
- "text" : null
- },
- "min" : 0
+ "subtitle" : {
+ "text" : "Last updated at 2019-07-25 11:22:41 GMT"
},
"series" : [
{
- "dataLabels" : {
- "color" : "#FFFFFF",
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- },
- "enabled" : "true",
- "align" : "right",
- "rotation" : -90,
- "format" : "{point.y:.0f}",
- "y" : 10
- },
+ "name" : "Contributions",
"data" : [
[
"Blog",
- 163
+ 164
],
[
"Perl 5",
- 724
+ 726
],
[
"Perl 6",
- 416
+ 417
]
],
- "name" : "Contributions"
+ "dataLabels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ },
+ "format" : "{point.y:.0f}",
+ "align" : "right",
+ "rotation" : -90,
+ "color" : "#FFFFFF",
+ "enabled" : "true",
+ "y" : 10
+ }
}
],
- "legend" : {
- "enabled" : "false"
- },
"chart" : {
"type" : "column"
},
- "title" : {
- "text" : "Perl Weekly Challenge Contributions - 2019"
+ "xAxis" : {
+ "type" : "category",
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
+ }
},
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
+ "legend" : {
+ "enabled" : "false"
+ },
+ "yAxis" : {
+ "min" : 0,
+ "title" : {
+ "text" : null
+ }
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 2b1cc2b59c..14fbb945ef 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,18 +1,13 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
"series" : [
{
"name" : "Perl Weekly Challenge Languages",
"colorByPoint" : "true",
"data" : [
{
- "drilldown" : "001",
+ "y" : 123,
"name" : "#001",
- "y" : 123
+ "drilldown" : "001"
},
{
"drilldown" : "002",
@@ -20,102 +15,90 @@
"y" : 104
},
{
- "y" : 66,
+ "drilldown" : "003",
"name" : "#003",
- "drilldown" : "003"
+ "y" : 66
},
{
"drilldown" : "004",
- "name" : "#004",
- "y" : 84
+ "y" : 84,
+ "name" : "#004"
},
{
- "y" : 66,
+ "drilldown" : "005",
"name" : "#005",
- "drilldown" : "005"
+ "y" : 66
},
{
- "drilldown" : "006",
+ "y" : 47,
"name" : "#006",
- "y" : 47
+ "drilldown" : "006"
},
{
+ "y" : 54,
"name" : "#007",
- "drilldown" : "007",
- "y" : 54
+ "drilldown" : "007"
},
{
"name" : "#008",
- "drilldown" : "008",
- "y" : 67
+ "y" : 67,
+ "drilldown" : "008"
},
{
- "name" : "#009",
"drilldown" : "009",
- "y" : 65
+ "y" : 65,
+ "name" : "#009"
},
{
- "y" : 58,
"drilldown" : "010",
+ "y" : 58,
"name" : "#010"
},
{
+ "drilldown" : "011",
"y" : 77,
- "name" : "#011",
- "drilldown" : "011"
+ "name" : "#011"
},
{
- "y" : 81,
"drilldown" : "012",
- "name" : "#012"
+ "name" : "#012",
+ "y" : 81
},
{
- "name" : "#013",
"drilldown" : "013",
+ "name" : "#013",
"y" : 74
},
{
- "y" : 94,
"drilldown" : "014",
- "name" : "#014"
+ "name" : "#014",
+ "y" : 94
},
{
"name" : "#015",
- "drilldown" : "015",
- "y" : 90
+ "y" : 90,
+ "drilldown" : "015"
},
{
- "drilldown" : "016",
+ "y" : 64,
"name" : "#016",
- "y" : 64
+ "drilldown" : "016"
},
{
- "drilldown" : "017",
"name" : "#017",
- "y" : 77
+ "y" : 77,
+ "drilldown" : "017"
},
{
- "y" : 12,
"drilldown" : "018",
- "name" : "#018"
+ "name" : "#018",
+ "y" : 16
}
]
}
],
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
- },
- "xAxis" : {
- "type" : "category"
- },
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-07-24 16:36:54 GMT"
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-07-25 11:22:41 GMT"
},
"drilldown" : {
"series" : [
@@ -138,7 +121,6 @@
"name" : "001"
},
{
- "id" : "002",
"name" : "002",
"data" : [
[
@@ -153,7 +135,8 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "002"
},
{
"data" : [
@@ -170,10 +153,11 @@
8
]
],
- "name" : "003",
- "id" : "003"
+ "id" : "003",
+ "name" : "003"
},
{
+ "id" : "004",
"data" : [
[
"Perl 5",
@@ -188,7 +172,6 @@
9
]
],
- "id" : "004",
"name" : "004"
},
{
@@ -206,10 +189,11 @@
11
]
],
- "name" : "005",
- "id" : "005"
+ "id" : "005",
+ "name" : "005"
},
{
+ "name" : "006",
"data" : [
[
"Perl 5",
@@ -224,12 +208,10 @@
6
]
],
- "name" : "006",
"id" : "006"
},
{
"name" : "007",
- "id" : "007",
"data" : [
[
"Perl 5",
@@ -243,10 +225,10 @@
"Blog",
8
]
- ]
+ ],
+ "id" : "007"
},
{
- "id" : "008",
"name" : "008",
"data" : [
[
@@ -261,7 +243,8 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "008"
},
{
"data" : [
@@ -282,8 +265,6 @@
"name" : "009"
},
{
- "name" : "010",
- "id" : "010",
"data" : [
[
"Perl 5",
@@ -297,9 +278,12 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "010",
+ "name" : "010"
},
{
+ "id" : "011",
"data" : [
[
"Perl 5",
@@ -314,12 +298,9 @@
8
]
],
- "name" : "011",
- "id" : "011"
+ "name" : "011"
},
{
- "id" : "012",
- "name" : "012",
"data" : [
[
"Perl 5",
@@ -333,7 +314,9 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "012",
+ "name" : "012"
},
{
"name" : "013",
@@ -354,6 +337,8 @@
]
},
{
+ "name" : "014",
+ "id" : "014",
"data" : [
[
"Perl 5",
@@ -367,11 +352,11 @@
"Blog",
13
]
- ],
- "name" : "014",
- "id" : "014"
+ ]
},
{
+ "name" : "015",
+ "id" : "015",
"data" : [
[
"Perl 5",
@@ -385,13 +370,9 @@
"Blog",
12
]
- ],
- "id" : "015",
- "name" : "015"
+ ]
},
{
- "name" : "016",
- "id" : "016",
"data" : [
[
"Perl 5",
@@ -405,7 +386,9 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "016",
+ "name" : "016"
},
{
"name" : "017",
@@ -429,15 +412,15 @@
"data" : [
[
"Perl 5",
- 7
+ 9
],
[
"Perl 6",
- 5
+ 6
],
[
"Blog",
- 0
+ 1
]
],
"id" : "018",
@@ -449,13 +432,30 @@
"text" : "Perl Weekly Challenge Language"
},
"tooltip" : {
+ "followPointer" : "true",
"pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
- "headerFormat" : "<span style=\"font-size:11px\"></span>",
- "followPointer" : "true"
+ "headerFormat" : "<span style=\"font-size:11px\"></span>"
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
},
"legend" : {
"enabled" : "false"
},
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
"chart" : {
"type" : "column"
}
diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json
index a8474ed180..3a189391fd 100644
--- a/stats/pwc-leaders.json
+++ b/stats/pwc-leaders.json
@@ -1,76 +1,74 @@
{
- "subtitle" : {
- "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-07-24 16:36:51 GMT"
+ "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/>"
+ "title" : {
+ "text" : "Perl Weekly Challenge Leaders (TOP 50)"
},
"drilldown" : {
"series" : [
{
+ "id" : "Laurent Rosenfeld",
"data" : [
[
"Perl 6",
- 43
+ 34
],
[
"Blog",
- 4
+ 22
],
[
"Perl 5",
- 43
+ 36
]
],
- "id" : "Joelle Maslak",
- "name" : "Joelle Maslak"
+ "name" : "Laurent Rosenfeld"
},
{
+ "id" : "Joelle Maslak",
"data" : [
[
- "Blog",
- 21
+ "Perl 5",
+ 43
],
[
"Perl 6",
- 33
+ 43
],
[
- "Perl 5",
- 34
+ "Blog",
+ 4
]
],
- "id" : "Laurent Rosenfeld",
- "name" : "Laurent Rosenfeld"
+ "name" : "Joelle Maslak"
},
{
- "name" : "Jaldhar H. Vyas",
+ "id" : "Jaldhar H. Vyas",
"data" : [
[
- "Perl 5",
- 34
- ],
- [
"Perl 6",
33
],
[
"Blog",
4
+ ],
+ [
+ "Perl 5",
+ 34
]
],
- "id" : "Jaldhar H. Vyas"
+ "name" : "Jaldhar H. Vyas"
},
{
"data" : [
[
- "Perl 5",
+ "Perl 6",
33
],
[
- "Perl 6",
+ "Perl 5",
33
]
],
@@ -78,36 +76,36 @@
"name" : "Ruben Westerberg"
},
{
- "name" : "Athanasius",
"data" : [
[
- "Perl 5",
- 37
+ "Perl 6",
+ 13
],
[
"Blog",
3
],
[
- "Perl 6",
- 13
+ "Perl 5",
+ 37
]
],
- "id" : "Athanasius"
+ "id" : "Athanasius",
+ "name" : "Athanasius"
},
{
- "name" : "Adam Russell",
+ "id" : "Adam Russell",
"data" : [
[
- "Perl 5",
- 35
- ],
- [
"Blog",
17
+ ],
+ [
+ "Perl 5",
+ 35
]
],
- "id" : "Adam Russell"
+ "name" : "Adam Russell"
},
{
"data" : [
@@ -120,26 +118,26 @@
16
]
],
- "name" : "Arne Sommer",
- "id" : "Arne Sommer"
+ "id" : "Arne Sommer",
+ "name" : "Arne Sommer"
},
{
+ "name" : "Simon Proctor",
"id" : "Simon Proctor",
"data" : [
[
- "Perl 6",
- 29
- ],
- [
"Blog",
7
],
[
+ "Perl 6",
+ 29
+ ],
+ [
"Perl 5",
4
]
- ],
- "name" : "Simon Proctor"
+ ]
},
{
"data" : [
@@ -152,32 +150,32 @@
13
]
],
- "name" : "E. Choroba",
- "id" : "E. Choroba"
+ "id" : "E. Choroba",
+ "name" : "E. Choroba"
},
{
- "id" : "Francis Whittle",
+ "name" : "Francis Whittle",
"data" : [
[
- "Perl 6",
- 31
- ],
- [
"Blog",
8
+ ],
+ [
+ "Perl 6",
+ 31
]
],
- "name" : "Francis Whittle"
+ "id" : "Francis Whittle"
},
{
"data" : [
[
- "Blog",
- 11
- ],
-