diff options
| -rwxr-xr-x | challenge-035/jaldhar-h-vyas/perl5/ch-1.pl | 65 | ||||
| -rwxr-xr-x | challenge-035/jaldhar-h-vyas/perl5/ch-2.pl | 66 | ||||
| -rwxr-xr-x | challenge-035/jaldhar-h-vyas/perl6/ch-1.p6 | 64 | ||||
| -rwxr-xr-x | challenge-035/jaldhar-h-vyas/perl6/ch-2.p6 | 64 | ||||
| -rw-r--r-- | stats/pwc-current.json | 357 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 76 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 276 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 538 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 82 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 94 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 22 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 316 |
14 files changed, 1224 insertions, 942 deletions
diff --git a/challenge-035/jaldhar-h-vyas/perl5/ch-1.pl b/challenge-035/jaldhar-h-vyas/perl5/ch-1.pl new file mode 100755 index 0000000000..a2eeaa7f7e --- /dev/null +++ b/challenge-035/jaldhar-h-vyas/perl5/ch-1.pl @@ -0,0 +1,65 @@ +#!/usr/bin/perl +use warnings; +use strict; +use 5.010; +use constant CHARACTER_GAP => '000'; +use constant WORD_GAP => '000000'; + +my %to_morse = ( + 'A' => '10111', + 'B' => '111010101', + 'C' => '11101011101', + 'D' => '1110101', + 'E' => '1', + 'F' => '101011101', + 'G' => '111011101', + 'H' => '1010101', + 'I' => '101', + 'J' => '1011101110111', + 'K' => '111010111', + 'L' => '101110101', + 'M' => '1110111', + 'N' => '11101', + 'O' => '11101110111', + 'P' => '10111011101', + 'Q' => '1110111010111', + 'R' => '1011101', + 'S' => '10101', + 'T' => '111', + 'U' => '1010111', + 'V' => '101010111', + 'W' => '101110111', + 'X' => '11101010111', + 'Y' => '1110101110111', + 'Z' => '11101110101', + '1' => '10111011101110111', + '2' => '101011101110111', + '3' => '1010101110111', + '4' => '10101010111', + '5' => '101010101', + '6' => '11101010101', + '7' => '1110111010101', + '8' => '111011101110101', + '9' => '11101110111011101', + '0' => '1110111011101110111', +); + +sub morse_encode { + my ($message) = @_; + + my @words = split /\W/, $message; + + for my $word (@words) { + my @chars = split q{}, $word; + for my $c (@chars) { + if (exists $to_morse{uc $c}) { + $c = $to_morse{uc $c}; + } + } + $word = join CHARACTER_GAP, @chars; + } + + return join WORD_GAP, @words; +} + +say morse_encode(join q{ }, @ARGV); diff --git a/challenge-035/jaldhar-h-vyas/perl5/ch-2.pl b/challenge-035/jaldhar-h-vyas/perl5/ch-2.pl new file mode 100755 index 0000000000..108deaa7fa --- /dev/null +++ b/challenge-035/jaldhar-h-vyas/perl5/ch-2.pl @@ -0,0 +1,66 @@ +#!/usr/bin/perl +use warnings; +use strict; +use 5.010; +use constant CHARACTER_GAP => '000'; +use constant WORD_GAP => '000000'; + +my %from_morse = ( + '10111' => 'A', + '111010101' => 'B', + '11101011101' => 'C', + '1110101' => 'D', + '1' => 'E', + '101011101' => 'F', + '111011101' => 'G', + '1010101' => 'H', + '101' => 'I', + '1011101110111' => 'J', + '111010111' => 'K', + '101110101' => 'L', + '1110111' => 'M', + '11101' => 'N', + '11101110111' => 'O', + '10111011101' => 'P', + '1110111010111' => 'Q', + '1011101' => 'R', + '10101' => 'S', + '111' => 'T', + '1010111' => 'U', + '101010111' => 'V', + '101110111' => 'W', + '11101010111' => 'X', + '1110101110111' => 'Y', + '11101110101' => 'Z', + '10111011101110111' => '1', + '101011101110111' => '2', + '1010101110111' => '3', + '10101010111' => '4', + '101010101' => '5', + '11101010101' => '6', + '1110111010101' => '7', + '111011101110101' => '8', + '11101110111011101' => '9', + '1110111011101110111' => '0', +); + +sub morse_decode { + my ($message) = @_; + + + my @words = split WORD_GAP, $message; + + for my $word (@words) { + my @chars = split CHARACTER_GAP, $word; + for my $c (@chars) { + if (exists $from_morse{$c}) { + $c = $from_morse{$c}; + } + } + $word = join q{}, @chars; + } + + return join q{ }, @words; +} + +say morse_decode(join q{}, @ARGV); diff --git a/challenge-035/jaldhar-h-vyas/perl6/ch-1.p6 b/challenge-035/jaldhar-h-vyas/perl6/ch-1.p6 new file mode 100755 index 0000000000..48b196c0f1 --- /dev/null +++ b/challenge-035/jaldhar-h-vyas/perl6/ch-1.p6 @@ -0,0 +1,64 @@ +#!/usr/bin/perl6 + +constant $CHARACTER_GAP = '000'; +constant $WORD_GAP = '000000'; + +my %to_morse = ( + 'A' => '10111', + 'B' => '111010101', + 'C' => '11101011101', + 'D' => '1110101', + 'E' => '1', + 'F' => '101011101', + 'G' => '111011101', + 'H' => '1010101', + 'I' => '101', + 'J' => '1011101110111', + 'K' => '111010111', + 'L' => '101110101', + 'M' => '1110111', + 'N' => '11101', + 'O' => '11101110111', + 'P' => '10111011101', + 'Q' => '1110111010111', + 'R' => '1011101', + 'S' => '10101', + 'T' => '111', + 'U' => '1010111', + 'V' => '101010111', + 'W' => '101110111', + 'X' => '11101010111', + 'Y' => '1110101110111', + 'Z' => '11101110101', + '1' => '10111011101110111', + '2' => '101011101110111', + '3' => '1010101110111', + '4' => '10101010111', + '5' => '101010101', + '6' => '11101010101', + '7' => '1110111010101', + '8' => '111011101110101', + '9' => '11101110111011101', + '0' => '1110111011101110111', +); + +sub morse_encode(Str $message) { + + my @words = split /\W/, $message; + + for @words <-> $word { + my @chars = $word.comb; + for @chars <-> $c { + if %to_morse{uc $c}:exists { + $c = %to_morse{uc $c}; + } + } + $word = @chars.join($CHARACTER_GAP); + } + + return @words.join($WORD_GAP); +} + +sub MAIN(*@ARGS) { + say morse_encode(@*ARGS.join(q{ })); +} diff --git a/challenge-035/jaldhar-h-vyas/perl6/ch-2.p6 b/challenge-035/jaldhar-h-vyas/perl6/ch-2.p6 new file mode 100755 index 0000000000..d5c518e174 --- /dev/null +++ b/challenge-035/jaldhar-h-vyas/perl6/ch-2.p6 @@ -0,0 +1,64 @@ +#!/usr/bin/perl6 + +constant $CHARACTER_GAP = '000'; +constant $WORD_GAP = '000000'; + +my %from_morse = ( + '10111' => 'A', + '111010101' => 'B', + '11101011101' => 'C', + '1110101' => 'D', + '1' => 'E', + '101011101' => 'F', + '111011101' => 'G', + '1010101' => 'H', + '101' => 'I', + '1011101110111' => 'J', + '111010111' => 'K', + '101110101' => 'L', + '1110111' => 'M', + '11101' => 'N', + '11101110111' => 'O', + '10111011101' => 'P', + '1110111010111' => 'Q', + '1011101' => 'R', + '10101' => 'S', + '111' => 'T', + '1010111' => 'U', + '101010111' => 'V', + '101110111' => 'W', + '11101010111' => 'X', + '1110101110111' => 'Y', + '11101110101' => 'Z', + '10111011101110111' => '1', + '101011101110111' => '2', + '1010101110111' => '3', + '10101010111' => '4', + '101010101' => '5', + '11101010101' => '6', + '1110111010101' => '7', + '111011101110101' => '8', + '11101110111011101' => '9', + '1110111011101110111' => '0', +); + +sub morse_decode(Str $message) { + + my @words = $message.split($WORD_GAP); + + for @words <-> $word { + my @chars = $word.split($CHARACTER_GAP); + for @chars <-> $c { + if %from_morse{$c}:exists { + $c = %from_morse{$c}; + } + } + $word = @chars.join; + } + + return @words.join(q{ }); +} + +sub MAIN(*@ARGS) { + say morse_decode(@*ARGS.join()); +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 84136d435d..3b0b3549e5 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,18 +1,146 @@ { + "tooltip" : { + "pointFormat" : "<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/>" + }, + "chart" : { + "type" : "column" + }, "xAxis" : { "type" : "category" }, "title" : { "text" : "Perl Weekly Challenge - 035" }, + "series" : [ + { + "name" : "Perl Weekly Challenge - 035", + "colorByPoint" : 1, + "data" : [ + { + "y" : 3, + "drilldown" : "Adam Russell", + "name" : "Adam Russell" + }, + { + "drilldown" : "Andrezgz", + "y" : 2, + "name" : "Andrezgz" + }, + { + "y" : 3, + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "name" : "Burkhard Nickels", + "drilldown" : "Burkhard Nickels", + "y" : 3 + }, + { + "name" : "Colin Crain", + "y" : 2, + "drilldown" : "Colin Crain" + }, + { + "y" : 2, + "drilldown" : "Daniel Mita", + "name" : "Daniel Mita" + }, + { + "drilldown" : "E. Choroba", + "y" : 3, + "name" : "E. Choroba" + }, + { + "name" : "Giuseppe Di Terlizzi", + "y" : 2, + "drilldown" : "Giuseppe Di Terlizzi" + }, + { + "drilldown" : "Jaldhar H. Vyas", + "y" : 5, + "name" : "Jaldhar H. Vyas" + }, + { + "drilldown" : "Javier Luque", + "y" : 5, + "name" : "Javier Luque" + }, + { + "name" : "Kevin Colyer", + "drilldown" : "Kevin Colyer", + "y" : 2 + }, + { + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "drilldown" : "Mark Senn", + "y" : 2, + "name" : "Mark Senn" + }, + { + "name" : "Petr Roubicek", + "drilldown" : "Petr Roubicek", + "y" : 2 + }, + { + "name" : "Roger Bell West", + "y" : 4, + "drilldown" : "Roger Bell West" + }, + { + "drilldown" : "Ruben Westerberg", + "y" : 4, + "name" : "Ruben Westerberg" + }, + { + "name" : "Ryan Thompson", + "y" : 2, + "drilldown" : "Ryan Thompson" + }, + { + "name" : "Simon Proctor", + "y" : 2, + "drilldown" : "Simon Proctor" + }, + { + "name" : "Steven Wilson", + "drilldown" : "Steven Wilson", + "y" : 1 + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 2, + "name" : "Ulrich Rieke" + } + ] + } + ], + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, "subtitle" : { - "text" : "[Champions: 19] Last updated at 2019-11-25 00:16:50 GMT" + "text" : "[Champions: 20] Last updated at 2019-11-25 00:27:16 GMT" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "drilldown" : { "series" : [ { - "name" : "Adam Russell", - "id" : "Adam Russell", "data" : [ [ "Perl 5", @@ -22,19 +150,23 @@ "Blog", 1 ] - ] + ], + "id" : "Adam Russell", + "name" : "Adam Russell" }, { - "name" : "Andrezgz", - "id" : "Andrezgz", "data" : [ [ "Perl 5", 2 ] - ] + ], + "id" : "Andrezgz", + "name" : "Andrezgz" }, { + "name" : "Arne Sommer", + "id" : "Arne Sommer", "data" : [ [ "Perl 6", @@ -44,13 +176,11 @@ "Blog", 1 ] - ], - "name" : "Arne Sommer", - "id" : "Arne Sommer" + ] }, { - "id" : "Burkhard Nickels", "name" : "Burkhard Nickels", + "id" : "Burkhard Nickels", "data" : [ [ "Perl 5", @@ -63,14 +193,14 @@ ] }, { + "id" : "Colin Crain", + "name" : "Colin Crain", "data" : [ [ "Perl 5", 2 ] - ], - "id" : "Colin Crain", - "name" : "Colin Crain" + ] }, { "data" : [ @@ -79,10 +209,12 @@ 2 ] ], - "id" : "Daniel Mita", - "name" : "Daniel Mita" + "name" : "Daniel Mita", + "id" : "Daniel Mita" }, { + "name" : "E. Choroba", + "id" : "E. Choroba", "data" : [ [ "Perl 5", @@ -92,9 +224,7 @@ "Blog", 1 ] - ], - "name" : "E. Choroba", - "id" : "E. Choroba" + ] }, { "data" : [ @@ -107,8 +237,8 @@ "id" : "Giuseppe Di Terlizzi" }, { - "name" : "Javier Luque", - "id" : "Javier Luque", + "name" : "Jaldhar H. Vyas", + "id" : "Jaldhar H. Vyas", "data" : [ [ "Perl 5", @@ -125,14 +255,32 @@ ] }, { + "id" : "Javier Luque", + "name" : "Javier Luque", "data" : [ [ + "Perl 5", + 2 + ], + [ "Perl 6", 2 + ], + [ + "Blog", + 1 ] - ], + ] + }, + { "name" : "Kevin Colyer", - "id" : "Kevin Colyer" + "id" : "Kevin Colyer", + "data" : [ + [ + "Perl 6", + 2 + ] + ] }, { "data" : [ @@ -149,18 +297,18 @@ 1 ] ], - "id" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld" }, { + "id" : "Mark Senn", + "name" : "Mark Senn", "data" : [ [ "Perl 6", 2 ] - ], - "id" : "Mark Senn", - "name" : "Mark Senn" + ] }, { "data" : [ @@ -169,12 +317,12 @@ 2 ] ], - "id" : "Petr Roubicek", - "name" : "Petr Roubicek" + "name" : "Petr Roubicek", + "id" : "Petr Roubicek" }, { - "name" : "Roger Bell West", "id" : "Roger Bell West", + "name" : "Roger Bell West", "data" : [ [ "Perl 5", @@ -207,167 +355,42 @@ 2 ] ], - "name" : "Ryan Thompson", - "id" : "Ryan Thompson" + "id" : "Ryan Thompson", + "name" : "Ryan Thompson" }, { + "name" : "Simon Proctor", + "id" : "Simon Proctor", "data" : [ [ "Perl 6", 2 ] - ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + ] }, { - "name" : "Steven Wilson", - "id" : "Steven Wilson", "data" : [ [ "Perl 5", 1 ] - ] + ], + "name" : "Steven Wilson", + "id" : "Steven Wilson" }, { + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl 5", 2 ] - ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + ] } ] }, - "chart" : { - "type" : "column" - }, - "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 - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 035", - "data" : [ - { - "drilldown" : "Adam Russell", - "name" : "Adam Russell", - "y" : 3 - }, - { - "y" : 2, - "name" : "Andrezgz", - "drilldown" : "Andrezgz" - }, - { - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer", - "y" : 3 - }, - { - "y" : 3, - "drilldown" : "Burkhard Nickels", - "name" : "Burkhard Nickels" - }, - { - "drilldown" : "Colin Crain", - "name" : "Colin Crain", - "y" : 2 - }, - { - "drilldown" : "Daniel Mita", - "name" : "Daniel Mita", - "y" : 2 - }, - { - "y" : 3, - "drilldown" : "E. Choroba", - "name" : "E. Choroba" - }, - { - "drilldown" : "Giuseppe Di Terlizzi", - "name" : "Giuseppe Di Terlizzi", - "y" : 2 - }, - { - "y" : 5, - "drilldown" : "Javier Luque", - "name" : "Javier Luque" - }, - { - "drilldown" : "Kevin Colyer", - "name" : "Kevin Colyer", - "y" : 2 - }, - { - "y" : 5, - "name" : "Laurent Rosenfeld", - "drilldown" : "Laurent Rosenfeld" - }, - { - "y" : 2, - "drilldown" : "Mark Senn", - "name" : "Mark Senn" - }, - { - "drilldown" : "Petr Roubicek", - "name" : "Petr Roubicek", - "y" : 2 - }, - { - "y" : 4, - "name" : "Roger Bell West", - "drilldown" : "Roger Bell West" - }, - { - "y" : 4, - "name" : "Ruben Westerberg", - "drilldown" : "Ruben Westerberg" - }, - { - "y" : 2, - "drilldown" : "Ryan Thompson", - "name" : "Ryan Thompson" - }, - { - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 2 - }, - { - "y" : 1, - "drilldown" : "Steven Wilson", - "name" : "Steven Wilson" - }, - { - "y" : 2, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" - } - ], - "colorByPoint" : 1 - } - ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index bf46d9c6d2..8cb5f9142f 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "subtitle" : { - "text" : "Last updated at 2019-11-25 00:16:58 GMT" - }, - "legend" : { - "enabled" : "false" - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions - 2019" - }, - "chart" : { - "type" : "column" - }, "series" : [ { - "dataLabels" : { - "align" : "right", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "enabled" : "true", - "y" : 10, - "format" : "{point.y:.0f}", - "rotation" : -90, - "color" : "#FFFFFF" - }, "data" : [ [ "Blog", - 382 + 383 ], [ "Perl 5", - 1478 + 1480 ], [ "Perl 6", - 878 + 880 ] ], + "dataLabels" : { + "color" : "#FFFFFF", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "y" : 10, + "rotation" : -90, + "enabled" : "true", + "align" : "right", + "format" : "{point.y:.0f}" + }, "name" : "Contributions" } ], + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "subtitle" : { + "text" : "Last updated at 2019-11-25 00:27:27 GMT" + }, + "legend" : { + "enabled" : "false" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions - 2019" + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, "xAxis" : { + "type" : "category", "labels" : { "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" } - }, - "type" : "category" + } + }, + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 2c4cb00a6c..4055b48b78 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,4 +1,30 @@ { + "legend" : { + "enabled" : "false" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "chart" : { + "type" : "column" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "xAxis" : { + "type" : "category" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, "drilldown" : { "series" : [ { @@ -20,8 +46,6 @@ ] }, { - "id" : "002", - "name" : "002", "data" : [ [ "Perl 5", @@ -35,9 +59,13 @@ "Blog", 9 ] - ] + ], + "id" : "002", + "name" : "002" }, { + "name" : "003", + "id" : "003", "data" : [ [ "Perl 5", @@ -51,9 +79,7 @@ "Blog", 9 ] - ], - "name" : "003", - "id" : "003" + ] }, { "id" : "004", @@ -74,6 +100,8 @@ ] }, { + "id" : "005", + "name" : "005", "data" : [ [ "Perl 5", @@ -87,12 +115,11 @@ "Blog", 12 ] - ], - "name" : "005", - "id" : "005" + ] }, { "name" : "006", + "id" : "006", "data" : [ [ "Perl 5", @@ -106,10 +133,10 @@ "Blog", 7 ] - ], - "id" : "006" + ] }, { + "id" : "007", "name" : "007", "data" : [ [ @@ -124,11 +151,11 @@ "Blog", 10 ] - ], - "id" : "007" + ] }, { "id" : "008", + "name" : "008", "data" : [ [ "Perl 5", @@ -142,11 +169,9 @@ "Blog", 12 ] - ], - "name" : "008" + ] }, { - "id" : "009", "data" : [ [ "Perl 5", @@ -161,10 +186,10 @@ 13 ] ], + "id" : "009", "name" : "009" }, { - "name" : "010", "data" : [ [ "Perl 5", @@ -179,9 +204,12 @@ 11 ] ], - "id" : "010" + "id" : "010", + "name" : "010" }, { + "name" : "011", + "id" : "011", "data" : [ [ "Perl 5", @@ -195,9 +223,7 @@ "Blog", 10 ] - ], - "name" : "011", - "id" : "011" + ] }, { "id" : "012", @@ -219,6 +245,7 @@ }, { "name" : "013", + "id" : "013", "data" : [ [ "Perl 5", @@ -232,11 +259,9 @@ "Blog", 13 ] - ], - "id" : "013" + ] }, { - "name" : "014", "data" : [ [ "Perl 5", @@ -251,10 +276,12 @@ 15 ] ], + "name" : "014", "id" : "014" }, { "name" : "015", + "id" : "015", "data" : [ [ "Perl 5", @@ -268,11 +295,9 @@ "Blog", 15 ] - ], - "id" : "015" + ] }, { - "id" : "016", "data" : [ [ "Perl 5", @@ -287,9 +312,12 @@ 12 ] ], - "name" : "016" + "name" : "016", + "id" : "016" }, { + "id" : "017", + "name" : "017", "data" : [ [ "Perl 5", @@ -303,12 +331,11 @@ "Blog", 12 ] - ], - "name" : "017", - "id" : "017" + |
