aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-007/athanasius/perl5/ch-1.pl17
-rw-r--r--challenge-007/athanasius/perl5/ch-2.pl188
-rw-r--r--stats/pwc-current.json155
-rw-r--r--stats/pwc-language-breakdown.json110
-rw-r--r--stats/pwc-leaders.json868
-rw-r--r--stats/pwc-summary-1-30.json122
-rw-r--r--stats/pwc-summary-31-60.json102
-rw-r--r--stats/pwc-summary-61-90.json42
-rw-r--r--stats/pwc-summary.json38
9 files changed, 931 insertions, 711 deletions
diff --git a/challenge-007/athanasius/perl5/ch-1.pl b/challenge-007/athanasius/perl5/ch-1.pl
new file mode 100644
index 0000000000..2d8cfb21dc
--- /dev/null
+++ b/challenge-007/athanasius/perl5/ch-1.pl
@@ -0,0 +1,17 @@
+use strict;
+use warnings;
+use Const::Fast;
+
+const my $FIRST => 0;
+const my $LAST => 50;
+
+for my $n ($FIRST .. $LAST)
+{
+ next if $n == 0; # Because 0/0 is undefined
+
+ my $sum = 0;
+ $sum += $_ for split //, $n;
+
+ print "$n\n" if $n % $sum == 0;
+}
+
diff --git a/challenge-007/athanasius/perl5/ch-2.pl b/challenge-007/athanasius/perl5/ch-2.pl
new file mode 100644
index 0000000000..2dc3d014a2
--- /dev/null
+++ b/challenge-007/athanasius/perl5/ch-2.pl
@@ -0,0 +1,188 @@
+use strict;
+use warnings;
+use Const::Fast;
+use List::Util;
+
+# Download from https://crosswordman.com/wordlist.html :-
+
+const my $WORD_FILE => 'UK Advanced Cryptics Dictionary.txt';
+const my $MAX_LADDER_SZ => 10;
+const my $DEFAULT_WORD1 => 'cold';
+const my $DEFAULT_WORD2 => 'warm';
+
+MAIN:
+{
+ my $word1 = $ARGV[0] // $DEFAULT_WORD1;
+ my $word2 = $ARGV[1] // $DEFAULT_WORD2;
+ my $dictionary = init_dictionary();
+ my $wordlist = $dictionary->[ length $word1 ];
+
+ if (my @ladder = find_shortest_ladder($word1, $word2, $wordlist))
+ {
+ print "\nShortest ladder found:\n(",
+ join(', ', map { '"' . $_ . '"' } @ladder), ")\n";
+ }
+ else
+ {
+ print "\nNo ladder found from '$word1' to '$word2'\n";
+ }
+}
+
+sub init_dictionary
+{
+ my @dictionary;
+
+ open(my $fh, '<', $WORD_FILE)
+ or die "Cannot open file '$WORD_FILE' for reading, stopped";
+
+ while (<$fh>)
+ {
+ next if 1 .. / ^ -+ $ /x; # Skip header
+ chomp;
+ next if /[^a-z]/; # Skip capital letters, apostrophes,
+ # hyphens, and phrases (whitespace)
+ push $dictionary[ length ]->@*, $_;
+ }
+
+ close $fh
+ or die "Cannot close file '$WORD_FILE', stopped";
+
+ return \@dictionary;
+}
+
+sub find_shortest_ladder
+{
+ my ($word1, $word2, $wordlist) = @_;
+ my @solution;
+
+ if (args_are_valid($word1, $word2, $wordlist))
+ {
+ my @ladders = ( Ladder->new($word1, $word2, [ $word1 ], $wordlist) );
+
+ OUTER:
+ for (1 .. $MAX_LADDER_SZ)
+ {
+ my @new_ladders;
+
+ while (my $ladder = shift @ladders)
+ {
+ for my $next ($ladder->get_next_words()->@*)
+ {
+ my @new_ladder = ($ladder->get_ladder()->@*, $next);
+
+ if ($next eq $word2)
+ {
+ @solution = @new_ladder;
+ last OUTER;
+ }
+
+ push @new_ladders,
+ Ladder->new($next, $word2, \@new_ladder, $wordlist);
+ }
+ }
+
+ @ladders = @new_ladders;
+ }
+ }
+
+ return @solution;
+}
+
+sub args_are_valid
+{
+ my ($w1, $w2, $list) = @_;
+ my $args_are_valid = 0;
+
+ if (!defined $w1)
+ {
+ warn "\nFirst word is undefined";
+ }
+ elsif (!defined $w2)
+ {
+ warn "\nSecond word is undefined";
+ }
+ elsif ((my $l1 = length $w1) != (my $l2 = length $w2))
+ {
+ warn "\nUnequal word lengths: $w1($l1) and $w2($l2)";
+ }
+ elsif ($w1 eq $w2)
+ {
+ warn "\nInput words are equal";
+ }
+ elsif ((my $size = scalar @$list) <= 2)
+ {
+ warn sprintf("\nWord list contains %d element%s",
+ $size, ($size == 1) ? '' : 's');
+ }
+ elsif ($l1 != (my $l3 = length (my $w0 = $list->[0])))
+ {
+ warn "\nUnequal word lengths: $w1 ($l1) and $w0 ($l3) " .
+ '[the first word in the list]';
+ }
+ elsif (List::Util::none { $w1 eq $_ } @$list)
+ {
+ warn "\n'$w1' not found in word list";
+ }
+ elsif (List::Util::none { $w2 eq $_ } @$list)
+ {
+ warn "\n'$w2' not found in word list";
+ }
+ else
+ {
+ $args_are_valid = 1;
+ }
+
+ return $args_are_valid;
+}
+
+package Ladder
+{
+ sub new
+ {
+ my ($class, $first, $last, $ladder, $wordlist) = @_;
+ my $self =
+ {
+ start_word => $first,
+ end_word => $last,
+ ladder => $ladder,
+ wordlist => $wordlist,
+ };
+
+ return bless $self, $class;
+ }
+
+ sub get_ladder
+ {
+ my ($self) = @_;
+
+ return $self->{ladder};
+ }
+
+ sub get_next_words
+ {
+ my ($self) = @_;
+ my $word1 = $self->{start_word};
+ my @ladder = $self->{ladder}->@*;
+ my @word1 = split //, $word1;
+ my $max_i = length($word1) - 1;
+ my @candidates;
+
+ for my $word2 ( $self->{wordlist}->@* )
+ {
+ next if List::Util::any { $word2 eq $_ } @ladder;
+
+
+ my @word2 = split //, $word2;
+ my $diffs = 0;
+
+ for my $i (0 .. $max_i)
+ {
+ ++$diffs if $word1[$i] ne $word2[$i];
+ }
+
+ push @candidates, $word2 if $diffs == 1;
+ }
+
+ return \@candidates;
+ }
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 05392493f0..e74042d289 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,51 +1,109 @@
{
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
- }
+ "subtitle" : {
+ "text" : "[Champions: 6] Last updated at 2019-05-09 15:54:18 GMT"
},
- "chart" : {
- "type" : "column"
+ "series" : [
+ {
+ "colorByPoint" : 1,
+ "name" : "Champions",
+ "data" : [
+ {
+ "drilldown" : "Athanasius",
+ "y" : 2,
+ "name" : "Athanasius"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Dave Jacoby",
+ "name" : "Dave Jacoby"
+ },
+ {
+ "drilldown" : "Gustavo Chaves",
+ "y" : 2,
+ "name" : "Gustavo Chaves"
+ },
+ {
+ "name" : "Joelle Maslak",
+ "drilldown" : "Joelle Maslak",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Ozzy",
+ "y" : 1,
+ "name" : "Ozzy"
+ },
+ {
+ "y" : 1,
+ "drilldown" : "Simon Proctor",
+ "name" : "Simon Proctor"
+ }
+ ]
+ }
+ ],
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
},
"legend" : {
"enabled" : 0
},
+ "title" : {
+ "text" : "Perl Weekly Challenge - 007"
+ },
"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/>",
- "pointerFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>"
},
- "title" : {
- "text" : "Perl Weekly Challenge - 007"
+ "chart" : {
+ "type" : "column"
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
+ },
+ "xAxis" : {
+ "type" : "category"
},
"drilldown" : {
"series" : [
{
- "id" : "Dave Jacoby",
"data" : [
[
"Perl 5",
2
]
],
- "name" : "Dave Jacoby"
+ "id" : "Athanasius",
+ "name" : "Athanasius"
},
{
- "id" : "Gustavo Chaves",
+ "name" : "Dave Jacoby",
"data" : [
[
"Perl 5",
2
]
],
- "name" : "Gustavo Chaves"
+ "id" : "Dave Jacoby"
+ },
+ {
+ "name" : "Gustavo Chaves",
+ "id" : "Gustavo Chaves",
+ "data" : [
+ [
+ "Perl 5",
+ 2
+ ]
+ ]
},
{
- "name" : "Joelle Maslak",
"data" : [
[
"Perl 5",
@@ -56,72 +114,29 @@
1
]
],
- "id" : "Joelle Maslak"
+ "id" : "Joelle Maslak",
+ "name" : "Joelle Maslak"
},
{
- "id" : "Ozzy",
- "name" : "Ozzy",
"data" : [
[
"Perl 6",
1
]
- ]
+ ],
+ "id" : "Ozzy",
+ "name" : "Ozzy"
},
{
"name" : "Simon Proctor",
+ "id" : "Simon Proctor",
"data" : [
[
"Perl 6",
1
]
- ],
- "id" : "Simon Proctor"
+ ]
}
]
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "subtitle" : {
- "text" : "[Champions: 5] Last updated at 2019-05-09 10:07:03 GMT"
- },
- "xAxis" : {
- "type" : "category"
- },
- "series" : [
- {
- "colorByPoint" : 1,
- "data" : [
- {
- "y" : 2,
- "drilldown" : "Dave Jacoby",
- "name" : "Dave Jacoby"
- },
- {
- "drilldown" : "Gustavo Chaves",
- "name" : "Gustavo Chaves",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "Joelle Maslak",
- "drilldown" : "Joelle Maslak"
- },
- {
- "y" : 1,
- "drilldown" : "Ozzy",
- "name" : "Ozzy"
- },
- {
- "y" : 1,
- "drilldown" : "Simon Proctor",
- "name" : "Simon Proctor"
- }
- ],
- "name" : "Champions"
- }
- ]
+ }
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 2eca40489a..c23602de25 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,17 +1,4 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "xAxis" : {
- "type" : "category"
- },
- "tooltip" : {
- "headerFormat" : "<span style=\"font-size:11px\"></span>",
- "followPointer" : "true",
- "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>"
- },
"series" : [
{
"data" : [
@@ -21,64 +8,47 @@
"name" : "#001 [P5=76 P6=37]"
},
{
- "y" : 95,
+ "name" : "#002 [P5=63 P6=32]",
"drilldown" : "002",
- "name" : "#002 [P5=63 P6=32]"
+ "y" : 95
},
{
- "name" : "#003 [P5=32 P6=26]",
+ "y" : 58,
"drilldown" : "003",
- "y" : 58
+ "name" : "#003 [P5=32 P6=26]"
},
{
+ "name" : "#004 [P5=46 P6=29]",
"drilldown" : "004",
- "y" : 75,
- "name" : "#004 [P5=46 P6=29]"
+ "y" : 75
},
{
"name" : "#005 [P5=33 P6=22]",
- "drilldown" : "005",
- "y" : 55
+ "y" : 55,
+ "drilldown" : "005"
},
{
- "y" : 41,
+ "name" : "#006 [P5=27 P6=14]",
"drilldown" : "006",
- "name" : "#006 [P5=27 P6=14]"
+ "y" : 41
},
{
- "name" : "#007 [P5=5 P6=3]",
+ "name" : "#007 [P5=7 P6=3]",
"drilldown" : "007",
- "y" : 8
+ "y" : 10
}
],
- "colorByPoint" : "true",
- "name" : "Perl Weekly Challenge Languages"
+ "name" : "Perl Weekly Challenge Languages",
+ "colorByPoint" : "true"
}
],
"legend" : {
"enabled" : "false"
},
- "chart" : {
- "type" : "column"
- },
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-05-09 10:07:31 GMT"
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- },
- "borderWidth" : 0
- }
- },
- "title" : {
- "text" : "Perl Weekly Challenge Language"
- },
"drilldown" : {
"series" : [
{
+ "name" : "001",
"id" : "001",
"data" : [
[
@@ -89,11 +59,10 @@
"Perl 6",
37
]
- ],
- "name" : "001"
+ ]
},
{
- "name" : "002",
+ "id" : "002",
"data" : [
[
"Perl 5",
@@ -104,9 +73,10 @@
32
]
],
- "id" : "002"
+ "name" : "002"
},
{
+ "id" : "003",
"data" : [
[
"Perl 5",
@@ -117,11 +87,9 @@
26
]
],
- "name" : "003",
- "id" : "003"
+ "name" : "003"
},
{
- "id" : "004",
"name" : "004",
"data" : [
[
@@ -132,10 +100,10 @@
"Perl 6",
29
]
- ]
+ ],
+ "id" : "004"
},
{
- "id" : "005",
"data" : [
[
"Perl 5",
@@ -146,6 +114,7 @@
22
]
],
+ "id" : "005",
"name" : "005"
},
{
@@ -167,7 +136,7 @@
"data" : [
[
"Perl 5",
- 5
+ 7
],
[
"Perl 6",
@@ -177,5 +146,36 @@
"name" : "007"
}
]
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-05-09 15:54:28 GMT"
+ },
+ "tooltip" : {
+ "headerFormat" : "<span style=\"font-size:11px\"></span>",
+ "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : "true"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Language"
}
}
diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json
index c0d500b3d2..4d36e9aff4 100644
--- a/stats/pwc-leaders.json
+++ b/stats/pwc-leaders.json
@@ -1,111 +1,394 @@
{
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Score"
+ }
+ },
"xAxis" : {
"type" : "category"
},
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ }
+ }
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Leaders (TOP 50)"
+ },
+ "series" : [
+ {
+ "colorByPoint" : "true",
+ "data" : [
+ {
+ "drilldown" : "Laurent Rosenfeld",
+ "y" : 60,
+ "name" : "#1: Laurent Rosenfeld"
+ },
+ {
+ "drilldown" : "Joelle Maslak",
+ "y" : 54,
+ "name" : "#2: Joelle Maslak"
+ },
+ {
+ "drilldown" : "Jaldhar H. Vyas",
+ "y" : 48,
+ "name" : "#3: Jaldhar H. Vyas"
+ },
+ {
+ "drilldown" : "Simon Proctor",
+ "y" : 42,
+ "name" : "#4: Simon Proctor"
+ },
+ {
+ "y" : 40,
+ "drilldown" : "Ruben Westerberg",
+ "name" : "#5: Ruben Westerberg"
+ },
+ {
+ "drilldown" : "Adam Russell",
+ "y" : 36,
+ "name" : "#6: Adam Russell"
+ },
+ {
+ "y" : 36,
+ "drilldown" : "Dr James A. Smith",
+ "name" : "#7: Dr James A. Smith"
+ },
+ {
+ "y" : 36,
+ "drilldown" : "Jo Christian Oterhals",
+ "name" : "#8: Jo Christian Oterhals"
+ },
+ {
+ "name" : "#9: Kian-Meng Ang",
+ "drilldown" : "Kian-Meng Ang",
+ "y" : 32
+ },
+ {
+ "name" : "#10: Nick Logan",
+ "drilldown" : "Nick Logan",
+ "y" : 32
+ },
+ {
+ "y" : 30,
+ "drilldown" : "Arne Sommer",
+ "name" : "#11: Arne Sommer"
+ },
+ {
+ "name" : "#12: Gustavo Chaves",
+ "drilldown" : "Gustavo Chaves",
+ "y" : 30
+ },
+ {
+ "drilldown" : "Athanasius",
+ "y" : 28,
+ "name" : "#13: Athanasius"
+ },
+ {
+ "name" : "#14: Lars Balker",
+ "drilldown" : "Lars Balker",
+ "y" : 28
+ },
+ {
+ "drilldown" : "Mark Senn",
+ "y" : 26,
+ "name" : "#15: Mark Senn"
+ },
+ {
+ "y" : 24,
+ "drilldown" : "Andrezgz",
+ "name" : "#16: Andrezgz"
+ },
+ {
+ "name" : "#17: Doug Schrag",
+ "drilldown" : "Doug Schrag",
+ "y" : 20
+ },
+ {
+ "name" : "#18: Duncan C. White",
+ "drilldown" : "Duncan C. White",
+ "y" : 20
+ },
+ {
+ "drilldown" : "Francis Whittle",
+ "y" : 18,
+ "name" : "#19: Francis Whittle"
+ },
+ {
+ "drilldown" : "Robert Gratza",
+ "y" : 16,
+ "name" : "#20: Robert Gratza"
+ },
+ {
+ "name" : "#21: Daniel Mantovani",
+ "drilldown" : "Daniel Mantovani",
+ "y" : 14
+ },
+ {
+ "drilldown" : "Dave Jacoby",
+ "y" : 14,
+ "name" : "#22: Dave Jacoby"
+ },
+ {
+ "name" : "#23: John Barrett",
+ "drilldown" : "John Barrett",
+ "y" : 14
+ },
+ {
+ "name" : "#24: E. Choroba",
+ "y" : 12,
+ "drilldown" : "E. Choroba"
+ },
+ {
+ "name" : "#25: Maxim Kolodyazhny",
+ "drilldown" : "Maxim Kolodyazhny",
+ "y" : 12
+ },
+ {
+ "drilldown" : "Ozzy",
+ "y" : 12,
+ "name" : "#26: Ozzy"
+ },
+ {
+ "y" : 12,
+ "drilldown" : "Philippe Bruhat",
+ "name" : "#27: Philippe Bruhat"
+ },
+ {
+ "name" : "#28: Sergio Iglesias",
+ "y" : 12,
+ "drilldown" : "Sergio Iglesias"
+ },
+ {
+ "y" : 10,
+ "drilldown" : "Arpad Toth",
+ "name" : "#29: Arpad Toth"
+ },
+ {
+ "name" : "#30: Khalid",
+ "drilldown" : "Khalid",
+ "y" : 10
+ },
+ {
+ "name" : "#31: Steve Rogerson",
+ "y" : 10,
+ "drilldown" : "Steve Rogerson"
+ },
+ {
+ "name" : "#32: Veesh Goldman",
+ "y" : 10,
+ "drilldown" : "Veesh Goldman"
+ },
+ {
+ "name" : "#33: Alex Daniel",
+ "drilldown" : "Alex Daniel",
+ "y" : 8
+ },
+ {
+ "drilldown" : "Bob Kleemann",
+ "y" : 8,
+ "name" : "#34: Bob Kleemann"
+ },
+ {
+ "drilldown" : "Chenyf",
+ "y" : 8,
+ "name" : "#35: Chenyf"
+ },
+ {
+ "name" : "#36: David Kayal",
+ "y" : 8,
+ "drilldown" : "David Kayal"
+ },
+ {
+ "y" : 8,
+ "drilldown" : "Jaime Corchado",
+ "name" : "#37: Jaime Corchado"
+ },
+ {
+ "name" : "#38: Matt Latusek",
+ "y" : 8,
+ "drilldown" : "Matt Latusek"
+ },
+ {
+ "name" : "#39: Simon Reinhardt",
+ "y" : 8,
+ "drilldown" : "Simon Reinhardt"
+ },
+ {
+ "drilldown" : "Steven Wilson",
+ "y" : 8,
+ "name" : "#40: Steven Wilson"
+ },
+ {
+ "y" : 8,
+ "drilldown" : "Tim Smith",
+ "name" : "#41: Tim Smith"
+ },
+ {
+ "name" : "#42: Ailbhe Tweedie",
+ "y" : 6,
+ "drilldown" : "Ailbhe Tweedie"
+ },
+ {
+ "name" : "#43: Alicia Bielsa",
+ "y" : 6,
+ "drilldown" : "Alicia Bielsa"
+ },
+ {
+ "name" : "#44: Dave Cross",
+ "drilldown" : "Dave Cross",
+ "y" : 6
+ },
+ {
+ "y" : 6,
+ "drilldown" : "Freddie B",
+ "name" : "#45: Freddie B"
+ },
+ {
+ "y" : 6,
+ "drilldown" : "Jeremy Carman",
+ "name" : "#46: Jeremy Carman"
+ },
+ {
+ "y" : 6,
+ "drilldown" : "Kivanc Yazan",
+ "name" : "#47: Kivanc Yazan"
+ },
+ {
+ "name" : "#48: Neil Bowers",
+ "drilldown" : "Neil Bowers",
+ "y" : 6
+ },
+ {
+ "name" : "#49: Pete Houston",
+ "y" : 6,
+ "drilldown" : "Pete Houston"
+ },
+ {
+ "y" : 6,
+ "drilldown" : "Sean Meininger",
+ "name" : "#50: Sean Meininger"
+ }
+ ],
+ "name" : "Perl Weekly Challenge Leaders"
+ }
+ ],
+ "tooltip" : {
+ "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : "true",
+ "headerFormat" : "<span style=\"font-size:11px\"></span>"
+ },
"chart" : {
"type" : "column"
},
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-05-09 15:54:24 GMT"
+ },
"drilldown" : {
"series" : [
{
+ "id" : "Laurent Rosenfeld",
"data" : [
[
- "Perl 6",
- 11
- ],
- [
"Perl 5",
12
],
[
+ "Perl 6",
+ 11
+ ],
+ [
"Blog",
7
]
],
- "id" : "Laurent Rosenfeld",
"name" : "Laurent Rosenfeld"
},
{
"data" : [
[
- "Blog",
- 1
- ],
- [
"Perl 5",
13
],
[
"Perl 6",
13
+ ],
+ [
+ "Blog",
+ 1
]
],
- "name" : "Joelle Maslak",
- "id" : "Joelle Maslak"
+ "id" : "Joelle Maslak",
+ "name" : "Joelle Maslak"
},
{
"data" : [
[
- "Perl 5",
+ "Perl 6",
12
],
[
- "Perl 6",
+ "Perl 5",
12
]
],
- "name" : "Jaldhar H. Vyas",
- "id" : "Jaldhar H. Vyas"
+ "id" : "Jaldhar H. Vyas",
+ "name" : "Jaldhar H. Vyas"
},
{
+ "id" : "Simon Proctor",
"data" : [
[
"Blog",
5
],
[
- "Perl 6",
- 12
- ],
- [
"Perl 5",
4
+ ],
+ [
+ "Perl 6",
+ 12
]
],
- "id" : "Simon Proctor",
"name" : "Simon Proctor"
},
{
+ "name" : "Ruben Westerberg",
"data" : [
[
- "Perl 6",
+ "Perl 5",
10
],
[
- "Perl 5",
+ "Perl 6",
10
]
],
- "id" : "Ruben Westerberg",
- "name" : "Ruben Westerberg"
+ "id" : "Ruben Westerberg"
},
{
+ "name" : "Adam Russell",
+ "id" : "Adam Russell",
"data" : [
[
- "Blog",
- 6
- ],
- [
"Perl 5",
12
+ ],
+ [
+ "Blog",
+ 6
]
- ],
- "name" : "Adam Russell",
- "id" : "Adam Russell"
+ ]
},
{
- "id" : "Dr James A. Smith",
"name" : "Dr James A. Smith",
+ "id" : "Dr James A. Smith",
"data" : [
[
"Perl 5",
@@ -118,45 +401,45 @@
]
},
{
- "id" : "Jo Christian Oterhals",
"name" : "Jo Christian Oterhals",
"data" : [
[
- "Blog",
- 4
- ],
- [
"Perl 6",
8
],
[
"Perl 5",
6
+ ],
+ [
+ "Blog",
+ 4
]
- ]
+ ],
+ "id" : "Jo Christian Oterhals"
},
{
+ "name" : "Kian-Meng Ang",
"data" : [
[
- "Perl 5",
- 11
- ],
- [
"Blog",
5
+ ],
+ [
+ "Perl 5",
+ 11
]
],
- "id" : "Kian-Meng Ang",
- "name" : "Kian-Meng Ang"
+ "id" : "Kian-Meng Ang"
},
{
"data" : [
[
- "Perl 6",
+ "Perl 5",
8
],
[
- "Perl 5",
+ "Perl 6",
8
]
],
@@ -164,142 +447,141 @@
"name" : "Nick Logan"
},
{
+ "id" : "Arne Sommer",
"data" : [
[
- "Perl 6",
- 10
- ],
- [
"Blog",
5
+ ],
+ [
+ "Perl 6",
+ 10
]
],
- "id" : "Arne Sommer",
"name" : "Arne Sommer"
},
{
+ "id" : "Gustavo Chaves",
"data" : [
[
- "Perl 5",
- 11
- ],
- [
"Blog",
4
+ ],
+ [
+ "Perl 5",
+ 11
]
],
- "id" : "Gustavo Chaves",
"name" : "Gustavo Chaves"
},
{
"data" : [
[
"Perl 5",
- 10
- ],
- [
- "Perl 6",
-