From 1e387fae1cd65bbb26cda9b918684adafd507452 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 2 May 2021 09:11:13 +0100 Subject: - Added solutions by Colin Crain. --- challenge-110/colin-crain/perl/ch-1.pl | 96 ++ challenge-110/colin-crain/perl/ch-2.pl | 84 ++ challenge-110/colin-crain/python/ch-1.py | 42 + challenge-110/colin-crain/python/ch-2.py | 52 + challenge-110/colin-crain/raku/ch-1.raku | 45 + challenge-110/colin-crain/raku/ch-2.raku | 50 + stats/pwc-current.json | 189 ++-- stats/pwc-language-breakdown-summary.json | 64 +- stats/pwc-language-breakdown.json | 1522 ++++++++++++++--------------- stats/pwc-leaders.json | 712 +++++++------- stats/pwc-summary-1-30.json | 108 +- stats/pwc-summary-121-150.json | 42 +- stats/pwc-summary-151-180.json | 46 +- stats/pwc-summary-181-210.json | 90 +- stats/pwc-summary-211-240.json | 38 +- stats/pwc-summary-31-60.json | 110 +-- stats/pwc-summary-61-90.json | 32 +- stats/pwc-summary-91-120.json | 112 +-- stats/pwc-summary.json | 488 ++++----- 19 files changed, 2155 insertions(+), 1767 deletions(-) create mode 100644 challenge-110/colin-crain/perl/ch-1.pl create mode 100644 challenge-110/colin-crain/perl/ch-2.pl create mode 100644 challenge-110/colin-crain/python/ch-1.py create mode 100644 challenge-110/colin-crain/python/ch-2.py create mode 100644 challenge-110/colin-crain/raku/ch-1.raku create mode 100644 challenge-110/colin-crain/raku/ch-2.raku diff --git a/challenge-110/colin-crain/perl/ch-1.pl b/challenge-110/colin-crain/perl/ch-1.pl new file mode 100644 index 0000000000..1626a7c36e --- /dev/null +++ b/challenge-110/colin-crain/perl/ch-1.pl @@ -0,0 +1,96 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# phone-block.pl +# +# Valid Phone Numbers +# Submitted by: Mohammad S Anwar +# You are given a text file. +# +# Write a script to display all valid phone numbers in the given text file. +# +# Acceptable Phone Number Formats +# +nn nnnnnnnnnn +# (nn) nnnnnnnnnn +# nnnn nnnnnnnnnn +# +# Input File +# 0044 1148820341 +# +44 1148820341 +# 44-11-4882-0341 +# (44) 1148820341 +# 00 1148820341 +# +# Output +# 0044 1148820341 +# +44 1148820341 +# (44) 1148820341 +# +# +# method: +# we are given a specific text file which we will assume is selected +# to be representative of the typical data: +# * 1 possible number per line +# * possible whitespace before and after +# * internal whitespace between beginning and end block is +# significant +# +# the '00' prefix on the last line seems like it should be +# disqualifying, but it's already out for not wearing the proper +# attire. So it is not removed for its insensibility but rather its +# sartorial malfesance. I have no idea what city codes (?) are or +# are not allowed. +# +# These rules seem pretty strict; over here we tolerate phone +# numbers in a little more variety of related formats: +# (212) 555-1212 +# (212)555-1212 +# 212-555-1212 +# 212.555.1212 +# or even 212 555 1212 +# +# although the parentheses if present are exclusively around the +# area code, other combinations of dashes, dots and spaces can be +# found in the wild and all are considered perfectly acceptable. +# +# the most important part being the breaking into 3 digits, 3 digits +# and 4 digits. The delimiters are varied, the single dot being the +# most recent addition, but still decades old by now. Rarely you +# might still see a number without an area code, but I live in a big +# city and haven't seen this for years. I have, in my life, lived in +# communities where is was acceptable to go with the last four +# digits if the others could be assumed to be the common exchange +# prefix (and at that point the area code is obvious). I'm not sure +# when the last time I was not required to dial an area code. +# +# to me the ten-number segment looks brutal to scan. Just sayin'. +# +# to solve the task we will write a regular expression that will +# match the three valid cases. Woe to those who stray from the path +# of rightousness. +# + + +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; + +@ARGV = qw( phone-numbers.txt ); +my @numbers; + +my $regex = qr/((?: \d{4} | \(\d\d\) | \+\d\d ) \s \d{10}) (?!\d)/x; + +while (<>) { + push @numbers, $_ for /$regex/; +} + +say $_ for @numbers; + + + diff --git a/challenge-110/colin-crain/perl/ch-2.pl b/challenge-110/colin-crain/perl/ch-2.pl new file mode 100644 index 0000000000..2fbbfe5ec0 --- /dev/null +++ b/challenge-110/colin-crain/perl/ch-2.pl @@ -0,0 +1,84 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# reflect.pl +# +# Transpose File +# Submitted by: Mohammad S Anwar +# You are given a text file. +# +# Write a script to transpose the contents of the given file. +# +# Input File +# name,age,sex +# Mohammad,45,m +# Joe,20,m +# Julie,35,f +# Cristina,10,f +# +# Output: +# name,Mohammad,Joe,Julie,Cristina +# age,45,20,35,10 +# sex,m,m,f,f + +# method: +# Are we going to assume this is proper CSV data as distinguished from +# a bunch of data separated by commas? The difference being one has +# edge-cases covered and the other will presumably break sooner or +# later. +# +# We'll start with use split on the commas and proceed with our arrays +# from there. +# +# What do we do if the data doesn't align? I think we need to fill +# with undefs to keep the transposed data relationships intact. It's +# the decent thing to do. +# +# T(N) ∘ T⁻ⁱ(N) = N +# +# So the dimensions of the transposition will be based on the largest +# dimensions of the rows and columns. This doesn't affect the given +# input but should a datum be missing the record would look like: +# +# Joe,,m +# +# We'll assume there are no commas in the data to keep the clutter +# down. Maybe we'll bring in CSV.pm when we're done, but the logic +# isn't about that really so it's just a distraction. + + +# +# +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; + +@ARGV = qw( transpose-data.txt ); + +my @mat; +my @trans; + +my $max = 0; + +while (<>) { + chomp; + push @mat, [ split ',', $_ ]; + $mat[-1]->@* > $max and $max = $mat[-1]->@*; +} + +for my $i (0..@mat-1) { + for my $j (0..$max-1) { + $trans[$j][$i] = $mat[$i][$j]; + } +} + +local $" = ','; +say "@$_" for @trans; + + diff --git a/challenge-110/colin-crain/python/ch-1.py b/challenge-110/colin-crain/python/ch-1.py new file mode 100644 index 0000000000..7c381f1c37 --- /dev/null +++ b/challenge-110/colin-crain/python/ch-1.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +# +# +# phone-block.py +# +# Valid Phone Numbers +# Submitted by: Mohammad S Anwar +# You are given a text file. +# +# Write a script to display all valid phone numbers in the given text file. +# +# Acceptable Phone Number Formats +# +nn nnnnnnnnnn +# (nn) nnnnnnnnnn +# nnnn nnnnnnnnnn +# +# Input File +# 0044 1148820341 +# +44 1148820341 +# 44-11-4882-0341 +# (44) 1148820341 +# 00 1148820341 +# +# Output +# 0044 1148820341 +# +44 1148820341 +# (44) 1148820341 +# +# +# +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + +import re + +f = open("phone-numbers.txt", "r") +for line in f: + pn = re.search(r"((?:\d{4}|\(\d\d\)|\+\d\d)\s\d{10}(?!\d))", line) + if pn != None: + print('{0:>16s}'.format(pn.group())) + +f.close diff --git a/challenge-110/colin-crain/python/ch-2.py b/challenge-110/colin-crain/python/ch-2.py new file mode 100644 index 0000000000..d76f2bdaf4 --- /dev/null +++ b/challenge-110/colin-crain/python/ch-2.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +# +# reflect.py +# +# Transpose File +# Submitted by: Mohammad S Anwar +# You are given a text file. +# +# Write a script to transpose the contents of the given file. +# +# Input File +# name,age,sex +# Mohammad,45,m +# Joe,20,m +# Julie,35,f +# Cristina,10,f +# +# Output: +# name,Mohammad,Joe,Julie,Cristina +# age,45,20,35,10 +# sex,m,m,f,f +# +# +# +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + +import re + +mat = [] +trans = [] +cols = 0 + +f = open("transpose-data.txt", "r") +for line in f: + row = re.split(",", line.rstrip()) + mat.append(row) + cols = max(cols, len(row)) +f.close + + +trans = [[mat[j][i] for j in range(len(mat))] for i in range(len(mat[0]))] + +for i in mat: + print( *i ) + +print() + +for i in trans: + print( *i ) + diff --git a/challenge-110/colin-crain/raku/ch-1.raku b/challenge-110/colin-crain/raku/ch-1.raku new file mode 100644 index 0000000000..30ea2860e2 --- /dev/null +++ b/challenge-110/colin-crain/raku/ch-1.raku @@ -0,0 +1,45 @@ +#!/usr/bin/env perl6 +# +# +# phone-block.raku +# +# Valid Phone Numbers +# Submitted by: Mohammad S Anwar +# You are given a text file. +# +# Write a script to display all valid phone numbers in the given text file. +# +# Acceptable Phone Number Formats +# +nn nnnnnnnnnn +# (nn) nnnnnnnnnn +# nnnn nnnnnnnnnn +# +# Input File +# 0044 1148820341 +# +44 1148820341 +# 44-11-4882-0341 +# (44) 1148820341 +# 00 1148820341 +# +# Output +# 0044 1148820341 +# +44 1148820341 +# (44) 1148820341 +# +# +# +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN ( Str $file = "phone-numbers.txt" ) ; + +my $regex = rx/ [ \d\d\d\d || \(\d\d\) || \+\d\d ] \s \d ** 10 /; + +my @numbers = $file.IO.lines + .map({$_~~$regex}) + .grep({.defined}) ; + +say $_.Str.fmt("%16s") for @numbers; + diff --git a/challenge-110/colin-crain/raku/ch-2.raku b/challenge-110/colin-crain/raku/ch-2.raku new file mode 100644 index 0000000000..5abe9abcbe --- /dev/null +++ b/challenge-110/colin-crain/raku/ch-2.raku @@ -0,0 +1,50 @@ +#!/usr/bin/env perl6 +# +# +# reflect.raku +# +# Transpose File +# Submitted by: Mohammad S Anwar +# You are given a text file. +# +# Write a script to transpose the contents of the given file. +# +# Input File +# name,age,sex +# Mohammad,45,m +# Joe,20,m +# Julie,35,f +# Cristina,10,f +# +# Output: +# name,Mohammad,Joe,Julie,Cristina +# age,45,20,35,10 +# sex,m,m,f,f +# +# +# +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN ( Str $input = 'transpose-data.txt' ) ; + + +my @mat.push( $_.split(',') ) for $input.IO.lines; +my $max = @mat.map( *.elems ) + .max; +my @trans; + +for ^@mat.elems -> $i { + for ^$max -> $j { + @trans[$j][$i] = @mat[$i][$j]; + } +} + +say $_.list for @mat; +say ''; +say $_.list for @trans; + + + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 27c8cb19b3..6bd140b52b 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,15 +1,11 @@ { - "subtitle" : { - "text" : "[Champions: 20] Last updated at 2021-05-02 07:53:19 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge - 110" - }, - "legend" : { - "enabled" : 0 + "chart" : { + "type" : "column" }, "series" : [ { + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 110", "data" : [ { "name" : "Aaron Smith", @@ -17,19 +13,24 @@ "y" : 3 }, { - "name" : "Abigail", "y" : 2, - "drilldown" : "Abigail" + "drilldown" : "Abigail", + "name" : "Abigail" }, { + "name" : "Andinus", "drilldown" : "Andinus", - "y" : 4, - "name" : "Andinus" + "y" : 4 + }, + { + "name" : "Colin Crain", + "drilldown" : "Colin Crain", + "y" : 4 }, { "name" : "Dave Jacoby", - "y" : 3, - "drilldown" : "Dave Jacoby" + "drilldown" : "Dave Jacoby", + "y" : 3 }, { "name" : "Flavio Poletti", @@ -38,8 +39,8 @@ }, { "name" : "James Smith", - "drilldown" : "James Smith", - "y" : 3 + "y" : 3, + "drilldown" : "James Smith" }, { "name" : "Jan Krnavek", @@ -47,19 +48,19 @@ "drilldown" : "Jan Krnavek" }, { - "name" : "Joan Mimosinnet", + "drilldown" : "Joan Mimosinnet", "y" : 2, - "drilldown" : "Joan Mimosinnet" + "name" : "Joan Mimosinnet" }, { - "name" : "Jorg Sommrey", "y" : 2, - "drilldown" : "Jorg Sommrey" + "drilldown" : "Jorg Sommrey", + "name" : "Jorg Sommrey" }, { - "y" : 5, + "name" : "Laurent Rosenfeld", "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" + "y" : 5 }, { "drilldown" : "Luca Ferrari", @@ -67,55 +68,72 @@ "name" : "Luca Ferrari" }, { - "y" : 2, "drilldown" : "Mark Anderson", + "y" : 2, "name" : "Mark Anderson" }, { "name" : "Mohammad S Anwar", - "y" : 4, - "drilldown" : "Mohammad S Anwar" + "drilldown" : "Mohammad S Anwar", + "y" : 4 }, { - "y" : 2, "drilldown" : "Niels van Dijke", + "y" : 2, "name" : "Niels van Dijke" }, { - "y" : 5, + "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West" + "y" : 5 }, { - "name" : "Ryan Thompson", "drilldown" : "Ryan Thompson", - "y" : 4 + "y" : 4, + "name" : "Ryan Thompson" }, { - "y" : 3, "drilldown" : "Simon Green", + "y" : 3, "name" : "Simon Green" }, { - "name" : "Stuart Little", "drilldown" : "Stuart Little", - "y" : 4 + "y" : 4, + "name" : "Stuart Little" }, { + "name" : "Ulrich Rieke", "y" : 4, - "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + "drilldown" : "Ulrich Rieke" }, { "y" : 3, "drilldown" : "W. Luis Mochan", "name" : "W. Luis Mochan" } - ], - "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 110" + ] } ], + "tooltip" : { + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1 + }, + "xAxis" : { + "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 21] Last updated at 2021-05-02 08:10:43 GMT" + }, "plotOptions" : { "series" : { "borderWidth" : 0, @@ -125,18 +143,11 @@ } } }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "chart" : { - "type" : "column" - }, "drilldown" : { "series" : [ { "id" : "Aaron Smith", + "name" : "Aaron Smith", "data" : [ [ "Raku", @@ -146,22 +157,21 @@ "Blog", 1 ] - ], - "name" : "Aaron Smith" + ] }, { "name" : "Abigail", - "id" : "Abigail", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Abigail" }, { - "name" : "Andinus", "id" : "Andinus", + "name" : "Andinus", "data" : [ [ "Raku", @@ -174,6 +184,22 @@ ] }, { + "id" : "Colin Crain", + "name" : "Colin Crain", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] + }, + { + "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -183,9 +209,7 @@ "Blog", 1 ] - ], - "id" : "Dave Jacoby", - "name" : "Dave Jacoby" + ] }, { "name" : "Flavio Poletti", @@ -202,8 +226,6 @@ "id" : "Flavio Poletti" }, { - "name" : "James Smith", - "id" : "James Smith", "data" : [ [ "Perl", @@ -213,39 +235,42 @@ "Blog", 1 ] - ] + ], + "name" : "James Smith", + "id" : "James Smith" }, { "name" : "Jan Krnavek", - "id" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Jan Krnavek" }, { - "name" : "Joan Mimosinnet", "id" : "Joan Mimosinnet", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Joan Mimosinnet" }, { - "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], + "name" : "Jorg Sommrey", "id" : "Jorg Sommrey" }, { + "id" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld", "data" : [ [ @@ -260,11 +285,9 @@ "Blog", 1 ] - ], - "id" : "Laurent Rosenfeld" + ] }, { - "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -275,19 +298,21 @@ 2 ] ], + "name" : "Luca Ferrari", "id" : "Luca Ferrari" }, { - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], - "name" : "Mark Anderson" + "name" : "Mark Anderson", + "id" : "Mark Anderson" }, { + "name" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -298,22 +323,21 @@ 2 ] ], - "id" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar" + "id" : "Mohammad S Anwar" }, { - "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "name" : "Niels van Dijke" + "name" : "Niels van Dijke", + "id" : "Niels van Dijke" }, { - "name" : "Roger Bell_West", "id" : "Roger Bell_West", + "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -330,7 +354,6 @@ ] }, { - "name" : "Ryan Thompson", "data" : [ [ "Perl", @@ -341,10 +364,10 @@ 2 ] ], + "name" : "Ryan Thompson", "id" : "Ryan Thompson" }, { - "id" : "Simon Green", "data" : [ [ "Perl", @@ -355,7 +378,8 @@ 1 ] ], - "name" : "Simon Green" + "name" : "Simon Green", + "id" : "Simon Green" }, { "name" : "Stuart Little", @@ -372,7 +396,6 @@ "id" : "Stuart Little" }, { - "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -383,10 +406,10 @@ 2 ] ], - "name" : "Ulrich Rieke" + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" }, { - "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -397,16 +420,12 @@ 1 ] ], + "name" : "W. Luis Mochan", "id" : "W. Luis Mochan" } ] }, - "xAxis" : { - "type" : "category" - }, - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" + "title" : { + "text" : "Perl Weekly Challenge - 110" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index a314bea5e0..ed1a99d898 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,15 +1,34 @@ { - "subtitle" : { - "text" : "Last updated at 2021-05-02 07:53:19 GMT" - }, "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, + "subtitle" : { + "text" : "Last updated at 2021-05-02 08:10:42 GMT" + }, "legend" : { "enabled" : "false" }, + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, "series" : [ { + "name" : "Contributions", "data" : [ [ "Blog", @@ -17,47 +36,28 @@ ], [ "Perl", - 5191 + 5193 ], [ "Raku", - 3302 + 3304 ] ], "dataLabels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, "color" : "#FFFFFF", - "enabled" : "true", "y" : 10, - "format" : "{point.y:.0f}", + "rotation" : -90, "align" : "right", - "rotation" : -90 - }, - "name" : "Contributions" + "enabled" : "true", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "format" : "{point.y:.0f}" + } } ], - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, "chart" : { "type" : "column" - }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index f18139b776..24fa26bad0 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,589 +1,11 @@ { - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "legend" : { - "enabled" : "false" - }, - "series" : [ - { - "name" : "Perl Weekly Challenge Languages", - "data" : [ - { - "name" : "#001", - "y" : 161, - "drilldown" : "001" - }, - { - "y" : 125, - "drilldown" : "002", - "name" : "#002" - }, - { - "name" : "#003", - "drilldown" : "003", - "y" : 81 - }, - { - "drilldown" : "004", - "y" : 99, - "name" : "#004" - }, - { - "y" : 78, - "drilldown" : "005", - "name" : "#005" - }, - { - "name" : "#006", - "drilldown" : "006", - "y" : 58 - }, - { - "drilldown" : "007", - "y" : 64, - "name" : "#007" - }, - { - "y" : 78, - "drilldown" : "008", - "name" : "#008" - }, - { - "y" : 76, - "drilldown" : "009", - "name" : "#009" - }, - { - "name" : "#010", - "y" : 65, - "drilldown" : "010" - }, - { - "name" : "#011", - "drilldown" : "011", - "y" : 85 - }, - { - "y" : 89, - "drilldown" : "012", - "name" : "#012" - }, - { - "y" : 84, - "drilldown" : "013", - "name" : "#013" - }, - { - "name" : "#014", - "y" : 101, - "drilldown" : "014" - }, - { - "drilldown" : "015", - "y" : 99, - "name" : "#015" - }, - { - "name" : "#016", - "drilldown" : "016", - "y" : 70 - }, - { - "drilldown" : "017", - "y" : 83, - "name" : "#017" - }, - { - "name" : "#018", - "drilldown" : "018", - "y" : 80 - }, - { - "name" : "#019", - "y" : 101, - "drilldown" : "019" - }, - { - "drilldown" : "020", - "y" : 99, - "name" : "#020" - }, - { - "y" : 71, - "drilldown" : "021", - "name" : "#021" - }, - { - "drilldown" : "022", - "y" : 67, - "name" : "#022" - }, - { - "drilldown" : "023", - "y" : 95, - "name" : "#023" - }, - { - "name" : "#024", - "drilldown" : "024", - "y" : 74 - }, - { - "name" : "#025", - "drilldown" : "025", - "y" : 59 - }, - { - "y" : 74, - "drilldown" : "026", - "name" : "#026" - }, - { - "drilldown" : "027", - "y" : 60, - "name" : "#027" - }, - { - "name" : "#028", - "drilldown" : "028", - "y" : 80 - }, - { - "name" : "#029", - "y" : 79, - "drilldown" : "029" - }, - { - "name" : "#030", - "drilldown" : "030", - "y" : 117 - }, - { - "name" : "#031", - "drilldown" : "031", - "y" : 89 - }, - { - "name" : "#032", - "drilldown" : "032", - "y" : 94 - }, - { - "name" : "#033", - "y" : 110, - "drilldown" : "033" - }, - { - "y" : 64, - "drilldown" : "034", - "name" : "#034" - }, - { - "drilldown" : "035", - "y" : 64, - "name" : "#035" - }, - { - "drilldown" : "036", - "y" : 68, - "name" : "#036" - }, - { - "y" : 67, - "drilldown" : "037", - "name" : "#037" - }, - { - "name" : "#038", - "drilldown" : "038", - "y" : 67 - }, - { - "name" : "#039", - "drilldown" : "039", - "y" : 62 - }, - { - "y" : 73, - "drilldown" : "040", - "name" : "#040" - }, - { - "y" : 76, - "drilldown" : "041", - "name" : "#041" - }, - { - "y" : 92, - "drilldown" : "042", - "name" : "#042" - }, - { - "drilldown" : "043", - "y" : 68, - "name" : "#043" - }, - { - "name" : "#044", - "y" : 85, - "drilldown" : "044" - }, - { - "y" : 96, - "drilldown" : "045", - "name" : "#045" - }, - { - "name" : "#046", - "y" : 87, - "drilldown" : "046" - }, - { - "drilldown" : "047", - "y" : 84, - "name" : "#047" - }, - { - "drilldown" : "048", - "y" : 108, - "name" : "#048" - }, - { - "drilldown" : "049", - "y" : 89, - "name" : "#049" - }, - { - "name" : "#050", - "drilldown" : "050", - "y" : 98 - }, - { - "y" : 89, - "drilldown" : "051", - "name" : "#051" - }, - { - "drilldown" : "052", - "y" : 91, - "name" : "#052" - }, - { - "name" : "#053", - "y" : 101, - "drilldown" : "053" - }, - { - "drilldown" : "054", - "y" : 103, - "name" : "#054" - }, - { - "name" : "#055", - "drilldown" : "055", - "y" : 88 - }, - { - "drilldown" : "056", - "y" : 95, - "name" : "#056" - }, - { - "name" : "#057", - "drilldown" : "057", - "y" : 80 - }, - { - "name" : "#058", - "y" : 69, - "drilldown" : "058" - }, - { - "drilldown" : "059", - "y" : 89, - "name" : "#059" - }, - { - "name" : "#060", - "drilldown" : "060", - "y" : 85 - }, - { - "y" : 81, - "drilldown" : "061", - "name" : "#061" - }, - { - "name" : "#062", - "drilldown" : "062", - "y" : 56 - }, - { - "name" : "#063", - "drilldown" : "063", - "y" : 89 - }, - { - "name" : "#064", - "drilldown" : "064", - "y" : 80 - }, - { - "name" : "#065", - "y" : 73, - "drilldown" : "065" - }, - { - "y" : 84, - "drilldown" : "066", - "name" : "#066" - }, - { - "drilldown" : "067", - "y" : 90, - "name" : "#067" - }, - { - "name" : "#068", - "drilldown" : "068", - "y" : 75 - }, - { - "name" : "#069", - "y" : 83, - "drilldown" : "069" - }, - { - "drilldown" : "070", - "y" : 93, - "name" : "#070" - }, - { - "drilldown" : "071", - "y" : 78, - "name" : "#071" - }, - { - "name" : "#072", - "y" : 112, - "drilldown" : "072" - }, - { - "name" : "#073", - "y" : 110, - "drilldown" : "073" - }, - { - "y" : 115, - "drilldown" : "074", - "name" : "#074" - }, - { - "name" : "#075", - "drilldown" : "075", - "y" : 113 - }, - { - "y" : 99, - "drilldown" : "076", - "name" : "#076" - }, - { - "y" : 98, - "drilldown" : "077", - "name" : "#077" - }, - { - "y" : 127, - "drilldown" : "078", - "name" : "#078" - }, - { - "drilldown" : "079", - "y" : 122, - "name" : "#079" - }, - { - "drilldown" : "080", - "y" : 127, - "name" : "#080" - }, - { - "drilldown" : "081", - "y" : 114, - "name" : "#081" - }, - { - "drilldown" : "082", - "y" : 114, - "name" : "#082" - }, - { - "name" : "#083", - "y" : 127, - "drilldown" : "083" - }, - { - "drilldown" : "084", - "y" : 119, - "name" : "#084" - }, - { - "name" : "#085", - "y" : 114, - "drilldown" : "085" - }, - { - "drilldown" : "086", - "y" : 104, - "name" : "#086" - }, - { - "drilldown" : "087", - "y" : 101, - "name" : "#087" - }, - { - "drilldown" : "088", - "y" : 121, - "name" : "#088" - }, - { - "drilldown" : "089", - "y" : 113, - "name" : "#089" - }, - { - "name" : "#090", - "y" : 113, - "drilldown" : "090" - }, - { - "name" : "#091", - "drilldown" : "091", - "y" : 108 - }, - { - "name" : "#092", - "drilldown" : "092", - "y" : 98 - }, - { - "name" : "#093", - "y" : 87, - "drilldown" : "093" - }, - { - "drilldown" : "094", - "y" : 87, - "name" : "#094" - }, - { - "drilldown" : "095", - "y" : 108, - "name" : "#095" - }, - { - "drilldown" : "096", - "y" : 108, - "name" : "#096" - }, - { - "y" : 111, - "drilldown" : "097", - "name" : "#097" - }, - { - "y" : 108, - "drilldown" : "098", - "name" : "#098" - }, - { - "name" : "#099", - "drilldown" : "099", - "y" : 97 - }, - { - "name" : "#100", - "drilldown" : "100", - "y" : 120 - }, - { - "y" : 83, - "drilldown" : "101", - "name" : "#101" - }, - { - "drilldown" : "102", - "y" : 90, - "name" : "#102" - }, - { - "drilldown" : "103", - "y" : 79, - "name" : "#103" - }, - { - "y" : 82, - "drilldown" : "104", - "name" : "#104" - }, - { - "y" : 73, - "drilldown" : "105", - "name" : "#105" - }, - { - "name" : "#106", - "y" : 97, - "drilldown" : "106" - }, - { - "drilldown" : "107", - "y" : 88, - "name" : "#107" - }, - { - "name" : "#108", - "y" : 92, - "drilldown" : "108" - }, - { - "y" : 103, - "drilldown" : "109", - "name" : "#109" - }, - { - "name" : "#110", - "y" : 65, - "drilldown" : "110" - } - ], - "colorByPoint" : "true" - } - ], "title" : { "text" : "Perl Weekly Challenge Language" }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-05-02 07:53:19 GMT" - }, - "tooltip" : { - "headerFormat" : "", - "followPointer" : "true", - "pointFormat" : "Challenge {point.name}: {point.y:f}
" - }, "drilldown" : { "series" : [ { - "id" : "001", + "name" : "001", "data" : [ [ "Perl", @@ -598,9 +20,10 @@ 11 ] ], - "name" : "001" + "id" : "001" }, { + "id" : "002", "data" : [ [ "Perl", @@ -615,10 +38,10 @@ 10 ] ], - "id" : "002", "name" : "002" }, { + "id" : "003", "name" : "003", "data" : [ [ @@ -633,8 +56,7 @@ "Blog", 9 ] - ], - "id" : "003" + ] }, { "name" : "004", @@ -655,7 +77,6 @@ "id" : "004" }, { - "name" : "005", "data" : [ [ "Perl", @@ -670,10 +91,11 @@ 12 ] ], + "name" : "005", "id" : "005" }, { - "name" : "006", + "id" : "006", "data" : [ [ "Perl", @@ -688,10 +110,9 @@ 7 ] ], - "id" : "006" + "name" : "006" }, { - "name" : "007", "id" : "007", "data" : [ [ @@ -706,9 +127,11 @@ "Blog", 10 ] - ] + ], + "name" : "007" }, { + "name" : "008", "data" : [ [ "Perl", @@ -723,12 +146,10 @@ 12 ] ], - "id" : "008", - "name" : "008" + "id" : "008" }, { "name" : "009", - "id" : "009", "data" : [ [ "Perl", @@ -742,10 +163,11 @@ "Blog", 13 ] - ] + ], + "id" : "009" }, { - "name" : "010", + "id" : "010", "data" : [ [ "Perl", @@ -760,11 +182,9 @@ 11 ] ], - "id" : "010" + "name" : "010" }, { - "name" : "011", - "id" : "011", "data" : [ [ "Perl", @@ -778,7 +198,9 @@ "Blog", 10 ] - ] + ], + "name" : "011", + "id" : "011" }, { "id" : "012", @@ -799,6 +221,7 @@ "name" : "012" }, { + "id" : "013", "data" : [ [ "Perl", @@ -813,10 +236,10 @@ 13 ] ], - "id" : "013", "name" : "013" }, { + "id" : "014", "name" : "014", "data" : [ [ @@ -831,12 +254,10 @@ "Blog", 15 ] - ], - "id" : "014" + ] }, { "name" : "015", - "id" : "015", "data" : [ [ "Perl", @@ -850,10 +271,11 @@ "Blog", 15 ] - ] + ], + "id" : "015" }, { - "name" : "016", + "id" : "016", "data" : [ [ "Perl", @@ -868,9 +290,10 @@ 12 ] ], - "id" : "016" + "name" : "016" }, { + "id" : "017", "name" : "017", "data" : [ [ @@ -885,11 +308,11 @@ "Blog", 12 ] - ], - "id" : "017" + ] }, { "id" : "018", + "name" : "018", "data" : [ [ "Perl", @@ -903,11 +326,10 @@ "Blog", 14 ] - ], - "name" : "018" + ] }, { - "id" : "019", + "name" : "019", "data" : [ [ "Perl", @@ -922,7 +344,7 @@ 13 ] ], - "name" : "019" + "id" : "019" }, { "data" : [ @@ -939,10 +361,11 @@ 13 ] ], - "id" : "020", - "name" : "020" + "name" : "020", + "id" : "020" }, { + "id" : "021", "data" : [ [ "Perl", @@ -957,7 +380,6 @@ 10 ] ], - "id" : "021", "name" : "021" }, { @@ -979,7 +401,6 @@ "id" : "022" }, { - "id" : "023", "data" : [ [ "Perl", @@ -994,9 +415,11 @@ 12 ] ], - "name" : "023" + "name" : "023", + "id" : "023" }, { + "id" : "024", "data" : [ [ "Perl", @@ -1011,11 +434,9 @@ 11 ] ], - "id" : "024", "name" : "024" }, { - "id" : "025", "data" : [ [ "Perl", @@ -1030,7 +451,8 @@ 12 ] ], - "name" : "025" + "name" : "025", + "id" : "025" }, { "name" : "026", @@ -1051,7 +473,7 @@ "id" : "026" }, { - "name" : "027", + "id" : "027", "data" : [ [ "Perl", @@ -1066,9 +488,11 @@ 9 ] ], - "id" : "027" + "name" : "027" }, { + "id" : "028", + "name" : "028", "data" : [ [ "Perl", @@ -1082,11 +506,10 @@ "Blog", 9 ] - ], - "id" : "028", - "name" : "028" + ] }, { + "id" : "029", "data" : [ [ "Perl", @@ -1101,11 +524,10 @@ 12 ] ], - "id" : "029", "name" : "029" }, { - "name" : "030", + "id" : "030", "data" : [ [ "Perl", @@ -1120,9 +542,10 @@ 10 ] ], - "id" : "030" + "name" : "030" }, { + "id" : "031", "data" : [ [ "Perl", @@ -1137,12 +560,10 @@ 9 ] ], - "id" : "031", "name" : "031" }, { "name" : "032", - "id" : "032", "data" : [ [ "Perl", @@ -1156,11 +577,11 @@ "Blog", 10 ] - ] + ], + "id" : "032" }, { "name" : "033", - "id" : "033", "data" : [ [ "Perl", @@ -1174,7 +595,8 @@ "Blog", 10 ] - ] + ], + "id" : "033" }, { "data" : [ @@ -1191,8 +613,8 @@ 11 ] ], - "id" : "034", - "name" : "034" + "name" : "034", + "id" : "034" }, { "name" : "035", @@ -1213,6 +635,7 @@ "id" : "035" }, { + "id" : "036", "name" : "036", "data" : [ [ @@ -1227,10 +650,11 @@ "Blog", 11 ] - ], - "id" : "036" + ] }, { + "id" : "037", + "name" : "037", "data" : [ [ "Perl", @@ -1244,11 +668,11 @@ "Blog", 9 ] - ], - "id" : "037", - "name" : "037" + ] }, { + "id" : "038", + "name" : "038", "data" : [ [ "Perl", @@ -1262,12 +686,9 @@ "Blog", 12 ] - ], - "id" : "038", - "name" : "038" + ] }, { - "name" : "039", "id" : "039", "data" : [ [ @@ -1282,10 +703,11 @@ "Blog", 12 ] - ] + ], + "name" : "039" }, { - "name" : "040", + "id" : "040", "data" : [ [ "Perl", @@ -1300,11 +722,11 @@ 10 ] ], - "id" : "040" + "name" : "040" }, { - "name" : "041", "id" : "041", + "name" : "041", "data" : [ [ "Perl", @@ -1321,6 +743,7 @@ ] }, { + "id" : "042", "name" : "042", "data" : [ [ @@ -1335,11 +758,9 @@ "Blog", 11 ] - ], - "id" : "042" + ] }, { - "name" : "043", "id" : "043", "data" : [ [ @@ -1354,10 +775,10 @@ "Blog", 11 ] - ] + ], + "name" : "043" }, { - "id" : "044", "data" : [ [ "Perl", @@ -1372,10 +793,11 @@ 11 ] ], - "name" : "044" + "name" : "044", + "id" : "044" }, { - "name" : "045", + "id" : "045", "data" : [ [ "Perl", @@ -1390,9 +812,11 @@ 11 ] ], - "id" : "045" + "name" : "045" }, { + "id" : "046", + "name" : "046", "data" : [ [ "Perl", @@ -1406,12 +830,9 @@ "Blog", 10 ] - ], - "id" : "046", - "name" : "046" + ] }, { - "name" : "047", "id" : "047", "data" : [ [ @@ -1426,9 +847,11 @@ "Blog", 10 ] - ] + ], + "name" : "047" }, { + "name" : "048", "data" : [ [ "Perl", @@ -1443,10 +866,10 @@ 12 ] ], - "id" : "048", - "name" : "048" + "id" : "048" }, { + "name" : "049", "data" : [ [ "Perl", @@ -1461,11 +884,9 @@ 12 ] ], - "id" : "049", - "name" : "049" + "id" : "049" }, { - "id" : "050", "data" : [ [ "Perl", @@ -1480,7 +901,8 @@ 12 ] ], - "name" : "050" + "name" : "050", + "id" : "050" }, { "id" : "051", @@ -1501,7 +923,6 @@ "name" : "051" }, { - "name" : "052", "data" : [ [ "Perl", @@ -1516,6 +937,7 @@ 14 ] ], + "name" : "052", "id" : "052" }, { @@ -1555,7 +977,6 @@ "id" : "054" }, { - "name" : "055", "id" : "055", "data" : [ [ @@ -1570,7 +991,8 @@ "Blog", 14 ] - ] + ], + "name" : "055" }, { "data" : [ @@ -1587,11 +1009,10 @@ 16 ] ], - "id" : "056", - "name" : "056" + "name" : "056", + "id" : "056" }, { - "id" : "057", "data" : [ [ "Perl", @@ -1606,9 +1027,12 @@ 15 ] ], - "name" : "057" + "name" : "057", + "id" : "057" }, { + "id" : "058", + "name" : "058", "data" : [ [ "Perl", @@ -1622,9 +1046,7 @@ "Blog", 13 ] - ], - "id" : "058", - "name" : "058" + ] }, { "name" : "059", @@ -1663,7 +1085,7 @@ "id" : "060" }, { - "name" : "061", + "id" : "061", "data" : [ [ "Perl", @@ -1678,10 +1100,9 @@ 14 ] ], - "id" : "061" + "name" : "061" }, { - "name" : "062", "data" : [ [ "Perl", @@ -1696,6 +1117,7 @@ 11 ] ], + "name" : "062", "id" : "062" }, { @@ -1717,8 +1139,8 @@ "id" : "063" }, { - "name" : "064", "id" : "064", + "name" : "064", "data" : [ [ "Perl", @@ -1736,7 +1158,6 @@ }, { "name" : "065", - "id" : "065", "data" : [ [ "Perl", @@ -1750,7 +1171,8 @@ "Blog", 15 ] - ] + ], + "id" : "065" }, { "name" : "066", @@ -1785,11 +1207,11 @@ 18 ] ], - "id" : "067", - "name" : "067" + "name" : "067", + "id" : "067" }, { - "name" : "068", + "id" : "068", "data" : [ [ "Perl", @@ -1804,9 +1226,10 @@ 13 ] ], - "id" : "068" + "name" : "068" }, { + "id" : "069", "data" : [ [ "Perl", @@ -1821,10 +1244,10 @@ 16 ] ], - "id" : "069", "name" : "069" }, { + "id" : "070", "name" : "070", "data" : [ [ @@ -1839,11 +1262,9 @@ "Blog", 17 ] - ], - "id" : "070" + ] }, { - "name" : "071", "id" : "071", "data" : [ [ @@ -1858,9 +1279,11 @@ "Blog", 15 ] - ] + ], + "name" : "071" }, { + "name" : "072", "data" : [ [ "Perl", @@ -1875,12 +1298,9 @@ 19 ] ], - "id" : "072", - "name" : "072" + "id" : "072" }, { - "name" : "073", - "id" : "073", "data" : [ [ "Perl", @@ -1894,10 +1314,11 @@ "Blog", 17 ] - ] + ], + "name" : "073", + "id" : "073" }, { - "name" : "074", "data" : [ [ "Perl", @@ -1912,10 +1333,10 @@ 20 ] ], + "name" : "074", "id" : "074" }, { - "id" : "075", "data" : [ [ "Perl", @@ -1930,11 +1351,10 @@ 20 ] ], - "name" : "075" + "name" : "075", + "id" : "075" }, { - "name" : "076", - "id" : "076", "data" : [ [ "Perl", @@ -1948,9 +1368,12 @@ "Blog", 16 ] - ] + ], + "name" : "076", + "id" : "076" }, { + "name" : "077", "data" : [ [ "Perl", @@ -1965,10 +1388,10 @@ 14 ] ], - "id" : "077", - "name" : "077" + "id" : "077" }, { + "id" : "078", "name" : "078", "data" : [ [ @@ -1983,12 +1406,10 @@ "Blog", 18 ] - ], - "id" : "078" + ] }, { "name" : "079", - "id" : "079", "data" : [ [ "Perl", @@ -2002,7 +1423,8 @@ "Blog", 17 ] - ] + ], + "id" : "079" }, { "name" : "080", @@ -2023,6 +1445,7 @@ "id" : "080" }, { + "name" : "081", "data" : [ [ "Perl", @@ -2037,11 +1460,11 @@ 15 ] ], - "id" : "081", - "name" : "081" + "id" : "081" }, { "id" : "082", + "name" : "082", "data" : [ [ "Perl", @@ -2055,12 +1478,9 @@ "Blog", 17 ] - ], - "name" : "082" + ] }, { - "name" : "083", - "id" : "083", "data" : [ [ "Perl", @@ -2074,9 +1494,12 @@ "Blog", 16 ] - ] + ], + "name" : "083", + "id" : "083" }, { + "id" : "084", "name" : "084", "data" : [ [ @@ -2091,10 +1514,10 @@ "Blog", 12 ] - ], - "id" : "084" + ] }, { + "id" : "085", "data" : [ [ "Perl", @@ -2109,7 +1532,6 @@ 18 ] ], - "id" : "085", "name" : "085" }, { @@ -2127,11 +1549,10 @@ 15 ] ], - "id" : "086", - "name" : "086" + "name" : "086", + "id" : "086" }, { - "name" : "087", "id" : "087", "data" : [ [ @@ -2146,9 +1567,11 @@ "Blog", 14 ] - ] + ], + "name" : "087" }, { + "id" : "088", "data" : [ [ "Perl", @@ -2163,11 +1586,11 @@ 20 ] ], - "id" : "088", "name" : "088" }, { "id" : "089", + "name" : "089", "data" : [ [ "Perl", @@ -2181,10 +1604,10 @@ "Blog", 20 ] - ], - "name" : "089" + ] }, { + "id" : "090", "data" : [ [ "Perl", @@ -2199,7 +1622,6 @@ 17 ] ], - "id" : "090", "name" : "090" }, { @@ -2221,6 +1643,8 @@ "id" : "091" }, { + "id" : "092", + "name" : "092", "data" : [ [ "Perl", @@ -2234,11 +1658,10 @@ "Blog", 16 ] - ], - "id" : "092", - "name" : "092" + ] }, { + "id" : "093", "data" : [ [ "Perl", @@ -2253,7 +1676,6 @@ 16 ] ], - "id" : "093", "name" : "093" }, { @@ -2271,8 +1693,8 @@ 17 ] ], - "id" : "094", - "name" : "094" + "name" : "094", + "id" : "094" }, {