aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-12-06 13:49:48 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-12-06 13:49:48 +0000
commitb8139671cf7b05d0d3f7389de80419b90c28a6dc (patch)
tree67d312d7288dea468e187e68e9c121de0c183209
parent9f1f1152a145c58f2d73857df5e7e3a216f86ce9 (diff)
downloadperlweeklychallenge-club-b8139671cf7b05d0d3f7389de80419b90c28a6dc.tar.gz
perlweeklychallenge-club-b8139671cf7b05d0d3f7389de80419b90c28a6dc.tar.bz2
perlweeklychallenge-club-b8139671cf7b05d0d3f7389de80419b90c28a6dc.zip
- Added solutions by Athanasius.
-rw-r--r--challenge-089/athanasius/perl/ch-1.pl120
-rw-r--r--challenge-089/athanasius/perl/ch-2.pl181
-rw-r--r--challenge-089/athanasius/raku/ch-1.raku96
-rw-r--r--challenge-089/athanasius/raku/ch-2.raku145
-rw-r--r--stats/pwc-current.json235
-rw-r--r--stats/pwc-language-breakdown-summary.json70
-rw-r--r--stats/pwc-language-breakdown.json628
-rw-r--r--stats/pwc-leaders.json726
-rw-r--r--stats/pwc-summary-1-30.json116
-rw-r--r--stats/pwc-summary-121-150.json40
-rw-r--r--stats/pwc-summary-151-180.json96
-rw-r--r--stats/pwc-summary-181-210.json28
-rw-r--r--stats/pwc-summary-31-60.json54
-rw-r--r--stats/pwc-summary-61-90.json36
-rw-r--r--stats/pwc-summary-91-120.json38
-rw-r--r--stats/pwc-summary.json484
16 files changed, 1827 insertions, 1266 deletions
diff --git a/challenge-089/athanasius/perl/ch-1.pl b/challenge-089/athanasius/perl/ch-1.pl
new file mode 100644
index 0000000000..c88c07f2fb
--- /dev/null
+++ b/challenge-089/athanasius/perl/ch-1.pl
@@ -0,0 +1,120 @@
+#!perl
+
+###############################################################################
+=comment
+
+Perl Weekly Challenge 089
+=========================
+
+Task #1
+-------
+*GCD Sum*
+
+Submitted by: Mohammad S Anwar
+
+You are given a positive integer $N.
+
+Write a script to sum [ https://en.wikipedia.org/wiki/Greatest_common_divisor |
+GCD] of all possible unique pairs between 1 and $N.
+
+Example 1:
+
+ Input: 3
+ Output: 3
+
+ gcd(1,2) + gcd(1,3) + gcd(2,3)
+
+Example 2:
+
+ Input: 4
+ Output: 7
+
+ gcd(1,2) + gcd(1,3) + gcd(1,4) + gcd(2,3) + gcd(2,4) + gcd(3,4)
+
+=cut
+###############################################################################
+
+#--------------------------------------#
+# Copyright © 2020 PerlMonk Athanasius #
+#--------------------------------------#
+
+#==============================================================================
+=comment
+
+From the Examples, it appears that "all possible unique pairs between 1 and $N"
+should be interpreted to mean:
+
+ all (i, j) such that 1 <= i < j <= N.
+
+In the solution below, the GCD calculation is performed by the gcd() function
+in the CPAN module Math::Prime::Util.
+
+=cut
+#==============================================================================
+
+use strict;
+use warnings;
+use Const::Fast;
+use Math::Prime::Util qw( gcd );
+use Regexp::Common qw( number );
+
+const my $USAGE =>
+"Usage:
+ perl $0 <N>
+
+ <N> A positive integer\n";
+
+#------------------------------------------------------------------------------
+BEGIN
+#------------------------------------------------------------------------------
+{
+ $| = 1;
+ print "\nChallenge 089, Task #1: GCD Sum (Perl)\n\n";
+}
+
+#==============================================================================
+MAIN:
+#==============================================================================
+{
+ my $N = parse_command_line();
+
+ print "Input: $N\n";
+
+ my $sum = 0;
+
+ for my $i (1 .. $N - 1)
+ {
+ for my $j ($i + 1 .. $N)
+ {
+ $sum += gcd($i, $j);
+ }
+ }
+
+ print "Output: $sum\n";
+}
+
+#------------------------------------------------------------------------------
+sub parse_command_line
+#------------------------------------------------------------------------------
+{
+ my $args = scalar @ARGV;
+ $args == 0 and error('Command-line argument missing' );
+ $args > 1 and error('Too many command-line arguments');
+
+ my $N = $ARGV[0];
+ $N =~ /\A$RE{num}{int}\z/ or error( qq["$N" is not an integer] );
+ $N > 0 or error( qq["$N" is not positive] );
+
+ return $N;
+}
+
+#------------------------------------------------------------------------------
+sub error
+#------------------------------------------------------------------------------
+{
+ my ($message) = @_;
+
+ die "ERROR: $message\n$USAGE";
+}
+
+###############################################################################
diff --git a/challenge-089/athanasius/perl/ch-2.pl b/challenge-089/athanasius/perl/ch-2.pl
new file mode 100644
index 0000000000..481cd18384
--- /dev/null
+++ b/challenge-089/athanasius/perl/ch-2.pl
@@ -0,0 +1,181 @@
+#!perl
+
+###############################################################################
+=comment
+
+Perl Weekly Challenge 089
+=========================
+
+Task #2
+-------
+*Magical Matrix*
+
+Submitted by: Mohammad S Anwar
+
+Write a script to display matrix as below with numbers 1 - 9. Please make sure
+numbers are used once.
+
+ [ a b c ]
+ [ d e f ]
+ [ g h i ]
+
+So that it satisfies the following:
+
+ a + b + c = 15
+ d + e + f = 15
+ g + h + i = 15
+ a + d + g = 15
+ b + e + h = 15
+ c + f + i = 15
+ a + e + i = 15
+ c + e + g = 15
+
+=cut
+###############################################################################
+
+#--------------------------------------#
+# Copyright © 2020 PerlMonk Athanasius #
+#--------------------------------------#
+
+#==============================================================================
+=comment
+
+Although the Task is to construct a normal magic square of order 3 only, the
+solution below implements the Siamese (or De la Loubère) method which works for
+any odd-numbered order greater than or equal to 3. Reference:
+
+ https://en.wikipedia.org/wiki/Siamese_method
+
+=cut
+#==============================================================================
+
+use strict;
+use warnings;
+use Const::Fast;
+use Regexp::Common qw( number );
+
+const my $DEFAULT_ORDER => 3;
+const my $USAGE =>
+"Usage:
+ perl $0 [<order>]
+
+ [<order>] (Odd integer >= 3; defaults to 3) Order of normal magic square
+";
+
+#------------------------------------------------------------------------------
+BEGIN
+#------------------------------------------------------------------------------
+{
+ $| = 1;
+ print "\nChallenge 089, Task #2: Magical Matrix (Perl)\n\n";
+}
+
+#==============================================================================
+MAIN:
+#==============================================================================
+{
+ my $order = parse_command_line();
+
+ print "A normal magic square of order $order:\n\n";
+
+ my $square = build_square($order);
+ my $width = length ($order * $order);
+
+ for my $row (0 .. $#$square)
+ {
+ printf " [ %s ]\n",
+ join ' ', map { sprintf '%*s', $width, $_ } @{ $square->[$row] };
+ }
+}
+
+#------------------------------------------------------------------------------
+sub build_square # Use the Siamese method to construct a
+ # normal magic square with odd order >= 3
+#------------------------------------------------------------------------------
+{
+ my ($order) = @_;
+ my $square;
+
+ push @$square, [ (0) x $order ] for 1 .. $order;
+
+ my $max_idx = $order - 1;
+ my $row = 1;
+ my $col = int( ($order / 2) ) - 1;
+
+ # From the Wikipedia article cited above:
+ #
+ # "... starting from the central box of the first row with the number 1 ...
+ # the fundamental movement for filling the boxes is diagonally up and right
+ # (↗), one step at a time. When a move would leave the square, it is
+ # wrapped around to the last row or first column, respectively.
+ #
+ # "If a filled box is encountered, one moves vertically down one box (↓)
+ # instead, then continuing as before."
+
+ for my $n (1 .. $order * $order)
+ {
+ if ($row == 0 && $col == $max_idx) # At the top right corner:
+ { # Drop down one row
+ $row = 1;
+ }
+ elsif ($row == 0) # On the top edge:
+ { # Wrap around to the last row
+ $row = $max_idx;
+ ++$col;
+ }
+ elsif ($col == $max_idx) # On the right edge:
+ { # Wrap around to first column
+ $col = 0;
+ --$row;
+ }
+ elsif ($square->[$row - 1][$col + 1] > 0)
+ { # Next square is already filled:
+ ++$row; # Drop down one row
+ }
+ else # Default case:
+ { # Move diagonally up and right
+ --$row;
+ ++$col;
+ }
+
+ $square->[$row][$col] = $n;
+ }
+
+ return $square;
+}
+
+#------------------------------------------------------------------------------
+sub parse_command_line
+#------------------------------------------------------------------------------
+{
+ my $args = scalar @ARGV;
+ my $order;
+
+ if ($args == 0)
+ {
+ $order = $DEFAULT_ORDER;
+ }
+ elsif ($args == 1)
+ {
+ $order = $ARGV[0];
+ $order =~ /\A$RE{num}{int}\z/ or error(qq["$order" is not an integer]);
+ $order >= 3 or error("Order $order is too small");
+ }
+ else
+ {
+ error('Too many command-line arguments');
+ }
+
+ return $order;
+}
+
+#------------------------------------------------------------------------------
+sub error
+#------------------------------------------------------------------------------
+{
+ my ($message) = @_;
+
+ die "ERROR: $message\n$USAGE";
+}
+
+###############################################################################
diff --git a/challenge-089/athanasius/raku/ch-1.raku b/challenge-089/athanasius/raku/ch-1.raku
new file mode 100644
index 0000000000..8ba3c12844
--- /dev/null
+++ b/challenge-089/athanasius/raku/ch-1.raku
@@ -0,0 +1,96 @@
+use v6d;
+
+###############################################################################
+=begin comment
+
+Perl Weekly Challenge 089
+=========================
+
+Task #1
+-------
+*GCD Sum*
+
+Submitted by: Mohammad S Anwar
+
+You are given a positive integer $N.
+
+Write a script to sum [ https://en.wikipedia.org/wiki/Greatest_common_divisor |
+GCD] of all possible unique pairs between 1 and $N.
+
+Example 1:
+
+ Input: 3
+ Output: 3
+
+ gcd(1,2) + gcd(1,3) + gcd(2,3)
+
+Example 2:
+
+ Input: 4
+ Output: 7
+
+ gcd(1,2) + gcd(1,3) + gcd(1,4) + gcd(2,3) + gcd(2,4) + gcd(3,4)
+
+=end comment
+###############################################################################
+
+#--------------------------------------#
+# Copyright © 2020 PerlMonk Athanasius #
+#--------------------------------------#
+
+#==============================================================================
+=begin comment
+
+From the Examples, it appears that "all possible unique pairs between 1 and $N"
+should be interpreted to mean:
+
+ all (i, j) such that 1 <= i < j <= N.
+
+In the solution below, the GCD calculation is performed by Raku's inbuilt gcd
+infix operator.
+
+=end comment
+#==============================================================================
+
+subset Positive of Int where * > 0;
+
+#------------------------------------------------------------------------------
+BEGIN
+#------------------------------------------------------------------------------
+{
+ "\nChallenge 089, Task #1: GCD Sum (Raku)\n".put;
+}
+
+#==============================================================================
+sub MAIN
+(
+ Positive:D $N #= A positive integer
+)
+#==============================================================================
+{
+ "Input: $N".put;
+
+ my UInt $sum = 0;
+
+ for 1 .. $N - 1 -> Positive $i
+ {
+ for $i + 1 .. $N -> Positive $j
+ {
+ $sum += $i gcd $j;
+ }
+ }
+
+ "Output: $sum".put;
+}
+
+#------------------------------------------------------------------------------
+sub USAGE()
+#------------------------------------------------------------------------------
+{
+ my Str $usage = $*USAGE;
+
+ $usage ~~ s/ ($*PROGRAM-NAME) /raku $0/;
+ $usage.put;
+}
+
+##############################################################################
diff --git a/challenge-089/athanasius/raku/ch-2.raku b/challenge-089/athanasius/raku/ch-2.raku
new file mode 100644
index 0000000000..66c1ba2719
--- /dev/null
+++ b/challenge-089/athanasius/raku/ch-2.raku
@@ -0,0 +1,145 @@
+use v6d;
+
+###############################################################################
+=begin comment
+
+Perl Weekly Challenge 089
+=========================
+
+Task #2
+-------
+*Magical Matrix*
+
+Submitted by: Mohammad S Anwar
+
+Write a script to display matrix as below with numbers 1 - 9. Please make sure
+numbers are used once.
+
+ [ a b c ]
+ [ d e f ]
+ [ g h i ]
+
+So that it satisfies the following:
+
+ a + b + c = 15
+ d + e + f = 15
+ g + h + i = 15
+ a + d + g = 15
+ b + e + h = 15
+ c + f + i = 15
+ a + e + i = 15
+ c + e + g = 15
+
+=end comment
+###############################################################################
+
+#--------------------------------------#
+# Copyright © 2020 PerlMonk Athanasius #
+#--------------------------------------#
+
+#==============================================================================
+=begin comment
+
+Although the Task is to construct a normal magic square of order 3 only, the
+solution below implements the Siamese (or De la Loubère) method which works for
+any odd-numbered order greater than or equal to 3. Reference:
+
+ https://en.wikipedia.org/wiki/Siamese_method
+
+=end comment
+#==============================================================================
+
+#------------------------------------------------------------------------------
+BEGIN
+#------------------------------------------------------------------------------
+{
+ "\nChallenge 089, Task #2: Magical Matrix (Raku)\n".put;
+}
+
+my UInt constant $DEFAULT-ORDER = 3;
+
+#==============================================================================
+sub MAIN
+(
+ #| (Odd integer >= 3; defaults to 3) Order of normal magic square
+
+ UInt:D $order where { $order >= 3 && $order % 2 == 1 } = $DEFAULT-ORDER
+)
+#==============================================================================
+{
+ "A normal magic square of order $order:\n".put;
+
+ my UInt $width = ($order * $order).chars;
+ my Array[UInt] @square = build-square($order);
+
+ for 0 .. @square.end -> UInt $row
+ {
+ " [ %s ]\n".printf:
+ @square[$row].map( { '%*s'.sprintf: $width, $_ } ).join: ' ';
+ }
+}
+
+#------------------------------------------------------------------------------
+# Use the Siamese method to construct a normal magic square with odd order >= 3
+#
+sub build-square( UInt:D $order --> Array:D[Array:D[UInt:D]] )
+#------------------------------------------------------------------------------
+{
+ my Array[UInt] @square = Array[UInt].new([ 0 xx $order ]) xx $order;
+ my UInt $max-idx = $order - 1;
+ my UInt $row = 1;
+ my UInt $col = ((($order / 2)) - 1).floor;
+
+ # From the Wikipedia article cited above:
+ #
+ # "... starting from the central box of the first row with the number 1 ...
+ # the fundamental movement for filling the boxes is diagonally up and right
+ # (↗), one step at a time. When a move would leave the square, it is
+ # wrapped around to the last row or first column, respectively.
+ #
+ # "If a filled box is encountered, one moves vertically down one box (↓)
+ # instead, then continuing as before."
+
+ for 1 .. $order * $order -> UInt $n
+ {
+ if $row == 0 && $col == $max-idx # At the top right corner:
+ { # Drop down one row
+ $row = 1;
+ }
+ elsif $row == 0 # On the top edge:
+ { # Wrap around to the last row
+ $row = $max-idx;
+ ++$col;
+ }
+ elsif $col == $max-idx # On the right edge:
+ { # Wrap around to first column
+ $col = 0;
+ --$row;
+ }
+ elsif @square[$row - 1; $col + 1] > 0 # Next square is already filled:
+ { # Drop down one row
+ ++$row;
+ }
+ else # Default case:
+ { # Move diagonally up and right
+ --$row;
+ ++$col;
+ }
+
+ @square[$row; $col] = $n;
+ }
+
+ return @square;
+}
+
+#------------------------------------------------------------------------------
+sub USAGE()
+#------------------------------------------------------------------------------
+{
+ my Str $usage = $*USAGE;
+
+ $usage ~~ s/ ($*PROGRAM-NAME) /raku $0/;
+ $usage.put;
+}
+
+##############################################################################
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 3e01695d95..706fa8062d 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,140 +1,163 @@
{
+ "xAxis" : {
+ "type" : "category"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 26] Last updated at 2020-12-06 13:49:27 GMT"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 089"
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
+ },
+ "chart" : {
+ "type" : "column"
+ },
"series" : [
{
- "colorByPoint" : 1,
"data" : [
{
- "drilldown" : "Aaron Smith",
"y" : 3,
+ "drilldown" : "Aaron Smith",
"name" : "Aaron Smith"
},
{
- "y" : 2,
"name" : "Abigail",
+ "y" : 2,
"drilldown" : "Abigail"
},
{
- "name" : "Alexander Pankoff",
"y" : 2,
- "drilldown" : "Alexander Pankoff"
+ "drilldown" : "Alexander Pankoff",
+ "name" : "Alexander Pankoff"
},
{
+ "name" : "Andrew Shitov",
"drilldown" : "Andrew Shitov",
- "y" : 2,
- "name" : "Andrew Shitov"
+ "y" : 2
},
{
- "name" : "Arne Sommer",
"y" : 5,
- "drilldown" : "Arne Sommer"
+ "drilldown" : "Arne Sommer",
+ "name" : "Arne Sommer"
+ },
+ {
+ "name" : "Athanasius",
+ "y" : 4,
+ "drilldown" : "Athanasius"
},
{
- "drilldown" : "Clifton Wood",
"y" : 2,
+ "drilldown" : "Clifton Wood",
"name" : "Clifton Wood"
},
{
- "name" : "Dave Jacoby",
"y" : 3,
- "drilldown" : "Dave Jacoby"
+ "drilldown" : "Dave Jacoby",
+ "name" : "Dave Jacoby"
},
{
- "name" : "Feng Chang",
+ "drilldown" : "Feng Chang",
"y" : 2,
- "drilldown" : "Feng Chang"
+ "name" : "Feng Chang"
},
{
- "y" : 2,
"name" : "James Smith",
+ "y" : 2,
"drilldown" : "James Smith"
},
{
+ "y" : 2,
"drilldown" : "Jan Krnavek",
- "name" : "Jan Krnavek",
- "y" : 2
+ "name" : "Jan Krnavek"
},
{
"name" : "Joel Crosswhite",
- "y" : 2,
- "drilldown" : "Joel Crosswhite"
+ "drilldown" : "Joel Crosswhite",
+ "y" : 2
},
{
+ "drilldown" : "Jorg Sommrey",
"y" : 2,
- "name" : "Jorg Sommrey",
- "drilldown" : "Jorg Sommrey"
+ "name" : "Jorg Sommrey"
},
{
- "name" : "Kang-min Liu",
+ "drilldown" : "Kang-min Liu",
"y" : 4,
- "drilldown" : "Kang-min Liu"
+ "name" : "Kang-min Liu"
},
{
- "drilldown" : "Lubos Kolouch",
"name" : "Lubos Kolouch",
+ "drilldown" : "Lubos Kolouch",
"y" : 2
},
{
- "drilldown" : "Mark Anderson",
+ "name" : "Mark Anderson",
"y" : 2,
- "name" : "Mark Anderson"
+ "drilldown" : "Mark Anderson"
},
{
"name" : "Miguel Prz",
- "y" : 2,
- "drilldown" : "Miguel Prz"
+ "drilldown" : "Miguel Prz",
+ "y" : 2
},
{
"y" : 2,
- "name" : "Nuno Vieira",
- "drilldown" : "Nuno Vieira"
+ "drilldown" : "Nuno Vieira",
+ "name" : "Nuno Vieira"
},
{
- "name" : "Philip Hood",
+ "drilldown" : "Philip Hood",
"y" : 2,
- "drilldown" : "Philip Hood"
+ "name" : "Philip Hood"
},
{
- "drilldown" : "Roger Bell_West",
"name" : "Roger Bell_West",
+ "drilldown" : "Roger Bell_West",
"y" : 5
},
{
- "drilldown" : "Simon Green",
"y" : 3,
+ "drilldown" : "Simon Green",
"name" : "Simon Green"
},
{
- "y" : 2,
"name" : "Simon Proctor",
- "drilldown" : "Simon Proctor"
+ "drilldown" : "Simon Proctor",
+ "y" : 2
},
{
- "name" : "Stuart Little",
"y" : 2,
- "drilldown" : "Stuart Little"
+ "drilldown" : "Stuart Little",
+ "name" : "Stuart Little"
},
{
- "drilldown" : "Ulrich Rieke",
"name" : "Ulrich Rieke",
- "y" : 4
+ "y" : 4,
+ "drilldown" : "Ulrich Rieke"
},
{
+ "y" : 3,
"drilldown" : "W. Luis Mochan",
- "name" : "W. Luis Mochan",
- "y" : 3
+ "name" : "W. Luis Mochan"
},
{
- "drilldown" : "Walt Mankowski",
"name" : "Walt Mankowski",
+ "drilldown" : "Walt Mankowski",
"y" : 3
}
],
- "name" : "Perl Weekly Challenge - 089"
+ "name" : "Perl Weekly Challenge - 089",
+ "colorByPoint" : 1
}
],
- "chart" : {
- "type" : "column"
- },
"legend" : {
"enabled" : 0
},
@@ -143,25 +166,9 @@
"text" : "Total Solutions"
}
},
- "xAxis" : {
- "type" : "category"
- },
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
- },
- "subtitle" : {
- "text" : "[Champions: 25] Last updated at 2020-12-06 13:27:28 GMT"
- },
"drilldown" : {
"series" : [
{
- "id" : "Aaron Smith",
"data" : [
[
"Raku",
@@ -172,7 +179,8 @@
1
]
],
- "name" : "Aaron Smith"
+ "name" : "Aaron Smith",
+ "id" : "Aaron Smith"
},
{
"id" : "Abigail",
@@ -185,16 +193,17 @@
]
},
{
+ "id" : "Alexander Pankoff",
"name" : "Alexander Pankoff",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "Alexander Pankoff"
+ ]
},
{
+ "name" : "Andrew Shitov",
"data" : [
[
"Perl",
@@ -205,10 +214,10 @@
1
]
],
- "name" : "Andrew Shitov",
"id" : "Andrew Shitov"
},
{
+ "name" : "Arne Sommer",
"data" : [
[
"Perl",
@@ -223,21 +232,34 @@
1
]
],
- "name" : "Arne Sommer",
"id" : "Arne Sommer"
},
{
- "name" : "Clifton Wood",
+ "id" : "Athanasius",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ]
+ ],
+ "name" : "Athanasius"
+ },
+ {
+ "id" : "Clifton Wood",
"data" : [
[
"Raku",
2
]
],
- "id" : "Clifton Wood"
+ "name" : "Clifton Wood"
},
{
- "id" : "Dave Jacoby",
+ "name" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -248,37 +270,37 @@
1
]
],
- "name" : "Dave Jacoby"
+ "id" : "Dave Jacoby"
},
{
- "id" : "Feng Chang",
+ "name" : "Feng Chang",
"data" : [
[
"Raku",
2
]
],
- "name" : "Feng Chang"
+ "id" : "Feng Chang"
},
{
"id" : "James Smith",
+ "name" : "James Smith",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "James Smith"
+ ]
},
{
"id" : "Jan Krnavek",
- "name" : "Jan Krnavek",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "name" : "Jan Krnavek"
},
{
"name" : "Joel Crosswhite",
@@ -291,17 +313,16 @@
"id" : "Joel Crosswhite"
},
{
+ "id" : "Jorg Sommrey",
"data" : [
[
"Perl",
2
]
],
- "name" : "Jorg Sommrey",
- "id" : "Jorg Sommrey"
+ "name" : "Jorg Sommrey"
},
{
- "id" : "Kang-min Liu",
"data" : [
[
"Raku",
@@ -312,37 +333,38 @@
2
]
],
- "name" : "Kang-min Liu"
+ "name" : "Kang-min Liu",
+ "id" : "Kang-min Liu"
},
{
"id" : "Lubos Kolouch",
- "name" : "Lubos Kolouch",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Lubos Kolouch"
},
{
- "id" : "Mark Anderson",
"name" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "id" : "Mark Anderson"
},
{
- "id" : "Miguel Prz",
+ "name" : "Miguel Prz",
"data" : [
[
"Perl",
2
]
],
- "name" : "Miguel Prz"
+ "id" : "Miguel Prz"
},
{
"data" : [
@@ -355,18 +377,17 @@
"id" : "Nuno Vieira"
},
{
- "id" : "Philip Hood",
"name" : "Philip Hood",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "id" : "Philip Hood"
},
{
"id" : "Roger Bell_West",
- "name" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -380,9 +401,11 @@
"Blog",
1
<