diff options
| -rw-r--r-- | challenge-062/richard-park/apl/SortEmailAddresses.aplf | 14 | ||||
| -rw-r--r-- | challenge-062/richard-park/apl/SortEmailAddressesOLD.aplf | 15 | ||||
| -rw-r--r-- | challenge-062/richard-park/apl/addresses.apla | 1 | ||||
| -rw-r--r-- | challenge-062/richard-park/apl/ch-1.aplf | 14 | ||||
| -rw-r--r-- | challenge-062/richard-park/blog.txt | 1 | ||||
| -rw-r--r-- | stats/pwc-current.json | 293 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 54 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 452 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 354 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 116 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 90 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 42 |
16 files changed, 865 insertions, 805 deletions
diff --git a/challenge-062/richard-park/apl/SortEmailAddresses.aplf b/challenge-062/richard-park/apl/SortEmailAddresses.aplf new file mode 100644 index 0000000000..349ee5c2de --- /dev/null +++ b/challenge-062/richard-park/apl/SortEmailAddresses.aplf @@ -0,0 +1,14 @@ + SortEmailAddresses←{ +⍝ Sort email addresses ⍵ first by domain, then by mailbox +⍝ ⍺: Optional unique flag + ⍺←0 ⍝: Default, return all addresses +⍝ ⍺←1 : Return unique email addresses (case-folded domains) +⍝ ⍵: Character vector with embedded new line characters + admat←↑(⎕UCS 10 13)((~∊⍨)⊆⊢)⍵ ⍝ Split by new line + dnorm←⎕C 2⊃↓⍉'@'(≠⊆⊢)⍤1↑admat ⍝ Normalise domains + dgroup←dnorm(⊂admat⍳⊢)⌸admat ⍝ Indices grouped by domain + dsort←admat∘{⍵[⍋⍺⌷⍤0 99⍨⍵]}¨dgroup ⍝ Indices sorted within each domain + sea←admat⌷⍨⊂∊dsort[⍋∪dnorm] ⍝ Sorted Email Addresses + ⍺:sea⌿⍨≠⎕C@(∨\'@'∘=)sea ⍝ Unique only + sea + } diff --git a/challenge-062/richard-park/apl/SortEmailAddressesOLD.aplf b/challenge-062/richard-park/apl/SortEmailAddressesOLD.aplf new file mode 100644 index 0000000000..66ed0bc6fd --- /dev/null +++ b/challenge-062/richard-park/apl/SortEmailAddressesOLD.aplf @@ -0,0 +1,15 @@ + SortEmailAddressesOLD←{ +⍝ Sort email addresses ⍵ first by domain, then by mailbox +⍝ ⍺: Optional unique flag + ⍺←0 ⍝: Default, return all addresses +⍝ ⍺←1 : Return unique email addresses (case-folded domains) +⍝ ⍵: Character vector with embedded new line characters + admat←↑(⎕UCS 10 13)((~∊⍨)⊆⊢)⍵ ⍝ Split by new line + dnorm←⎕C 2⊃↓⍉'@'(≠⊆⊢)⍤1⊢admat ⍝ Normalise domains + dgroup←dnorm(⊂⊢)⌸admat ⍝ Group addresses by domain + dsort←⊃⍪⌿{(⊂⍋⍵)⌷⍵}¨dgroup ⍝ Sorted within domain + dnorm←⎕C 2⊃↓⍉'@'(≠⊆⊢)⍤1↑dsort ⍝ Normalise sorted domains + sea←(⊂⍋dnorm)⌷dsort ⍝ Sorted Email Addresses + ⍺:sea⌿⍨≠⎕C@(∨\'@'∘=)sea ⍝ Unique only + sea + } diff --git a/challenge-062/richard-park/apl/addresses.apla b/challenge-062/richard-park/apl/addresses.apla new file mode 100644 index 0000000000..4b0908d51a --- /dev/null +++ b/challenge-062/richard-park/apl/addresses.apla @@ -0,0 +1 @@ +('name@example.org ',(⎕UCS 13),'rjt@cpan.org ',(⎕UCS 13),'Name@example.org ',(⎕UCS 13),'rjt@CPAN.org ',(⎕UCS 13),'user@alpha.example.org') diff --git a/challenge-062/richard-park/apl/ch-1.aplf b/challenge-062/richard-park/apl/ch-1.aplf new file mode 100644 index 0000000000..349ee5c2de --- /dev/null +++ b/challenge-062/richard-park/apl/ch-1.aplf @@ -0,0 +1,14 @@ + SortEmailAddresses←{ +⍝ Sort email addresses ⍵ first by domain, then by mailbox +⍝ ⍺: Optional unique flag + ⍺←0 ⍝: Default, return all addresses +⍝ ⍺←1 : Return unique email addresses (case-folded domains) +⍝ ⍵: Character vector with embedded new line characters + admat←↑(⎕UCS 10 13)((~∊⍨)⊆⊢)⍵ ⍝ Split by new line + dnorm←⎕C 2⊃↓⍉'@'(≠⊆⊢)⍤1↑admat ⍝ Normalise domains + dgroup←dnorm(⊂admat⍳⊢)⌸admat ⍝ Indices grouped by domain + dsort←admat∘{⍵[⍋⍺⌷⍤0 99⍨⍵]}¨dgroup ⍝ Indices sorted within each domain + sea←admat⌷⍨⊂∊dsort[⍋∪dnorm] ⍝ Sorted Email Addresses + ⍺:sea⌿⍨≠⎕C@(∨\'@'∘=)sea ⍝ Unique only + sea + } diff --git a/challenge-062/richard-park/blog.txt b/challenge-062/richard-park/blog.txt new file mode 100644 index 0000000000..ea8e6e349f --- /dev/null +++ b/challenge-062/richard-park/blog.txt @@ -0,0 +1 @@ +https://www.youtube.com/watch?v=MorON5-bjIo diff --git a/stats/pwc-current.json b/stats/pwc-current.json index ef3dd6950b..19d2ce73ea 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,26 +1,131 @@ { + "series" : [ + { + "data" : [ + { + "y" : 2, + "drilldown" : "Athanasius", + "name" : "Athanasius" + }, + { + "y" : 5, + "name" : "Javier Luque", + "drilldown" : "Javier Luque" + }, + { + "drilldown" : "Leo Manfredi", + "name" : "Leo Manfredi", + "y" : 1 + }, + { + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari", + "y" : 2 + }, + { + "y" : 1, + "name" : "Markus Holzer", + "drilldown" : "Markus Holzer" + }, + { + "name" : "Mohammad S Anwar", + "drilldown" : "Mohammad S Anwar", + "y" : 3 + }, + { + "y" : 3, + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke" + }, + { + "drilldown" : "Pete Houston", + "name" : "Pete Houston", + "y" : 1 + }, + { + "y" : 1, + "name" : "Richard Park", + "drilldown" : "Richard Park" + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 4 + }, + { + "name" : "Sangeet Kar", + "drilldown" : "Sangeet Kar", + "y" : 4 + }, + { + "drilldown" : "Shahed Nooshmand", + "name" : "Shahed Nooshmand", + "y" : 3 + }, + { + "y" : 1, + "drilldown" : "Simon Miner", + "name" : "Simon Miner" + }, + { + "y" : 1, + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor" + }, + { + "y" : 1, + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc" + }, + { + "y" : 1, + "name" : "Yet Ebreo", + "drilldown" : "Yet Ebreo" + } + ], + "name" : "Perl Weekly Challenge - 062", + "colorByPoint" : 1 + } + ], + "title" : { + "text" : "Perl Weekly Challenge - 062" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "xAxis" : { + "type" : "category" + }, + "subtitle" : { + "text" : "[Champions: 16] Last updated at 2020-05-31 21:00:40 GMT" + }, + "chart" : { + "type" : "column" + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "subtitle" : { - "text" : "[Champions: 15] Last updated at 2020-05-31 20:42:33 GMT" + "legend" : { + "enabled" : 0 }, "tooltip" : { - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", "followPointer" : 1, + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { + "id" : "Athanasius", + "name" : "Athanasius", "data" : [ [ "Perl", @@ -30,11 +135,11 @@ "Raku", 1 ] - ], - "name" : "Athanasius", - "id" : "Athanasius" + ] }, { + "id" : "Javier Luque", + "name" : "Javier Luque", "data" : [ [ "Perl", @@ -48,42 +153,39 @@ "Blog", 1 ] - ], - "name" : "Javier Luque", - "id" : "Javier Luque" + ] }, { - "name" : "Leo Manfredi", - "id" : "Leo Manfredi", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Leo Manfredi", + "id" : "Leo Manfredi" }, { + "id" : "Luca Ferrari", "data" : [ [ "Raku", 2 ] ], - "id" : "Luca Ferrari", "name" : "Luca Ferrari" }, { - "id" : "Markus Holzer", - "name" : "Markus Holzer", "data" : [ [ "Raku", 1 ] - ] + ], + "name" : "Markus Holzer", + "id" : "Markus Holzer" }, { - "name" : "Mohammad S Anwar", "id" : "Mohammad S Anwar", "data" : [ [ @@ -98,9 +200,12 @@ "Blog", 1 ] - ] + ], + "name" : "Mohammad S Anwar" }, { + "id" : "Niels van Dijke", + "name" : "Niels van Dijke", "data" : [ [ "Perl", @@ -110,23 +215,30 @@ "Blog", 1 ] - ], - "id" : "Niels van Dijke", - "name" : "Niels van Dijke" + ] }, { - "id" : "Pete Houston", "name" : "Pete Houston", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Pete Houston" + }, + { + "id" : "Richard Park", + "data" : [ + [ + "Blog", + 1 + ] + ], + "name" : "Richard Park" }, { "id" : "Roger Bell_West", - "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -140,9 +252,11 @@ "Blog", 1 ] - ] + ], + "name" : "Roger Bell_West" }, { + "id" : "Sangeet Kar", "data" : [ [ "Perl", @@ -153,8 +267,7 @@ 2 ] ], - "name" : "Sangeet Kar", - "id" : "Sangeet Kar" + "name" : "Sangeet Kar" }, { "id" : "Shahed Nooshmand", @@ -182,132 +295,34 @@ }, { "name" : "Simon Proctor", - "id" : "Simon Proctor", "data" : [ [ "Raku", 1 ] - ] + ], + "id" : "Simon Proctor" }, { - "name" : "Wanderdoc", - "id" : "Wanderdoc", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Wanderdoc", + "id" : "Wanderdoc" }, { + "name" : "Yet Ebreo", "data" : [ [ "Perl", 1 ] ], - "id" : "Yet Ebreo", - "name" : "Yet Ebreo" + "id" : "Yet Ebreo" } ] - }, - "legend" : { - "enabled" : 0 - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "title" : { - "text" : "Perl Weekly Challenge - 062" - }, - "series" : [ - { - "data" : [ - { - "y" : 2, - "drilldown" : "Athanasius", - "name" : "Athanasius" - }, - { - "name" : "Javier Luque", - "drilldown" : "Javier Luque", - "y" : 5 - }, - { - "y" : 1, - "drilldown" : "Leo Manfredi", - "name" : "Leo Manfredi" - }, - { - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari", - "y" : 2 - }, - { - "name" : "Markus Holzer", - "drilldown" : "Markus Holzer", - "y" : 1 - }, - { - "drilldown" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar", - "y" : 3 - }, - { - "y" : 3, - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke" - }, - { - "name" : "Pete Houston", - "drilldown" : "Pete Houston", - "y" : 1 - }, - { - "y" : 4, - "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West" - }, - { - "y" : 4, - "drilldown" : "Sangeet Kar", - "name" : "Sangeet Kar" - }, - { - "y" : 3, - "name" : "Shahed Nooshmand", - "drilldown" : "Shahed Nooshmand" - }, - { - "y" : 1, - "drilldown" : "Simon Miner", - "name" : "Simon Miner" - }, - { - "y" : 1, - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor" - }, - { - "name" : "Wanderdoc", - "drilldown" : "Wanderdoc", - "y" : 1 - }, - { - "name" : "Yet Ebreo", - "drilldown" : "Yet Ebreo", - "y" : 1 - } - ], - "name" : "Perl Weekly Challenge - 062", - "colorByPoint" : 1 - } - ] + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index cabcc99bff..90a12ddee8 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,50 +1,40 @@ { "subtitle" : { - "text" : "Last updated at 2020-05-31 20:42:33 GMT" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" + "text" : "Last updated at 2020-05-31 21:00:40 GMT" }, "chart" : { "type" : "column" }, "xAxis" : { + "type" : "category", "labels" : { "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" } - }, - "type" : "category" + } }, - "legend" : { - "enabled" : "false" + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, "series" : [ { "dataLabels" : { "format" : "{point.y:.0f}", + "rotation" : -90, "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" }, - "align" : "right", - "rotation" : -90, - "enabled" : "true", "y" : 10, - "color" : "#FFFFFF" + "color" : "#FFFFFF", + "align" : "right", + "enabled" : "true" }, - "name" : "Contributions", "data" : [ [ "Blog", - 710 + 711 ], [ "Perl", @@ -54,10 +44,20 @@ "Raku", 1637 ] - ] + ], + "name" : "Contributions" } ], - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "legend" : { + "enabled" : "false" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 74720d70fd..b928191ccf 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,28 +1,16 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-05-31 20:42:33 GMT" + "legend" : { + "enabled" : "false" }, "tooltip" : { - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", "headerFormat" : "<span style=\"font-size:11px\"></span>", + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", "followPointer" : "true" }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { "name" : "001", - "id" : "001", "data" : [ [ "Perl", @@ -36,11 +24,11 @@ "Blog", 11 ] - ] + ], + "id" : "001" }, { "name" : "002", - "id" : "002", "data" : [ [ "Perl", @@ -54,11 +42,11 @@ "Blog", 10 ] - ] + ], + "id" : "002" }, { "id" : "003", - "name" : "003", "data" : [ [ "Perl", @@ -72,9 +60,11 @@ "Blog", 9 ] - ] + ], + "name" : "003" }, { + "id" : "004", "data" : [ [ "Perl", @@ -89,10 +79,11 @@ 10 ] ], - "name" : "004", - "id" : "004" + "name" : "004" }, { + "id" : "005", + "name" : "005", "data" : [ [ "Perl", @@ -106,13 +97,10 @@ "Blog", 12 ] - ], - "name" : "005", - "id" : "005" + ] }, { "id" : "006", - "name" : "006", "data" : [ [ "Perl", @@ -126,11 +114,11 @@ "Blog", 7 ] - ] + ], + "name" : "006" }, { "name" : "007", - "id" : "007", "data" : [ [ "Perl", @@ -144,9 +132,11 @@ "Blog", 10 ] - ] + ], + "id" : "007" }, { + "id" : "008", "data" : [ [ "Perl", @@ -161,10 +151,10 @@ 12 ] ], - "id" : "008", "name" : "008" }, { + "name" : "009", "data" : [ [ "Perl", @@ -179,10 +169,10 @@ 13 ] ], - "name" : "009", "id" : "009" }, { + "name" : "010", "data" : [ [ "Perl", @@ -197,12 +187,11 @@ 11 ] ], - "name" : "010", "id" : "010" }, { - "name" : "011", "id" : "011", + "name" : "011", "data" : [ [ "Perl", @@ -219,7 +208,6 @@ ] }, { - "id" : "012", "name" : "012", "data" : [ [ @@ -234,9 +222,12 @@ "Blog", 11 ] - ] + ], + "id" : "012" }, { + "id" : "013", + "name" : "013", "data" : [ [ "Perl", @@ -250,9 +241,7 @@ "Blog", 13 ] - ], - "id" : "013", - "name" : "013" + ] }, { "data" : [ @@ -273,6 +262,8 @@ "id" : "014" }, { + "id" : "015", + "name" : "015", "data" : [ [ "Perl", @@ -286,13 +277,10 @@ "Blog", 15 ] - ], - "name" : "015", - "id" : "015" + ] }, { "id" : "016", - "name" : "016", "data" : [ [ "Perl", @@ -306,7 +294,8 @@ "Blog", 12 ] - ] + ], + "name" : "016" }, { "data" : [ @@ -323,11 +312,10 @@ 12 ] ], - "id" : "017", - "name" : "017" + "name" : "017", + "id" : "017" }, { - "name" : "018", "id" : "018", "data" : [ [ @@ -342,7 +330,8 @@ "Blog", 14 ] - ] + ], + "name" : "018" }, { "data" : [ @@ -359,10 +348,11 @@ 13 ] ], - "id" : "019", - "name" : "019" + "name" : "019", + "id" : "019" }, { + "name" : "020", "data" : [ [ "Perl", @@ -377,10 +367,10 @@ 13 ] ], - "name" : "020", "id" : "020" }, { + "id" : "021", "data" : [ [ "Perl", @@ -395,11 +385,9 @@ 10 ] ], - "id" : "021", "name" : "021" }, { - "id" : "022", "name" : "022", "data" : [ [ @@ -414,7 +402,8 @@ "Blog", 10 ] - ] + ], + "id" : "022" }, { "id" : "023", @@ -467,8 +456,8 @@ 12 ] ], - "id" : "025", - "name" : "025" + "name" : "025", + "id" : "025" }, { "data" : [ @@ -489,6 +478,7 @@ "id" : "026" }, { + "id" : "027", "data" : [ [ "Perl", @@ -503,11 +493,9 @@ 9 ] ], - "name" : "027", - "id" : "027" + "name" : "027" }, { - "name" : "028", "id" : "028", "data" : [ [ @@ -522,7 +510,8 @@ "Blog", 9 ] - ] + ], + "name" : "028" }, { "data" : [ @@ -539,12 +528,11 @@ 12 ] ], - "id" : "029", - "name" : "029" + "name" : "029", + "id" : "029" }, { "name" : "030", - "id" : "030", "data" : [ [ "Perl", @@ -558,9 +546,11 @@ "Blog", 10 ] - ] + ], + "id" : "030" }, { + "name" : "031", "data" : [ [ "Perl", @@ -575,12 +565,11 @@ 9 ] ], - "id" : "031", - "name" : "031" + "id" : "031" }, { - "name" : "032", "id" : "032", + "name" : "032", "data" : [ [ "Perl", @@ -597,7 +586,6 @@ ] }, { - "name" : "033", "id" : "033", "data" : [ [ @@ -612,9 +600,11 @@ "Blog", 10 ] - ] + ], + "name" : "033" }, { + "id" : "034", "data" : [ [ "Perl", @@ -629,10 +619,10 @@ 11 ] ], - "name" : "034", - "id" : "034" + "name" : "034" }, { + "name" : "035", "data" : [ [ "Perl", @@ -647,8 +637,7 @@ 9 ] ], - "id" : "035", - "name" : "035" + "id" : "035" }, { "data" : [ @@ -665,10 +654,11 @@ 11 ] ], - "id" : "036", - "name" : "036" + "name" : "036", + "id" : "036" }, { + "name" : "037", "data" : [ [ "Perl", @@ -683,12 +673,11 @@ 9 ] ], - "id" : "037", - "name" : "037" + "id" : "037" }, { - "name" : "038", "id" : "038", + "name" : "038", "data" : [ [ "Perl", @@ -705,6 +694,7 @@ ] }, { + "name" : "039", "data" : [ [ "Perl", @@ -719,10 +709,11 @@ 12 ] ], - "name" : "039", "id" : "039" }, { + "id" : "040", + "name" : "040", "data" : [ [ "Perl", @@ -736,9 +727,7 @@ "Blog", 10 ] - ], - "name" : "040", - "id" : "040" + ] }, { "data" : [ @@ -755,12 +744,10 @@ 9 ] ], - "id" : "041", - "name" : "041" + "name" : "041", + "id" : "041" }, { - "id" : "042", - "name" : "042", "data" : [ [ |
