From 5af09e3541ee7a056e1caa1a037ba8e9076d5fc2 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Wed, 26 Jul 2023 19:08:33 +0100 Subject: - Added solutions by Peter Meszaros. - Added solutions by Steven Wilson. - Added solutions by Laurent Rosenfeld. --- challenge-227/laurent-rosenfeld/blog.txt | 1 + challenge-227/laurent-rosenfeld/perl/ch-1.pl | 19 + challenge-227/laurent-rosenfeld/raku/ch-1.raku | 12 + challenge-227/robert-dicicco/python/ch-2.py | 131 + challenge-227/steven-wilson/perl/ch-01.pl | 40 - challenge-227/steven-wilson/perl/ch-1.pl | 40 + stats/pwc-current.json | 193 +- stats/pwc-language-breakdown-summary.json | 78 +- stats/pwc-language-breakdown.json | 8942 ++++++++++++------------ stats/pwc-leaders.json | 398 +- stats/pwc-summary-1-30.json | 58 +- stats/pwc-summary-121-150.json | 52 +- stats/pwc-summary-151-180.json | 110 +- stats/pwc-summary-181-210.json | 40 +- stats/pwc-summary-211-240.json | 48 +- stats/pwc-summary-241-270.json | 114 +- stats/pwc-summary-271-300.json | 30 +- stats/pwc-summary-31-60.json | 40 +- stats/pwc-summary-61-90.json | 102 +- stats/pwc-summary-91-120.json | 40 +- stats/pwc-summary.json | 36 +- 21 files changed, 5370 insertions(+), 5154 deletions(-) create mode 100644 challenge-227/laurent-rosenfeld/blog.txt create mode 100644 challenge-227/laurent-rosenfeld/perl/ch-1.pl create mode 100644 challenge-227/laurent-rosenfeld/raku/ch-1.raku create mode 100644 challenge-227/robert-dicicco/python/ch-2.py delete mode 100644 challenge-227/steven-wilson/perl/ch-01.pl create mode 100644 challenge-227/steven-wilson/perl/ch-1.pl diff --git a/challenge-227/laurent-rosenfeld/blog.txt b/challenge-227/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..eafff47b85 --- /dev/null +++ b/challenge-227/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +https://blogs.perl.org/users/laurent_r/2023/07/perl-weekly-challenge-227-friday-13th.html diff --git a/challenge-227/laurent-rosenfeld/perl/ch-1.pl b/challenge-227/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..5be4a9450d --- /dev/null +++ b/challenge-227/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,19 @@ +use strict; +use warnings; +use feature 'say'; +use Time::Piece; + +sub friday_13 { + my $year = shift; + my $count = 0; + my $day = 13; + for my $month (1..12) { + my $dt = Time::Piece->strptime("$month/$day/$year", + "%m/%d/%Y"); + $count++ if $dt->wday == 6; # Friday == 6th day + } + return $count; +} +for my $year (2023..2030, 9998) { + say $year, " => ", friday_13 $year; +} diff --git a/challenge-227/laurent-rosenfeld/raku/ch-1.raku b/challenge-227/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..f04367a9a3 --- /dev/null +++ b/challenge-227/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,12 @@ +sub friday_13 ($y) { + my $count = 0; + for 1..12 -> $m { + # For the Raku Date class, Friday is the + # 5th day of the week + $count++ if Date.new($y, $m, 13).day-of-week == 5; + } + return $count; +} +for 1753, |(2023..2030), 9998 -> $year { + say $year, " => ", friday_13 $year; +} diff --git a/challenge-227/robert-dicicco/python/ch-2.py b/challenge-227/robert-dicicco/python/ch-2.py new file mode 100644 index 0000000000..e089dcad97 --- /dev/null +++ b/challenge-227/robert-dicicco/python/ch-2.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python +''' +I got these Roman-Int, Int-Roman routines from O'Reilly +Module: Roman Numerals +Credit: Paul M. Winkler + +AUTHOR: Robert DiCicco +DATE : 2023-07-26 +Challenge 227 Task 2 Roman Maths ( Python ) +''' +import sys + +class py_solution: + def int_to_Roman(self, num): + val = [ + 1000, 900, 500, 400, + 100, 90, 50, 40, + 10, 9, 5, 4, + 1 + ] + syb = [ + "M", "CM", "D", "CD", + "C", "XC", "L", "XL", + "X", "IX", "V", "IV", + "I" + ] + roman_num = '' + i = 0 + while num > 0: + for _ in range(num // val[i]): + roman_num += syb[i] + num -= val[i] + i += 1 + return roman_num + + + def roman_to_int(self, input): + input = input.upper() + roman_numeral_map = (('M', 1000, 3), ('CM', 900, 1), + ('D', 500, 1), ('CD', 400, 1), + ('C', 100, 3), ('XC', 90, 1), + ('L', 50, 1), ('XL', 40, 1), + ('X', 10, 3), ('IX', 9, 1), + ('V', 5, 1), ('IV', 4, 1), ('I', 1, 3)) + result, index = 0, 0 + for numeral, value, maxcount in roman_numeral_map: + count = 0 + while input[index: index+len(numeral)] == numeral: + count += 1 # how many of this numeral we have + result += value + index += len(numeral) + return result + +def main(): + n = len(sys.argv) + if n != 2: + print("Please enter a math problem using Roman numerals") + sys.exit(1) + + problem = sys.argv[1] + parts = problem.split() + left = parts[0] + op = parts[1] + right = parts[2] + lft = py_solution().roman_to_int(left) + rt = py_solution().roman_to_int(right) + + if ( op == '-' and lft - rt == 0): + print(f"{problem} est nulla") + sys.exit(1) + elif (op == '/' and (lft % rt) > 0 ): + print(f"{problem} non potest") + sys.exit(1) + elif (op == '+' and lft + rt > 3999): + print(f"{problem} non potest"); + sys.exit(1) + elif (op == '-' and (lft - rt < 0)): + print(f"{problem} non potest") + sys.exit(1) + elif (op == '/' and (lft % rt != 0)): + print(f"{problem} non potest") + sys.exit(1) + + if ( op == '+'): + val = py_solution().int_to_Roman(lft + rt) + elif ( op == '-'): + val = py_solution().int_to_Roman(lft - rt) + elif ( op == '/'): + val = py_solution().int_to_Roman(int(lft / rt)) + elif ( op == '*'): + val = py_solution().int_to_Roman(int(lft * rt)) + elif ( op == '**'): + val = py_solution().int_to_Roman(int(lft ** rt)) + + print(f"{problem} => {val}") + +if __name__ == "__main__": + main() + +''' +----------------------------------------------------------------- +SAMPLE OUTPUT +python .\RomanMath.py "IV + V" +IV + V => IX + +python .\RomanMath.py "M - I" +M - I => CMXCIX + +python .\RomanMath.py "X / II" +X / II => V + +python .\RomanMath.py "XI * VI" +XI * VI => LXVI + +python .\RomanMath.py "VII ** III" +VII ** III => CCCXLIII + +python .\RomanMath.py "V - V" +V - V est nulla + +python .\RomanMath.py "V / II" +V / II non potest + +python .\RomanMath.py "MMM + M" +MMM + M non potest + +python .\RomanMath.py "V - X" +V - X non potest +''' + + diff --git a/challenge-227/steven-wilson/perl/ch-01.pl b/challenge-227/steven-wilson/perl/ch-01.pl deleted file mode 100644 index dd74320843..0000000000 --- a/challenge-227/steven-wilson/perl/ch-01.pl +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env perl - -use 5.12.0; -use DateTime; -use Test::More; -use Test::Exception; - -# Key is the 1st January day of week name for given year. -# Value index 0 for normal year and index 1 for leap year. -my %friday_13ths = ( - "Sunday" => [ 2, 2 ], - "Monday" => [ 2, 2 ], - "Tuesday" => [ 2, 1 ], - "Wednesday" => [ 1, 2 ], - "Thursday" => [ 3, 2 ], - "Friday" => [ 1, 1 ], - "Saturday" => [ 1, 1 ], -); - -cmp_ok( unlucky_days(1753), "==", 2, "Test 1753 is 2" ); -cmp_ok( unlucky_days(1970), "==", 3, "Test 1970 is 3" ); -cmp_ok( unlucky_days(2023), "==", 2, "Test 2023 is 2" ); -cmp_ok( unlucky_days(9999), "==", 1, "Test 9999 is 1" ); -dies_ok { unlucky_days(1752) } "Test 1752 dies_ok"; -done_testing(); - -sub unlucky_days { - my $year = shift; - if ( $year < 1753 || $year > 9999 ) { - die "Year not in range: $year"; - } - my $dt = DateTime->new( - year => $year, - month => 1, - day => 1, - ); - my $first_day_of_year = $dt->day_name(); - my $is_leap_year = $dt->is_leap_year(); - return $friday_13ths{$first_day_of_year}[$is_leap_year]; -} diff --git a/challenge-227/steven-wilson/perl/ch-1.pl b/challenge-227/steven-wilson/perl/ch-1.pl new file mode 100644 index 0000000000..dd74320843 --- /dev/null +++ b/challenge-227/steven-wilson/perl/ch-1.pl @@ -0,0 +1,40 @@ +#!/usr/bin/env perl + +use 5.12.0; +use DateTime; +use Test::More; +use Test::Exception; + +# Key is the 1st January day of week name for given year. +# Value index 0 for normal year and index 1 for leap year. +my %friday_13ths = ( + "Sunday" => [ 2, 2 ], + "Monday" => [ 2, 2 ], + "Tuesday" => [ 2, 1 ], + "Wednesday" => [ 1, 2 ], + "Thursday" => [ 3, 2 ], + "Friday" => [ 1, 1 ], + "Saturday" => [ 1, 1 ], +); + +cmp_ok( unlucky_days(1753), "==", 2, "Test 1753 is 2" ); +cmp_ok( unlucky_days(1970), "==", 3, "Test 1970 is 3" ); +cmp_ok( unlucky_days(2023), "==", 2, "Test 2023 is 2" ); +cmp_ok( unlucky_days(9999), "==", 1, "Test 9999 is 1" ); +dies_ok { unlucky_days(1752) } "Test 1752 dies_ok"; +done_testing(); + +sub unlucky_days { + my $year = shift; + if ( $year < 1753 || $year > 9999 ) { + die "Year not in range: $year"; + } + my $dt = DateTime->new( + year => $year, + month => 1, + day => 1, + ); + my $first_day_of_year = $dt->day_name(); + my $is_leap_year = $dt->is_leap_year(); + return $friday_13ths{$first_day_of_year}[$is_leap_year]; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 07d787370f..8321e97aba 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,32 +1,18 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "xAxis" : { - "type" : "category" - }, - "subtitle" : { - "text" : "[Champions: 13] Last updated at 2023-07-25 23:38:36 GMT" - }, - "tooltip" : { - "followPointer" : 1, - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
" - }, "series" : [ { + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 227", "data" : [ { "name" : "Ali Moradi", - "y" : 3, - "drilldown" : "Ali Moradi" + "drilldown" : "Ali Moradi", + "y" : 3 }, { + "drilldown" : "Andrew Shitov", "name" : "Andrew Shitov", - "y" : 4, - "drilldown" : "Andrew Shitov" + "y" : 4 }, { "drilldown" : "David Ferrone", @@ -35,8 +21,13 @@ }, { "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" + "name" : "E. Choroba", + "y" : 2 + }, + { + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 3 }, { "y" : 8, @@ -44,34 +35,44 @@ "drilldown" : "Luca Ferrari" }, { - "drilldown" : "Mark Anderson", "y" : 2, + "drilldown" : "Mark Anderson", "name" : "Mark Anderson" }, { "name" : "Peter Campbell Smith", - "y" : 3, - "drilldown" : "Peter Campbell Smith" + "drilldown" : "Peter Campbell Smith", + "y" : 3 + }, + { + "drilldown" : "Peter Meszaros", + "name" : "Peter Meszaros", + "y" : 2 }, { - "drilldown" : "Robbie Hatley", "y" : 3, - "name" : "Robbie Hatley" + "name" : "Robbie Hatley", + "drilldown" : "Robbie Hatley" }, { - "drilldown" : "Robert DiCicco", "y" : 4, - "name" : "Robert DiCicco" + "name" : "Robert DiCicco", + "drilldown" : "Robert DiCicco" }, { + "y" : 4, "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 4 + "name" : "Roger Bell_West" }, { - "y" : 1, + "drilldown" : "Simon Proctor", "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" + "y" : 1 + }, + { + "y" : 1, + "drilldown" : "Steven Wilson", + "name" : "Steven Wilson" }, { "y" : 4, @@ -80,28 +81,48 @@ }, { "name" : "W. Luis Mochan", - "y" : 3, - "drilldown" : "W. Luis Mochan" + "drilldown" : "W. Luis Mochan", + "y" : 3 } - ], - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 227" + ] } ], + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 16] Last updated at 2023-07-26 18:01:07 GMT" + }, "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "title" : { + "text" : "The Weekly Challenge - 227" + }, + "chart" : { + "type" : "column" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" } }, + "tooltip" : { + "followPointer" : 1, + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
" + }, "drilldown" : { "series" : [ { - "name" : "Ali Moradi", "id" : "Ali Moradi", + "name" : "Ali Moradi", "data" : [ [ "Perl", @@ -114,38 +135,56 @@ ] }, { - "id" : "Andrew Shitov", - "name" : "Andrew Shitov", "data" : [ [ "Raku", 4 ] - ] + ], + "name" : "Andrew Shitov", + "id" : "Andrew Shitov" }, { "name" : "David Ferrone", - "id" : "David Ferrone", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "David Ferrone" }, { + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "id" : "E. Choroba", "name" : "E. Choroba" }, { - "name" : "Luca Ferrari", + "name" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 1 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Laurent Rosenfeld" + }, + { "id" : "Luca Ferrari", + "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -158,16 +197,18 @@ ] }, { - "name" : "Mark Anderson", "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Mark Anderson" }, { + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -177,13 +218,20 @@ "Blog", 1 ] - ], - "name" : "Peter Campbell Smith", - "id" : "Peter Campbell Smith" + ] + }, + { + "id" : "Peter Meszaros", + "name" : "Peter Meszaros", + "data" : [ + [ + "Perl", + 2 + ] + ] }, { "name" : "Robbie Hatley", - "id" : "Robbie Hatley", "data" : [ [ "Perl", @@ -193,10 +241,10 @@ "Blog", 1 ] - ] + ], + "id" : "Robbie Hatley" }, { - "name" : "Robert DiCicco", "id" : "Robert DiCicco", "data" : [ [ @@ -207,11 +255,11 @@ "Raku", 2 ] - ] + ], + "name" : "Robert DiCicco" }, { "id" : "Roger Bell_West", - "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -221,7 +269,8 @@ "Raku", 2 ] - ] + ], + "name" : "Roger Bell_West" }, { "id" : "Simon Proctor", @@ -234,6 +283,17 @@ ] }, { + "id" : "Steven Wilson", + "name" : "Steven Wilson", + "data" : [ + [ + "Perl", + 1 + ] + ] + }, + { + "name" : "Thomas Kohler", "data" : [ [ "Perl", @@ -244,7 +304,6 @@ 2 ] ], - "name" : "Thomas Kohler", "id" : "Thomas Kohler" }, { @@ -263,13 +322,7 @@ } ] }, - "legend" : { - "enabled" : 0 - }, - "chart" : { - "type" : "column" - }, - "title" : { - "text" : "The Weekly Challenge - 227" + "xAxis" : { + "type" : "category" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 22bebe2049..4728be6ae6 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - }, - "subtitle" : { - "text" : "Last updated at 2023-07-25 23:38:36 GMT" - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, "series" : [ { - "dataLabels" : { - "y" : 10, - "format" : "{point.y:.0f}", - "rotation" : -90, - "align" : "right", - "enabled" : "true", - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "color" : "#FFFFFF" - }, "data" : [ [ "Blog", - 3775 + 3776 ], [ "Perl", - 11598 + 11602 ], [ "Raku", - 6675 + 6676 ] ], - "name" : "Contributions" + "name" : "Contributions", + "dataLabels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "enabled" : "true", + "y" : 10, + "format" : "{point.y:.0f}", + "align" : "right", + "rotation" : -90, + "color" : "#FFFFFF" + } } ], "legend" : { "enabled" : "false" }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Last updated at 2023-07-26 18:01:07 GMT" }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2023]" + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 9d83a771af..5b4233d22d 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,4161 +1,54 @@ { + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2023-07-26 18:01:07 GMT" + }, "plotOptions" : { "series" : { "borderWidth" : 0, "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 + "enabled" : 1, + "format" : "{point.y}" } } }, - "drilldown" : { - "series" : [ - { - "name" : "001", - "id" : "001", - "data" : [ - [ - "Perl", - 105 - ], - [ - "Raku", - 47 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "id" : "002", - "name" : "002", - "data" : [ - [ - "Perl", - 83 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "id" : "003", - "name" : "003" - }, - { - "name" : "004", - "id" : "004", - "data" : [ - [ - "Perl", - 60 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 12 - ] - ], - "name" : "005", - "id" : "005" - }, - { - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 18 - ], - [ - "Blog", - 7 - ] - ], - "name" : "006", - "id" : "006" - }, - { - "name" : "007", - "id" : "007", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 12 - ] - ], - "id" : "008", - "name" : "008" - }, - { - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 13 - ] - ], - "id" : "009", - "name" : "009" - }, - { - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ], - "name" : "010", - "id" : "010" - }, - { - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 10 - ] - ], - "name" : "011", - "id" : "011" - }, - { - "id" : "012", - "name" : "012", - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 13 - ] - ], - "name" : "013", - "id" : "013" - }, - { - "id" : "014", - "name" : "014", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "015", - "id" : "015", - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 13 - ] - ], - "id" : "016", - "name" : "016" - }, - { - "id" : "017", - "name" : "017", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ], - "name" : "018", - "id" : "018" - }, - { - "id" : "019", - "name" : "019", - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 13 - ] - ], - "name" : "020", - "id" : "020" - }, - { - "name" : "021", - "id" : "021", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ], - "name" : "022", - "id" : "022" - }, - { - "id" : "023", - "name" : "023", - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "024", - "id" : "024", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 12 - ] - ], - "id" : "025", - "name" : "025" - }, - { - "name" : "026", - "id" : "026", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "name" : "027", - "id" : "027", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "id" : "028", - "name" : "028", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "id" : "029", - "name" : "029" - }, - { - "data" : [ - [ - "Perl", - 78 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "name" : "030", - "id" : "030" - }, - { - "name" : "031", - "id" : "031", - "data" : [ - [ - "Perl", - 54 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 61 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 10 - ] - ], - "id" : "032", - "name" : "032" - }, - { - "id" : "033", - "name" : "033", - "data" : [ - [ - "Perl", - 66 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 11 - ] - ], - "id" : "034", - "name" : "034" - }, - { - "id" : "035", - "name" : "035", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 11 - ] - ], - "name" : "036", - "id" : "036" - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 9 - ] - ], - "id" : "037", - "name" : "037" - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 12 - ] - ], - "name" : "038", - "id" : "038" - }, - { - "id" : "039", - "name" : "039", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "040", - "id" : "040", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "id" : "041", - "name" : "041", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "id" : "042", - "name" : "042", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 11 - ] - ], - "name" : "043", - "id" : "043" - }, - { - "name" : "044", - "id" : "044", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "name" : "045", - "id" : "045", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "name" : "046", - "id" : "046" - }, - { - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 10 - ] - ], - "id" : "047", - "name" : "047" - }, - { - "data" : [ - [ - "Perl", - 63 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 12 - ] - ], - "id" : "048", - "name" : "048" - }, - { - "data" : [ - [ - "Perl", - 54 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "name" : "049", - "id" : "049" - }, - { - "name" : "050", - "id" : "050", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "051", - "id" : "051", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 14 - ] - ], - "name" : "052", - "id" : "052" - }, - { - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 15 - ] - ], - "id" : "053", - "name" : "053" - }, - { - "id" : "054", - "name" : "054", - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "id" : "055", - "name" : "055", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 17 - ] - ], - "name" : "056", - "id" : "056" - }, - { - "id" : "057", - "name" : "057", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "id" : "058", - "name" : "058", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "name" : "059", - "id" : "059", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ], - "id" : "060", - "name" : "060" - }, - { - "name" : "061", - "id" : "061", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ], - "id" : "062", - "name" : "062" - }, - { - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ], - "name" : "063", - "id" : "063" - }, - { - "name" : "064", - "id" : "064", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ], - "name" : "065", - "id" : "065" - }, - { - "id" : "066", - "name" : "066", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "name" : "067", - "id" : "067", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 13 - ] - ], - "name" : "068", - "id" : "068" - }, - { - "id" : "069", - "name" : "069", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 17 - ] - ], - "id" : "070", - "name" : "070" - }, - { - "name" : "071", - "id" : "071", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 55 - ], - [ - "Raku", - 42 - ], - [ - "Blog", - 19 - ] - ], - "id" : "072", - "name" : "072" - }, - { - "data" : [ - [ - "Perl", - 55 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 17 - ] - ], - "id" : "073", - "name" : "073" - }, - { - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 20 - ] - ], - "id" : "074", - "name" : "074" - }, - { - "name" : "075", - "id" : "075", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 20 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 16 - ] - ], - "name" : "076", - "id" : "076" - }, - { - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 14 - ] - ], - "name" : "077", - "id" : "077" - }, - { - "name" : "078", - "id" : "078", - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "name" : "079", - "id" : "079", - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 75 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ], - "id" : "080", - "name" : "080" - }, - { - "name" : "081", - "id" : "081", - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 62 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 17 - ] - ], - "id" : "082", - "name" : "082" - }, - { - "data" : [ - [ - "Perl", - 73 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 16 - ] - ], - "name" : "083", - "id" : "083" - }, - { - "data" : [ - [ - "Perl", - 71 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 12 - ] - ], - "id" : "084", - "name" : "084" - }, - { - "data" : [ - [ - "Perl", - 64 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 18 - ] - ], - "name" : "085", - "id" : "085" - }, - { - "id" : "086", - "name" : "086", - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "id" : "087", - "name" : "087", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 20 - ] - ], - "id" : "088", - "name" : "088" - }, - { - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 20 - ] - ], - "name" : "089", - "id" : "089" - }, - { - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 17 - ] - ], - "id" : "090", - "name" : "090" - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ], - "name" : "091", - "id" : "091" - }, - { - "name" : "092", - "id" : "092", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "id" : "093", - "name" : "093", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 17 - ] - ], - "id" : "094", - "name" : "094" - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 19 - ] - ], - "name" : "095", - "id" : "095" - }, - { - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 19 - ] - ], - "id" : "096", - "name" : "096" - }, - { - "data" : [ - [ - "Perl", - 63 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 19 - ] - ], - "name" : "097", - "id" : "097" - }, - { - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 17 - ] - ], - "name" : "098", - "id" : "098" - }, - { - "id" : "099", - "name" : "099", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 69 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 21 - ] - ], - "id" : "100", - "name" : "100" - }, - { - "name" : "101", - "id" : "101", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "id" : "102", - "name" : "102", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "103", - "id" : "103", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 14 - ] - ], - "name" : "104", - "id" : "104" - }, - { - "id" : "105", - "name" : "105", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "id" : "106", - "name" : "106", - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "id" : "107", - "name" : "107", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 19 - ] - ] - }, - { - "name" : "108", - "id" : "108", - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 20 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 22 - ] - ], - "id" : "109", - "name" : "109" - }, - { - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 25 - ] - ], - "id" : "110", - "name" : "110" - }, - { - "id" : "111", - "name" : "111", - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "name" : "112", - "id" : "112", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 19 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 19 - ] - ], - "name" : "113", - "id" : "113" - }, - { - "data" : [ - [ - "Perl", - 55 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 21 - ] - ], -