aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-10-31 14:59:43 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-10-31 14:59:43 +0000
commitf071894759de3f7524b4c2bb9d7898b63980f8a3 (patch)
tree59089d6503c04cc5a16f847611cbcd4b142528d5
parent9248cd8275c6547fa2f43a8b438b9cd8abdbe543 (diff)
downloadperlweeklychallenge-club-f071894759de3f7524b4c2bb9d7898b63980f8a3.tar.gz
perlweeklychallenge-club-f071894759de3f7524b4c2bb9d7898b63980f8a3.tar.bz2
perlweeklychallenge-club-f071894759de3f7524b4c2bb9d7898b63980f8a3.zip
- Added solutions by Laurent Rosenfeld.
-rw-r--r--challenge-032/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-032/laurent-rosenfeld/perl5/ch-1.pl14
-rw-r--r--challenge-032/laurent-rosenfeld/perl5/ch-1a.pl19
-rw-r--r--challenge-032/laurent-rosenfeld/perl5/ch-2.pl24
-rw-r--r--challenge-032/laurent-rosenfeld/perl5/ch-2a.pl20
-rw-r--r--challenge-032/laurent-rosenfeld/perl6/ch-1.p68
-rw-r--r--challenge-032/laurent-rosenfeld/perl6/ch-1a.p617
-rw-r--r--challenge-032/laurent-rosenfeld/perl6/ch-2.p621
-rw-r--r--challenge-032/laurent-rosenfeld/perl6/ch-2a.p616
-rw-r--r--stats/pwc-current.json299
-rw-r--r--stats/pwc-language-breakdown-summary.json88
-rw-r--r--stats/pwc-language-breakdown.json188
-rw-r--r--stats/pwc-leaders.json598
-rw-r--r--stats/pwc-summary-1-30.json102
-rw-r--r--stats/pwc-summary-121-150.json46
-rw-r--r--stats/pwc-summary-31-60.json100
-rw-r--r--stats/pwc-summary-61-90.json46
-rw-r--r--stats/pwc-summary-91-120.json104
-rw-r--r--stats/pwc-summary.json38
19 files changed, 956 insertions, 793 deletions
diff --git a/challenge-032/laurent-rosenfeld/blog.txt b/challenge-032/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..4f3290bbc4
--- /dev/null
+++ b/challenge-032/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2019/10/perl-weekly-challenge-30-word-histogram-and-ascii-bar-chart.html
diff --git a/challenge-032/laurent-rosenfeld/perl5/ch-1.pl b/challenge-032/laurent-rosenfeld/perl5/ch-1.pl
new file mode 100644
index 0000000000..f2bde92eb6
--- /dev/null
+++ b/challenge-032/laurent-rosenfeld/perl5/ch-1.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+my %histo;
+while (<>) {
+ chomp;
+ s/\s+$//;
+ next if /^\s*$/; # skipping empty lines
+ $histo{$_}++;
+}
+for my $key (sort { $histo{$b} <=> $histo{$a} } keys %histo) {
+ printf "%-20s%d\n", $key, $histo{$key};
+}
diff --git a/challenge-032/laurent-rosenfeld/perl5/ch-1a.pl b/challenge-032/laurent-rosenfeld/perl5/ch-1a.pl
new file mode 100644
index 0000000000..111cb96d25
--- /dev/null
+++ b/challenge-032/laurent-rosenfeld/perl5/ch-1a.pl
@@ -0,0 +1,19 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw/say/;
+
+my %histo;
+my $csv_flag = shift;
+
+while (<>) {
+ chomp;
+ s/\s+$//;
+ next if /^\s*$/; # skipping empty lines
+ $histo{$_}++;
+}
+my $format = $csv_flag ? "%s,%d\n" : "%-20s%d\n";
+
+for my $key (sort { $histo{$b} <=> $histo{$a} } keys %histo) {
+ printf $format, $key, $histo{$key};
+}
diff --git a/challenge-032/laurent-rosenfeld/perl5/ch-2.pl b/challenge-032/laurent-rosenfeld/perl5/ch-2.pl
new file mode 100644
index 0000000000..1d965f19d9
--- /dev/null
+++ b/challenge-032/laurent-rosenfeld/perl5/ch-2.pl
@@ -0,0 +1,24 @@
+use strict;
+use warnings;
+use feature qw/say/;
+
+sub generate_chart {
+ my %data = %{$_[0]};
+ my $sort_type = $_[1] // "val";
+ my ($max, $min);
+ for my $key (keys %data) {
+ ($max, $min) = ($data{$key}, $data{$key}) unless defined $max;
+ $max = $data{$key} if $data{$key} > $max;
+ $min = $data{$key} if $data{$key} < $min;
+ }
+ my $scale_factor = 10 / ($max - $min);
+ my $sort_routine = ($sort_type =~ /val/i)
+ ? sub { $data{$b} <=> $data{$a} }
+ : sub {$a cmp $b };
+ for my $key (sort $sort_routine keys %data) {
+ printf "%15s | %s\n", $key, "#" x ($data{$key} * $scale_factor);
+ }
+}
+my $sort_type = shift;
+my $data = { cherry => 20, apple => 30, banana => 10, pear => 25};
+generate_chart $data, $sort_type;
diff --git a/challenge-032/laurent-rosenfeld/perl5/ch-2a.pl b/challenge-032/laurent-rosenfeld/perl5/ch-2a.pl
new file mode 100644
index 0000000000..3703f53b02
--- /dev/null
+++ b/challenge-032/laurent-rosenfeld/perl5/ch-2a.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw/say/;
+
+sub generate_chart {
+ my %data = %{$_[0]};
+ my ($max, $min);
+ for my $key (keys %data) {
+ ($max, $min) = ($data{$key}, $data{$key}) unless defined $max;
+ $max = $data{$key} if $data{$key} > $max;
+ $min = $data{$key} if $data{$key} < $min;
+ }
+ my $scale_factor = 10 / ($max - $min);
+ for my $key (sort { $data{$b} <=> $data{$a} } keys %data) {
+ printf "%15s | %s\n", $key, "#" x ($data{$key} * $scale_factor);
+ }
+}
+my $data = { apple => 30, cherry => 60, banana => 10, pear => 40 };
+generate_chart $data;
diff --git a/challenge-032/laurent-rosenfeld/perl6/ch-1.p6 b/challenge-032/laurent-rosenfeld/perl6/ch-1.p6
new file mode 100644
index 0000000000..e653b600f1
--- /dev/null
+++ b/challenge-032/laurent-rosenfeld/perl6/ch-1.p6
@@ -0,0 +1,8 @@
+use v6;
+
+sub MAIN (*@files) {
+ my $histo = @files.map({.IO.lines}).Bag;
+ for reverse sort {$histo{$_}}, keys $histo -> $key {
+ printf "%-20s%d\n", $key, $histo{$key};
+ }
+}
diff --git a/challenge-032/laurent-rosenfeld/perl6/ch-1a.p6 b/challenge-032/laurent-rosenfeld/perl6/ch-1a.p6
new file mode 100644
index 0000000000..12f1ba2fb9
--- /dev/null
+++ b/challenge-032/laurent-rosenfeld/perl6/ch-1a.p6
@@ -0,0 +1,17 @@
+use v6;
+subset file of Str where *.IO.f;
+
+multi sub MAIN (Int $csv, *@files where all(@files) ~~ file) {
+ my $*format = $csv ?? "%s,%d\n" !! "%-20s%d\n";
+ readfiles @files;
+}
+multi sub MAIN (*@files where all(@files) ~~ file) {
+ my $*format = "%-20s%d\n";
+ readfiles @files;
+}
+sub readfiles (@files) {
+ my $histo = @files.map({.IO.lines}).Bag;
+ for reverse sort {$histo{$_}}, keys $histo -> $key {
+ printf $*format, $key, $histo{$key};
+ }
+}
diff --git a/challenge-032/laurent-rosenfeld/perl6/ch-2.p6 b/challenge-032/laurent-rosenfeld/perl6/ch-2.p6
new file mode 100644
index 0000000000..c0097a550e
--- /dev/null
+++ b/challenge-032/laurent-rosenfeld/perl6/ch-2.p6
@@ -0,0 +1,21 @@
+use v6;
+
+sub generate_chart (%data) {
+ my ($max, $min);
+ for keys %data -> $key {
+ ($max, $min) = (%data{$key}, %data{$key}) unless defined $max;
+ $max = %data{$key} if %data{$key} > $max;
+ $min = %data{$key} if %data{$key} < $min;
+ }
+ my $scale_factor = 10 / ($max - $min);
+ my &sort_routine = ($*sort-type ~~ m:i/val/)
+ ?? { %data{$^b} <=> %data{$^a} }
+ !! {$^a cmp $^b };
+ for sort &sort_routine, keys %data -> $key {
+ printf "%15s | %s\n", $key, "#" x (%data{$key} * $scale_factor);
+ }
+}
+sub MAIN (Str $*sort-type) {
+ my $data = { apple => 3, cherry => 6, banana => 1, pear => 4 };
+ generate_chart $data;
+}
diff --git a/challenge-032/laurent-rosenfeld/perl6/ch-2a.p6 b/challenge-032/laurent-rosenfeld/perl6/ch-2a.p6
new file mode 100644
index 0000000000..0fcbc14e2f
--- /dev/null
+++ b/challenge-032/laurent-rosenfeld/perl6/ch-2a.p6
@@ -0,0 +1,16 @@
+use v6;
+
+sub generate_chart (%data) {
+ my ($max, $min);
+ for keys %data -> $key {
+ ($max, $min) = (%data{$key}, %data{$key}) unless defined $max;
+ $max = %data{$key} if %data{$key} > $max;
+ $min = %data{$key} if %data{$key} < $min;
+ }
+ my $scale_factor = 10 / ($max - $min);
+ for sort { %data{$^b} <=> %data{$^a} }, keys %data -> $key {
+ printf "%15s | %s\n", $key, "#" x (%data{$key} * $scale_factor);
+ }
+}
+my $data = { apple => 3, cherry => 6, banana => 1, pear => 4 };
+generate_chart $data;
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 5b3807ab8e..1ebc551eb9 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,149 +1,54 @@
{
- "legend" : {
- "enabled" : 0
+ "subtitle" : {
+ "text" : "[Champions: 18] Last updated at 2019-10-31 14:59:11 GMT"
},
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
}
},
"chart" : {
"type" : "column"
},
- "series" : [
- {
- "colorByPoint" : 1,
- "data" : [
- {
- "name" : "Andrezgz",
- "y" : 2,
- "drilldown" : "Andrezgz"
- },
- {
- "y" : 2,
- "drilldown" : "Dave Cross",
- "name" : "Dave Cross"
- },
- {
- "name" : "Dave Jacoby",
- "y" : 2,
- "drilldown" : "Dave Jacoby"
- },
- {
- "y" : 2,
- "drilldown" : "Duane Powell",
- "name" : "Duane Powell"
- },
- {
- "name" : "E. Choroba",
- "y" : 2,
- "drilldown" : "E. Choroba"
- },
- {
- "name" : "Fabrizio Poggi",
- "y" : 2,
- "drilldown" : "Fabrizio Poggi"
- },
- {
- "y" : 4,
- "drilldown" : "Joelle Maslak",
- "name" : "Joelle Maslak"
- },
- {
- "y" : 2,
- "drilldown" : "Lars Balker",
- "name" : "Lars Balker"
- },
- {
- "name" : "Lars Thegler",
- "drilldown" : "Lars Thegler",
- "y" : 2
- },
- {
- "name" : "Markus Holzer",
- "y" : 2,
- "drilldown" : "Markus Holzer"
- },
- {
- "name" : "Nazareno Delucca",
- "y" : 2,
- "drilldown" : "Nazareno Delucca"
- },
- {
- "drilldown" : "Prajith P",
- "y" : 2,
- "name" : "Prajith P"
- },
- {
- "name" : "Rage311",
- "drilldown" : "Rage311",
- "y" : 2
- },
- {
- "name" : "Roger Bell West",
- "y" : 2,
- "drilldown" : "Roger Bell West"
- },
- {
- "y" : 2,
- "drilldown" : "Simon Proctor",
- "name" : "Simon Proctor"
- },
- {
- "name" : "Steven Wilson",
- "y" : 2,
- "drilldown" : "Steven Wilson"
- },
- {
- "name" : "Yet Ebreo",
- "y" : 2,
- "drilldown" : "Yet Ebreo"
- }
- ],
- "name" : "Perl Weekly Challenge - 032"
- }
- ],
- "xAxis" : {
- "type" : "category"
+ "legend" : {
+ "enabled" : 0
},
"tooltip" : {
+ "followPointer" : 1,
"pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "followPointer" : 1
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>"
},
- "subtitle" : {
- "text" : "[Champions: 17] Last updated at 2019-10-31 12:32:57 GMT"
+ "title" : {
+ "text" : "Perl Weekly Challenge - 032"
},
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
+ "xAxis" : {
+ "type" : "category"
},
"drilldown" : {
"series" : [
{
- "name" : "Andrezgz",
+ "id" : "Andrezgz",
"data" : [
[
"Perl 5",
2
]
],
- "id" : "Andrezgz"
+ "name" : "Andrezgz"
},
{
+ "id" : "Dave Cross",
"name" : "Dave Cross",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Dave Cross"
+ ]
},
{
"id" : "Dave Jacoby",
@@ -156,18 +61,18 @@
"name" : "Dave Jacoby"
},
{
+ "id" : "Duane Powell",
"name" : "Duane Powell",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Duane Powell"
+ ]
},
{
- "name" : "E. Choroba",
"id" : "E. Choroba",
+ "name" : "E. Choroba",
"data" : [
[
"Perl 5",
@@ -201,37 +106,55 @@
},
{
"id" : "Lars Balker",
+ "name" : "Lars Balker",
"data" : [
[
"Perl 5",
2
]
- ],
- "name" : "Lars Balker"
+ ]
+ },
+ {
+ "id" : "Lars Thegler",
+ "name" : "Lars Thegler",
+ "data" : [
+ [
+ "Perl 5",
+ 2
+ ]
+ ]
},
{
"data" : [
[
"Perl 5",
2
+ ],
+ [
+ "Perl 6",
+ 2
+ ],
+ [
+ "Blog",
+ 1
]
],
- "id" : "Lars Thegler",
- "name" : "Lars Thegler"
+ "name" : "Laurent Rosenfeld",
+ "id" : "Laurent Rosenfeld"
},
{
- "id" : "Markus Holzer",
+ "name" : "Markus Holzer",
"data" : [
[
"Perl 6",
2
]
],
- "name" : "Markus Holzer"
+ "id" : "Markus Holzer"
},
{
- "name" : "Nazareno Delucca",
"id" : "Nazareno Delucca",
+ "name" : "Nazareno Delucca",
"data" : [
[
"Perl 5",
@@ -240,24 +163,24 @@
]
},
{
- "name" : "Prajith P",
"id" : "Prajith P",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "name" : "Prajith P"
},
{
"name" : "Rage311",
- "id" : "Rage311",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "id" : "Rage311"
},
{
"name" : "Roger Bell West",
@@ -270,23 +193,23 @@
"id" : "Roger Bell West"
},
{
- "name" : "Simon Proctor",
+ "id" : "Simon Proctor",
"data" : [
[
"Perl 6",
2
]
],
- "id" : "Simon Proctor"
+ "name" : "Simon Proctor"
},
{
- "name" : "Steven Wilson",
"data" : [
[
"Perl 5",
2
]
],
+ "name" : "Steven Wilson",
"id" : "Steven Wilson"
},
{
@@ -296,12 +219,112 @@
2
]
],
- "id" : "Yet Ebreo",
- "name" : "Yet Ebreo"
+ "name" : "Yet Ebreo",
+ "id" : "Yet Ebreo"
}
]
},
- "title" : {
- "text" : "Perl Weekly Challenge - 032"
- }
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "series" : [
+ {
+ "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 032",
+ "data" : [
+ {
+ "name" : "Andrezgz",
+ "drilldown" : "Andrezgz",
+ "y" : 2
+ },
+ {
+ "name" : "Dave Cross",
+ "drilldown" : "Dave Cross",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "name" : "Dave Jacoby",
+ "drilldown" : "Dave Jacoby"
+ },
+ {
+ "drilldown" : "Duane Powell",
+ "name" : "Duane Powell",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "drilldown" : "E. Choroba",
+ "name" : "E. Choroba"
+ },
+ {
+ "drilldown" : "Fabrizio Poggi",
+ "name" : "Fabrizio Poggi",
+ "y" : 2
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Joelle Maslak",
+ "name" : "Joelle Maslak"
+ },
+ {
+ "name" : "Lars Balker",
+ "drilldown" : "Lars Balker",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "name" : "Lars Thegler",
+ "drilldown" : "Lars Thegler"
+ },
+ {
+ "y" : 5,
+ "name" : "Laurent Rosenfeld",
+ "drilldown" : "Laurent Rosenfeld"
+ },
+ {
+ "drilldown" : "Markus Holzer",
+ "name" : "Markus Holzer",
+ "y" : 2
+ },
+ {
+ "name" : "Nazareno Delucca",
+ "drilldown" : "Nazareno Delucca",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Prajith P",
+ "name" : "Prajith P",
+ "y" : 2
+ },
+ {
+ "name" : "Rage311",
+ "drilldown" : "Rage311",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "name" : "Roger Bell West",
+ "drilldown" : "Roger Bell West"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Simon Proctor",
+ "name" : "Simon Proctor"
+ },
+ {
+ "drilldown" : "Steven Wilson",
+ "name" : "Steven Wilson",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Yet Ebreo",
+ "name" : "Yet Ebreo",
+ "y" : 2
+ }
+ ]
+ }
+ ]
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index e6c4c1c9cb..152d1fef58 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,63 +1,63 @@
{
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
+ },
+ "type" : "category"
+ },
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : null
+ },
+ "min" : 0
+ },
"chart" : {
"type" : "column"
},
+ "subtitle" : {
+ "text" : "Last updated at 2019-10-31 14:59:33 GMT"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions - 2019"
+ },
+ "legend" : {
+ "enabled" : "false"
+ },
"series" : [
{
- "name" : "Contributions",
- "dataLabels" : {
- "color" : "#FFFFFF",
- "rotation" : -90,
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- },
- "format" : "{point.y:.0f}",
- "align" : "right",
- "enabled" : "true",
- "y" : 10
- },
"data" : [
[
"Blog",
- 338
+ 339
],
[
"Perl 5",
- 1335
+ 1337
],
[
"Perl 6",
- 784
+ 786
]
- ]
- }
- ],
- "legend" : {
- "enabled" : "false"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Contributions - 2019"
- },
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "yAxis" : {
- "title" : {
- "text" : null
- },
- "min" : 0
- },
- "subtitle" : {
- "text" : "Last updated at 2019-10-31 12:33:42 GMT"
- },
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
+ ],
+ "name" : "Contributions",
+ "dataLabels" : {
+ "enabled" : "true",
+ "y" : 10,
+ "align" : "right",
+ "format" : "{point.y:.0f}",
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ },
+ "rotation" : -90,
+ "color" : "#FFFFFF"
}
}
- }
+ ]
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 82a1302eca..09fbb97135 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -2,17 +2,27 @@
"xAxis" : {
"type" : "category"
},
+ "tooltip" : {
+ "followPointer" : "true",
+ "headerFormat" : "<span style=\"font-size:11px\"></span>",
+ "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
"plotOptions" : {
"series" : {
- "borderWidth" : 0,
"dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- }
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
}
},
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-10-31 12:33:42 GMT"
+ "chart" : {
+ "type" : "column"
},
"drilldown" : {
"series" : [
@@ -35,6 +45,7 @@
"id" : "001"
},
{
+ "name" : "002",
"data" : [
[
"Perl 5",
@@ -49,7 +60,6 @@
9
]
],
- "name" : "002",
"id" : "002"
},
{
@@ -125,7 +135,6 @@
]
},
{
- "id" : "007",
"name" : "007",
"data" : [
[
@@ -140,11 +149,11 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "007"
},
{
"id" : "008",
- "name" : "008",
"data" : [
[
"Perl 5",
@@ -158,10 +167,12 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "008"
},
{
"id" : "009",
+ "name" : "009",
"data" : [
[
"Perl 5",
@@ -175,11 +186,9 @@
"Blog",
13
]
- ],
- "name" : "009"
+ ]
},
{
- "id" : "010",
"name" : "010",
"data" : [
[
@@ -194,11 +203,10 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "010"
},
{
- "id" : "011",
- "name" : "011",
"data" : [
[
"Perl 5",
@@ -212,9 +220,12 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "011",
+ "id" : "011"
},
{
+ "id" : "012",
"name" : "012",
"data" : [
[
@@ -229,11 +240,10 @@
"Blog",
11
]
- ],
- "id" : "012"
+ ]
},
{
- "name" : "013",
+ "id" : "013",
"data" : [
[
"Perl 5",
@@ -248,7 +258,7 @@
13
]
],
- "id" : "013"
+ "name" : "013"
},
{
"id" : "014",
@@ -270,7 +280,6 @@
},
{
"id" : "015",
- "name" : "015",
"data" : [
[
"Perl 5",
@@ -284,11 +293,11 @@
"Blog",
15
]
- ]
+ ],
+ "name" : "015"
},
{
"id" : "016",
- "name" : "016",
"data" : [
[
"Perl 5",
@@ -302,7 +311,8 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "016"
},
{
"id" : "017",
@@ -323,6 +333,7 @@
"name" : "017"
},
{
+ "name" : "018",
"data" : [
[
"Perl 5",
@@ -337,7 +348,6 @@
14
]
],
- "name" : "018",
"id" : "018"
},
{
@@ -432,7 +442,6 @@
},
{
"id" : "024",
- "name" : "024",
"data" : [
[
"Perl 5",
@@ -446,7 +455,8 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "024"
},
{
"data" : [
@@ -485,7 +495,6 @@
"id" : "026"
},
{
- "id" : "027",
"data" : [
[
"Perl 5",
@@ -500,10 +509,10 @@
9
]
],
- "name" : "027"
+ "name" : "027",
+ "id" : "027"
},
{
- "id" : "028",
"data" : [
[
"Perl 5",
@@ -518,7 +527,8 @@
9
]
],
- "name" : "028"
+ "name" : "028",
+ "id" : "028"
},
{
"name" : "029",
@@ -539,6 +549,7 @@
"id" : "029"
},
{
+ "name" : "030",
"data" : [
[
"Perl 5",
@@ -553,11 +564,9 @@
9
]
],
- "name" : "030",
"id" : "030"
},
{
- "id" : "031",
"data" : [
[
"Perl 5",
@@ -572,37 +581,31 @@
6
]
],
- "name" : "031"
+ "name" : "031",
+ "id" : "031"
},
{
"id" : "032",
- "name" : "032",
"data" : [
[