aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-03-01 14:59:52 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-03-01 14:59:52 +0000
commit51702399eab1579a0cc3a6a0864d61aafa165cc3 (patch)
tree255d788e2c6f64a6d8efbb03d4f62789e3909663
parent3c48d2bfc392f8908ffd4370dde86278d0327484 (diff)
downloadperlweeklychallenge-club-51702399eab1579a0cc3a6a0864d61aafa165cc3.tar.gz
perlweeklychallenge-club-51702399eab1579a0cc3a6a0864d61aafa165cc3.tar.bz2
perlweeklychallenge-club-51702399eab1579a0cc3a6a0864d61aafa165cc3.zip
- Added solutions by Arne Sommer.
-rw-r--r--challenge-049/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-049/arne-sommer/raku/ch-1.p615
-rwxr-xr-xchallenge-049/arne-sommer/raku/ch-2.p633
-rw-r--r--challenge-049/arne-sommer/raku/lib/Cache/LRU.rakumod117
-rwxr-xr-xchallenge-049/arne-sommer/raku/lru-cache33
-rwxr-xr-xchallenge-049/arne-sommer/raku/smallmull15
-rwxr-xr-xchallenge-049/arne-sommer/raku/smallmull-add18
-rwxr-xr-xchallenge-049/arne-sommer/raku/smallmull-add-smart37
-rwxr-xr-xchallenge-049/arne-sommer/raku/smallmull-upto24
-rw-r--r--stats/pwc-current.json219
-rw-r--r--stats/pwc-language-breakdown-summary.json76
-rw-r--r--stats/pwc-language-breakdown.json364
-rw-r--r--stats/pwc-leaders.json736
-rw-r--r--stats/pwc-summary-1-30.json106
-rw-r--r--stats/pwc-summary-121-150.json110
-rw-r--r--stats/pwc-summary-151-180.json54
-rw-r--r--stats/pwc-summary-31-60.json106
-rw-r--r--stats/pwc-summary-61-90.json108
-rw-r--r--stats/pwc-summary-91-120.json108
-rw-r--r--stats/pwc-summary.json368
20 files changed, 1480 insertions, 1168 deletions
diff --git a/challenge-049/arne-sommer/blog.txt b/challenge-049/arne-sommer/blog.txt
new file mode 100644
index 0000000000..db1f348f6d
--- /dev/null
+++ b/challenge-049/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/smallest-cache.html
diff --git a/challenge-049/arne-sommer/raku/ch-1.p6 b/challenge-049/arne-sommer/raku/ch-1.p6
new file mode 100755
index 0000000000..40b8310c7c
--- /dev/null
+++ b/challenge-049/arne-sommer/raku/ch-1.p6
@@ -0,0 +1,15 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $number, :$verbose);
+
+for 1 .. Inf -> $binary
+{
+ my $current = $binary.base(2);
+ say ": Checking $current" if $verbose;
+
+ if ($current > $number && $current %% $number)
+ {
+ say "Match: $current";
+ exit;
+ }
+} \ No newline at end of file
diff --git a/challenge-049/arne-sommer/raku/ch-2.p6 b/challenge-049/arne-sommer/raku/ch-2.p6
new file mode 100755
index 0000000000..2eea93f67f
--- /dev/null
+++ b/challenge-049/arne-sommer/raku/ch-2.p6
@@ -0,0 +1,33 @@
+#! /usr/bin/env raku
+
+use lib 'lib';
+use Cache::LRU;
+
+unit sub MAIN (Int $limit = 3, :$verbose);
+
+say ": Cache size: $limit" if $verbose;
+
+my $lru = Cache::LRU.new(:$limit, :$verbose);
+
+loop
+{
+ given prompt "Command (h for help): "
+ {
+ when /^c[apacity]?$/ { say $lru.get-limit; }
+ when /^c[apacity]? \s+ [\= \s+]? (\d+) $/ { $lru.set-limit($0.Int); }
+ when /^s[et]?\((\d+) \, \s* (\d+) \) $/ { $lru.set($0.Int, $1.Int); }
+ when /^s[et]? \s+ (\d+) \, \s* (\d+) $/ { $lru.set($0.Int, $1.Int); }
+ when /^g[et]?\((\d+) \)$/ { say $lru.get($0.Int); }
+ when /^g[et]? \s+ (\d+)$/ { say $lru.get($0.Int); }
+ when 'd'|'dump' { $lru.dump if $lru.head; }
+ when 'data' { $lru.dump2 if $lru.head; }
+ when 'h'|'help' { help; }
+ when 'quit'|'q' { exit; }
+ default { say "- Illegal command. Use 'h' for help"; }
+ }
+}
+
+sub help
+{
+ ;
+} \ No newline at end of file
diff --git a/challenge-049/arne-sommer/raku/lib/Cache/LRU.rakumod b/challenge-049/arne-sommer/raku/lib/Cache/LRU.rakumod
new file mode 100644
index 0000000000..a241a73e10
--- /dev/null
+++ b/challenge-049/arne-sommer/raku/lib/Cache/LRU.rakumod
@@ -0,0 +1,117 @@
+class Cache::LRU
+{
+ has $.limit is rw = 3;
+ has $.verbose = False;
+ has %.lookup is rw = ();
+ has $.head is rw = Any; # Highest
+ has $.tail is rw = Any; # Lowest
+
+ class LRU-elem
+ {
+ has $.id;
+ has $.payload;
+ has $.higher is rw;
+ has $.lower is rw;
+ }
+
+ method get-limit
+ {
+ return self.limit;
+ }
+
+ method set-limit (Int $new-limit)
+ {
+ return if $new-limit < 1;
+ return if $new-limit == self.limit;
+
+ self.limit = $new-limit;
+
+ self.shrink while self.lookup.keys.elems > self.limit;
+
+ say ": New Cache Capacity: { self.limit }" if self.verbose;
+ }
+
+ method shrink # remove the last item
+ {
+ self.lookup{self.tail.id} :delete;
+ self.tail = self.tail.higher;
+ self.tail.lower = Any;
+ }
+
+ method !extract ($elem)
+ {
+ $elem.higher
+ ?? ( $elem.higher.lower = $elem.lower )
+ !! ( self.head = $elem.lower );
+
+ $elem.lower
+ ?? ( $elem.lower.higher = $elem.higher )
+ !! ( self.tail = $elem.higher );
+
+ $elem.higher = $elem.lower = Any;
+ return $elem;
+ }
+
+ method delete ($elem)
+ {
+ self.lookup{$elem.id}:delete;
+ return self!extract($elem);
+ }
+
+ method get (Int $id)
+ {
+ say ": get $id " if self.verbose;
+
+ my $current = self.lookup{$id};
+
+ return -1 unless $current;
+
+ return $current.payload if $current === self.head;
+
+ self!extract($current);
+
+ self.head.higher = $current;
+ $current.lower = self.head;
+ self.head = $current;
+
+ return $current.payload;
+ }
+
+ method set (Int $id, $value)
+ {
+ say ": set $id @ $value" if self.verbose;
+
+ my $old-head = self.head;
+
+ self.head = LRU-elem.new(id => $id, payload => $value);
+
+ self.head.lower = $old-head;
+ $old-head.higher = self.head if $old-head;
+
+ if self.lookup{$id}
+ {
+ self!extract(self.lookup{$id});
+ }
+ else # new
+ {
+ self.tail = self.head unless self.tail;
+ self.shrink if self.lookup.keys == self.limit;
+ }
+ self.lookup{$id} = self.head;
+ }
+
+ method dump ($elem = self.head)
+ {
+ print $elem.id ~ " -> " ~ $elem.payload;
+ print " (head)" if $elem === self.head;
+ print " (tail)" if $elem === self.tail;
+ say "";
+
+ self.dump($elem.lower) if $elem.lower;
+ }
+
+ method dump2 ($elem = self.head)
+ {
+ say $elem;
+ }
+}
diff --git a/challenge-049/arne-sommer/raku/lru-cache b/challenge-049/arne-sommer/raku/lru-cache
new file mode 100755
index 0000000000..2eea93f67f
--- /dev/null
+++ b/challenge-049/arne-sommer/raku/lru-cache
@@ -0,0 +1,33 @@
+#! /usr/bin/env raku
+
+use lib 'lib';
+use Cache::LRU;
+
+unit sub MAIN (Int $limit = 3, :$verbose);
+
+say ": Cache size: $limit" if $verbose;
+
+my $lru = Cache::LRU.new(:$limit, :$verbose);
+
+loop
+{
+ given prompt "Command (h for help): "
+ {
+ when /^c[apacity]?$/ { say $lru.get-limit; }
+ when /^c[apacity]? \s+ [\= \s+]? (\d+) $/ { $lru.set-limit($0.Int); }
+ when /^s[et]?\((\d+) \, \s* (\d+) \) $/ { $lru.set($0.Int, $1.Int); }
+ when /^s[et]? \s+ (\d+) \, \s* (\d+) $/ { $lru.set($0.Int, $1.Int); }
+ when /^g[et]?\((\d+) \)$/ { say $lru.get($0.Int); }
+ when /^g[et]? \s+ (\d+)$/ { say $lru.get($0.Int); }
+ when 'd'|'dump' { $lru.dump if $lru.head; }
+ when 'data' { $lru.dump2 if $lru.head; }
+ when 'h'|'help' { help; }
+ when 'quit'|'q' { exit; }
+ default { say "- Illegal command. Use 'h' for help"; }
+ }
+}
+
+sub help
+{
+ ;
+} \ No newline at end of file
diff --git a/challenge-049/arne-sommer/raku/smallmull b/challenge-049/arne-sommer/raku/smallmull
new file mode 100755
index 0000000000..40b8310c7c
--- /dev/null
+++ b/challenge-049/arne-sommer/raku/smallmull
@@ -0,0 +1,15 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $number, :$verbose);
+
+for 1 .. Inf -> $binary
+{
+ my $current = $binary.base(2);
+ say ": Checking $current" if $verbose;
+
+ if ($current > $number && $current %% $number)
+ {
+ say "Match: $current";
+ exit;
+ }
+} \ No newline at end of file
diff --git a/challenge-049/arne-sommer/raku/smallmull-add b/challenge-049/arne-sommer/raku/smallmull-add
new file mode 100755
index 0000000000..07937f26d9
--- /dev/null
+++ b/challenge-049/arne-sommer/raku/smallmull-add
@@ -0,0 +1,18 @@
+#! /usr/bin/env raku
+
+subset binary of Int where { /^<[ 0 1 ]>+$/ };
+
+unit sub MAIN (Int $number, :$verbose);
+
+my $current = $number;
+
+loop
+{
+ $current += $number;
+ say ": Checking $current" if $verbose;
+ if $current ~~ binary
+ {
+ say "Match: $current";
+ exit;
+ }
+}
diff --git a/challenge-049/arne-sommer/raku/smallmull-add-smart b/challenge-049/arne-sommer/raku/smallmull-add-smart
new file mode 100755
index 0000000000..956ac9cbd6
--- /dev/null
+++ b/challenge-049/arne-sommer/raku/smallmull-add-smart
@@ -0,0 +1,37 @@
+#! /usr/bin/env raku
+
+subset binary of Int where { /^<[ 0 1 ]>+$/ };
+
+unit sub MAIN (Int $number, :$verbose);
+
+my $current = $number;
+
+loop
+{
+ $current += $number;
+ say ": Checking $current" if $verbose;
+ if $current ~~ binary
+ {
+ say "Match: $current";
+ exit;
+ }
+
+ next if $current.chars < 2;
+
+ my @digits = $current.comb.reverse;
+
+ for 0 .. @digits.end -> $index
+ {
+ # say "*** $index ***";
+ if @digits[$index] > 1
+ {
+ @digits[$index +1]++;
+ @digits[0 .. $index] = (0 xx $index +1);
+
+ # say "::: { @digits }" if $verbose;
+ }
+ }
+
+ my $new = @digits.reverse.join;
+ $current = $new - ( $new % $number );
+}
diff --git a/challenge-049/arne-sommer/raku/smallmull-upto b/challenge-049/arne-sommer/raku/smallmull-upto
new file mode 100755
index 0000000000..359a2d102d
--- /dev/null
+++ b/challenge-049/arne-sommer/raku/smallmull-upto
@@ -0,0 +1,24 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $number, :$verbose, :$upto);
+
+$upto
+ ?? ( show($_) for 2 .. $number )
+ !! show($number);
+
+sub show ($number)
+{
+ for 1 .. Inf -> $binary
+ {
+ my $current = $binary.base(2);
+ say ": Checking $current" if $verbose;
+
+ if ($current > $number && $current %% $number)
+ {
+ say $upto
+ ?? "$number Match: $current"
+ !! "Match: $current";
+ last;
+ }
+ }
+} \ No newline at end of file
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 0f67411956..eb86b91e26 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,42 +1,56 @@
{
- "xAxis" : {
- "type" : "category"
+ "tooltip" : {
+ "followPointer" : 1,
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ },
+ "legend" : {
+ "enabled" : 0
},
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
- "chart" : {
- "type" : "column"
+ "xAxis" : {
+ "type" : "category"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 049"
},
"series" : [
{
+ "name" : "Perl Weekly Challenge - 049",
"data" : [
{
- "drilldown" : "Cheok-Yin Fung",
+ "drilldown" : "Arne Sommer",
+ "name" : "Arne Sommer",
+ "y" : 3
+ },
+ {
+ "y" : 2,
"name" : "Cheok-Yin Fung",
- "y" : 2
+ "drilldown" : "Cheok-Yin Fung"
},
{
+ "drilldown" : "Dave Jacoby",
"y" : 2,
- "name" : "Dave Jacoby",
- "drilldown" : "Dave Jacoby"
+ "name" : "Dave Jacoby"
},
{
- "drilldown" : "Duane Powell",
+ "name" : "Duane Powell",
"y" : 2,
- "name" : "Duane Powell"
+ "drilldown" : "Duane Powell"
},
{
+ "drilldown" : "E. Choroba",
"name" : "E. Choroba",
- "y" : 3,
- "drilldown" : "E. Choroba"
+ "y" : 3
},
{
- "y" : 5,
+ "drilldown" : "Javier Luque",
"name" : "Javier Luque",
- "drilldown" : "Javier Luque"
+ "y" : 5
},
{
"name" : "Jen Guerra",
@@ -44,14 +58,14 @@
"drilldown" : "Jen Guerra"
},
{
- "name" : "Jonas Berlin",
"y" : 1,
+ "name" : "Jonas Berlin",
"drilldown" : "Jonas Berlin"
},
{
- "drilldown" : "Kevin Colyer",
+ "y" : 2,
"name" : "Kevin Colyer",
- "y" : 2
+ "drilldown" : "Kevin Colyer"
},
{
"y" : 5,
@@ -59,24 +73,24 @@
"drilldown" : "Laurent Rosenfeld"
},
{
- "drilldown" : "Lubos Kolouch",
"y" : 2,
- "name" : "Lubos Kolouch"
+ "name" : "Lubos Kolouch",
+ "drilldown" : "Lubos Kolouch"
},
{
- "name" : "Luca Ferrari",
+ "drilldown" : "Luca Ferrari",
"y" : 4,
- "drilldown" : "Luca Ferrari"
+ "name" : "Luca Ferrari"
},
{
+ "drilldown" : "Mark Anderson",
"name" : "Mark Anderson",
- "y" : 2,
- "drilldown" : "Mark Anderson"
+ "y" : 2
},
{
"drilldown" : "Markus Holzer",
- "y" : 1,
- "name" : "Markus Holzer"
+ "name" : "Markus Holzer",
+ "y" : 1
},
{
"name" : "Mohammad S Anwar",
@@ -84,24 +98,24 @@
"drilldown" : "Mohammad S Anwar"
},
{
- "drilldown" : "Peter Scott",
+ "name" : "Peter Scott",
"y" : 1,
- "name" : "Peter Scott"
+ "drilldown" : "Peter Scott"
},
{
- "name" : "Roger Bell West",
"y" : 4,
+ "name" : "Roger Bell West",
"drilldown" : "Roger Bell West"
},
{
- "drilldown" : "Ruben Westerberg",
+ "y" : 4,
"name" : "Ruben Westerberg",
- "y" : 4
+ "drilldown" : "Ruben Westerberg"
},
{
- "name" : "Saif Ahmed",
+ "drilldown" : "Saif Ahmed",
"y" : 2,
- "drilldown" : "Saif Ahmed"
+ "name" : "Saif Ahmed"
},
{
"y" : 3,
@@ -110,8 +124,8 @@
},
{
"drilldown" : "Steven Wilson",
- "name" : "Steven Wilson",
- "y" : 1
+ "y" : 1,
+ "name" : "Steven Wilson"
},
{
"drilldown" : "User Person",
@@ -119,61 +133,83 @@
"name" : "User Person"
},
{
+ "drilldown" : "Wanderdoc",
"name" : "Wanderdoc",
- "y" : 2,
- "drilldown" : "Wanderdoc"
+ "y" : 2
},
{
- "drilldown" : "Yet Ebreo",
+ "y" : 2,
"name" : "Yet Ebreo",
- "y" : 2
+ "drilldown" : "Yet Ebreo"
}
],
- "name" : "Perl Weekly Challenge - 049",
"colorByPoint" : 1
}
],
- "title" : {
- "text" : "Perl Weekly Challenge - 049"
+ "subtitle" : {
+ "text" : "[Champions: 24] Last updated at 2020-03-01 14:59:40 GMT"
},
- "tooltip" : {
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "followPointer" : 1,
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ "chart" : {
+ "type" : "column"
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
},
"drilldown" : {
"series" : [
{
+ "name" : "Arne Sommer",
"data" : [
[
- "Perl",
+ "Raku",
2
+ ],
+ [
+ "Blog",
+ 1
]
],
+ "id" : "Arne Sommer"
+ },
+ {
+ "id" : "Cheok-Yin Fung",
"name" : "Cheok-Yin Fung",
- "id" : "Cheok-Yin Fung"
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ]
},
{
- "id" : "Dave Jacoby",
"name" : "Dave Jacoby",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Dave Jacoby"
},
{
"name" : "Duane Powell",
- "id" : "Duane Powell",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Duane Powell"
},
{
+ "id" : "E. Choroba",
+ "name" : "E. Choroba",
"data" : [
[
"Perl",
@@ -183,11 +219,11 @@
"Blog",
1
]
- ],
- "name" : "E. Choroba",
- "id" : "E. Choroba"
+ ]
},
{
+ "id" : "Javier Luque",
+ "name" : "Javier Luque",
"data" : [
[
"Perl",
@@ -201,13 +237,11 @@
"Blog",
1
]
- ],
- "name" : "Javier Luque",
- "id" : "Javier Luque"
+ ]
},
{
- "name" : "Jen Guerra",
"id" : "Jen Guerra",
+ "name" : "Jen Guerra",
"data" : [
[
"Blog",
@@ -216,8 +250,8 @@
]
},
{
- "name" : "Jonas Berlin",
"id" : "Jonas Berlin",
+ "name" : "Jonas Berlin",
"data" : [
[
"Raku",
@@ -236,8 +270,8 @@
"id" : "Kevin Colyer"
},
{
- "name" : "Laurent Rosenfeld",
"id" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld",
"data" : [
[
"Perl",
@@ -254,16 +288,17 @@
]
},
{
- "name" : "Lubos Kolouch",
"id" : "Lubos Kolouch",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Lubos Kolouch"
},
{
+ "id" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -274,8 +309,7 @@
2
]
],
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari"
+ "name" : "Luca Ferrari"
},
{
"data" : [
@@ -284,8 +318,8 @@
2
]
],
- "id" : "Mark Anderson",
- "name" : "Mark Anderson"
+ "name" : "Mark Anderson",
+ "id" : "Mark Anderson"
},
{
"data" : [
@@ -294,10 +328,11 @@
1
]
],
- "id" : "Markus Holzer",
- "name" : "Markus Holzer"
+ "name" : "Markus Holzer",
+ "id" : "Markus Holzer"
},
{
+ "id" : "Mohammad S Anwar",
"data" : [
[
"Perl",
@@ -312,22 +347,20 @@
1
]
],
- "name" : "Mohammad S Anwar",
- "id" : "Mohammad S Anwar"
+ "name" : "Mohammad S Anwar"
},
{
+ "id" : "Peter Scott",
+ "name" : "Peter Scott",
"data" : [
[
"Perl",
1
]
- ],
- "name" : "Peter Scott",
- "id" : "Peter Scott"
+ ]
},
{
"id" : "Roger Bell West",
- "name" : "Roger Bell West",
"data" : [
[
"Perl",
@@ -337,9 +370,11 @@
"Raku",
2
]
- ]
+ ],
+ "name" : "Roger Bell West"
},
{
+ "name" : "Ruben Westerberg",
"data" : [
[
"Perl",
@@ -350,22 +385,20 @@
2
]
],
- "name" : "Ruben Westerberg",
"id" : "Ruben Westerberg"
},
{
- "id" : "Saif Ahmed",
"name" : "Saif Ahmed",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Saif Ahmed"
},
{
"id" : "Simon Proctor",
- "name" : "Simon Proctor",
"data" : [
[
"Raku",
@@ -375,16 +408,17 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Simon Proctor"
},
{
+ "id" : "Steven Wilson",
"data" : [
[
"Perl",
1
]
],
- "id" : "Steven Wilson",
"name" : "Steven Wilson"
},
{
@@ -398,14 +432,14 @@
]
},
{
- "id" : "Wanderdoc",
"name" : "Wanderdoc",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Wanderdoc"
},
{
"data" : [
@@ -414,24 +448,9 @@
2
]
],
- "id" : "Yet Ebreo",
- "name" : "Yet Ebreo"
+ "name" : "Yet Ebreo",
+ "id" : "Yet Ebreo"
}
]
- },
- "legend" : {
- "enabled" : 0
- },
- "subtitle" : {
- "text" : "[Champions: 23] Last updated at 2020-03-01 14:06:58 GMT"
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index b05f71915b..f9c2575314 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,25 +1,50 @@
{
- "chart" : {
- "type" : "column"
+ "legend" : {
+ "enabled" : "false"
+ },
+ "yAxis" : {
+ "min" : 0,
+ "title" : {
+ "text" : null
+ }
+ },
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "xAxis" : {
+ "type" : "category",
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
+ }
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2020-03-01 14:59:40 GMT"
},
"series" : [
{
"dataLabels" : {
+ "y" : 10,
"color" : "#FFFFFF",
+ "rotation" : -90,
"align" : "right",
- "y" : 10,
- "enabled" : "true",
"style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
},
- "format" : "{point.y:.0f}",
- "rotation" : -90
+ "enabled" : "true",
+ "format" : "{point.y:.0f}"
},
+ "name" : "Contributions",
"data" : [
[
"Blog",
- 527
+ 528
],
[
"Perl",
@@ -27,37 +52,12 @@
],
[
"Raku",
- 1246
+ 1248
]
- ],
- "name" : "Contributions"
+ ]
}
],
- "xAxis" : {
- "labels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- }
- },
- "type" : "category"
- },
- "yAxis" : {
- "title" : {
- "text" : null
- },
- "min" : 0
- },
- "subtitle" : {
- "text" : "Last updated at 2020-03-01 14:06:58 GMT"
- },
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
- },
- "legend" : {
- "enabled" : "false"
+ "chart" : {
+ "type" : "column"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 732737df28..aa354189b0 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,23 +1,15 @@
{
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-03-01 14:06:58 GMT"
- },
"plotOptions" : {
"series" : {
"dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
+ "enabled" : 1,
+ "format" : "{point.y}"
},
"borderWidth" : 0
}
},
- "tooltip" : {
- "followPointer" : "true",
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
- "headerFormat" : "<span style=\"font-size:11px\"></span>"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Language"
+ "chart" : {
+ "type" : "column"
},
"drilldown" : {
"series" : [
@@ -36,11 +28,10 @@
11
]
],
- "id" : "001",
- "name" : "001"
+ "name" : "001",
+ "id" : "001"
},
{
- "name" : "002",
"id" : "002",
"data" : [
[
@@ -55,7 +46,8 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "002"
},
{
"id" : "003",
@@ -77,7 +69,6 @@
},
{
"id" : "004",
- "name" : "004",
"data" : [
[
"Perl",
@@ -91,10 +82,10 @@
"Blog",
10
]
- ]
+ ],