diff options
| author | Ysmael Ebreo <Ysmael.Ebreo@latticesemi.com> | 2019-10-12 02:55:06 +0800 |
|---|---|---|
| committer | Ysmael Ebreo <Ysmael.Ebreo@latticesemi.com> | 2019-10-12 02:55:06 +0800 |
| commit | 39249ff15282d6d8896f287e55e0480f50591748 (patch) | |
| tree | a240538eda370406f4304c7bed6ed36975a8369a | |
| parent | 0963991c500b8bee7bda431453859905db9c3922 (diff) | |
| parent | 07552f965ae27ff537c6b3ff4084eca21807a3b4 (diff) | |
| download | perlweeklychallenge-club-39249ff15282d6d8896f287e55e0480f50591748.tar.gz perlweeklychallenge-club-39249ff15282d6d8896f287e55e0480f50591748.tar.bz2 perlweeklychallenge-club-39249ff15282d6d8896f287e55e0480f50591748.zip | |
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
24 files changed, 1268 insertions, 764 deletions
diff --git a/challenge-029/andrezgz/perl5/ch-1.pl b/challenge-029/andrezgz/perl5/ch-1.pl new file mode 100644 index 0000000000..f8b04fd13b --- /dev/null +++ b/challenge-029/andrezgz/perl5/ch-1.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl + +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-029/ +# Task #1 +# Write a script to demonstrate brace expansion. For example, script would take command line argument +# Perl {Daily,Weekly,Monthly,Yearly} Challenge and should expand it and print like below: +# Perl Daily Challenge +# Perl Weekly Challenge +# Perl Monthly Challenge +# Perl Yearly Challenge + +use strict; +use warnings; + +sub expand { + my $input = shift; + my %expansions; + + if ($input =~ m/ (.*?) # optional preamble + \{ ([^{}]*?) \} # pair of braces that not contain braces inside + (.*) # optional postscript + /x ) { + + my ($preamble, $brace_match, $postscript) = ($1,$2,$3); + $brace_match = adjust_range($brace_match); + + foreach my $item ( split /,/, $brace_match ) { + foreach ( expand( $preamble . $item . $postscript ) ) { + $expansions{$_} = 1; #unique expansions + } + } + } + + return %expansions ? sort keys %expansions : ($input); +} + +# replace range with list of values +sub adjust_range { + my $brace_exp = shift; + return join ',', ($1..$2) if ( $brace_exp =~ /^(\d+)[.]{2}(\d+)$/ ); # numeric range n..m + return join ',', ($1..$2) if ( $brace_exp =~ /^([a-z]+)[.]{2}([a-z]+)$/i ); # alphabetic range a..z + return $brace_exp; # unmodified, no range detected +} + +while (<DATA>) { + chomp; + print "Expansion for: '$_'\n"; + print join "\n", expand($_); + print "\n\n"; +} + +__DATA__ +last{mce,boot,xorg}.log +file.{2015..2017}.{a..c}.log{,.bak} +/home/tom/{temp,tmp{1..4}}/image.{jpg,png} +Perl {{Dai,Week,Month,Year}ly,Unique} Challenge diff --git a/challenge-029/andrezgz/perl5/ch-2.pl b/challenge-029/andrezgz/perl5/ch-2.pl new file mode 100644 index 0000000000..f131713b81 --- /dev/null +++ b/challenge-029/andrezgz/perl5/ch-2.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-029/ +# Task #2 +# Write a script to demonstrate calling a C function. +# It could be any user defined or standard C function. + +use strict; +use warnings; + +use Inline C => <<'EOT'; +float square ( float x ) +{ + return ( x * x ); +} +EOT + +my $input = shift || die "USAGE: $0 <number>"; +print square $input; + +__END__ + +./ch-2.pl 12 +144 diff --git a/challenge-029/daniel-mita/perl6/ch-1.p6 b/challenge-029/daniel-mita/perl6/ch-1.p6 new file mode 100755 index 0000000000..a3ab062c3d --- /dev/null +++ b/challenge-029/daniel-mita/perl6/ch-1.p6 @@ -0,0 +1,19 @@ +#!/usr/bin/env perl6 +use v6; + +#| Expand braces (nesting NYI) +sub MAIN ( + *@phrase where * > 0, + --> Nil +) { + given @phrase.join: ' ' -> $str { + given $str.match: /^ ( .*? ) '{' ( .* ) '}' ( .*? ) $/ { + when .[1].so { + for .[1].split: ',' -> $split { + "$_[0]$split$_[2]".say; + } + } + default { $str.say } + } + } +} diff --git a/challenge-029/daniel-mita/perl6/ch-2.p6 b/challenge-029/daniel-mita/perl6/ch-2.p6 index 9a6365be70..d5c144a5f0 100755 --- a/challenge-029/daniel-mita/perl6/ch-2.p6 +++ b/challenge-029/daniel-mita/perl6/ch-2.p6 @@ -2,21 +2,26 @@ use v6; use NativeCall; -sub getrandom ( Buf, size_t, uint32 --> ssize_t ) is native {*} +my %*SUB-MAIN-OPTS = + :named-anywhere, +; #| http://man7.org/linux/man-pages/man2/getrandom.2.html sub MAIN ( - UInt $bytes = 8, #= Number of random bytes (defaults to 8) - UInt $flags = 0, + UInt $bytes = 8, #= Number of random bytes (defaults to 8) + UInt :$flags = 0, + --> Nil ) { - given Buf.allocate($bytes) { + given Buf.allocate: $bytes { given .&getrandom: $bytes, $flags { when -1 { die sub strerror( int32 --> Str ) is native {*}( - cglobal( ('c', v6), 'errno', int32 ) ); + cglobal |( 'c', v6; 'errno'; int32 ) ); } when * < $bytes { die 'got fewer bytes than requested' } } .say; } } + +sub getrandom ( Buf, size_t, uint32 --> ssize_t ) is native {*} diff --git a/challenge-029/duane-powell/perl5/ch-1.pl b/challenge-029/duane-powell/perl5/ch-1.pl new file mode 100755 index 0000000000..cf43756488 --- /dev/null +++ b/challenge-029/duane-powell/perl5/ch-1.pl @@ -0,0 +1,47 @@ +#!/usr/bin/perl +use Modern::Perl; +use Text::Glob::Expand; + +usage() unless @ARGV==1; + +my $glob = Text::Glob::Expand->parse($ARGV[0]); +my $permutations = $glob->explode_format(""); +say foreach (keys %{$permutations} ); + +sub usage { + print <<EOU; +Usage: $0 'brace-expansion' + +Note: 'brace-expansion' must be quoted to surpress bash brace expansion, ironic. +Examples: + $0 'Perl {Daily,Weekly,Monthly,Yearly} Challenge' # PWC 29 + $0 'It{{em,alic}iz,erat}e{d,}' # test from RosettaCode + $0 '{,{,gotta have{ ,\\, again\\, }}more }cowbell!' # '' + $0 'mkdir -p ~/project/{src,docs,test,foo}' # practical usage + $0 'apt-get install lib{file-find-rule,test-more}-perl' # '' +EOU + exit; +} + + +__END__ + +./ch-1.pl 'Perl {Daily,Weekly,Monthly,Yearly} Challenge' +Perl Daily Challenge +Perl Weekly Challenge +Perl Monthly Challenge +Perl Yearly Challenge + +./ch-1.pl 'It{{em,alic}iz,erat}e{d,}' +Italicize +Iterate +Itemized +Italicized +Iterated +Itemize + +./ch-1.pl '{,{,gotta have{ ,\, again\, }}more }cowbell!' +gotta have more cowbell! +more cowbell! +gotta have, again, more cowbell! +cowbell! diff --git a/challenge-029/duane-powell/perl5/ch-2.pl b/challenge-029/duane-powell/perl5/ch-2.pl new file mode 100755 index 0000000000..def5624c4b --- /dev/null +++ b/challenge-029/duane-powell/perl5/ch-2.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl +use strict; +use Inline C => <<'EOC'; + +void pwc() { + printf("Perl Weekly Challenge 029 Inline-C example!\n"); +} +EOC + +pwc(); + +__END__ + +./ch-2.pl +Perl Weekly Challenge 029 Inline-C example! + diff --git a/challenge-029/kevin-colyer/perl6/ch-1.p6 b/challenge-029/kevin-colyer/perl6/ch-1.p6 new file mode 100644 index 0000000000..8093370b15 --- /dev/null +++ b/challenge-029/kevin-colyer/perl6/ch-1.p6 @@ -0,0 +1,39 @@ +#!/usr/bin/perl6 +use v6; + +use Test; + +# 29.1 Write a script to demonstrate brace expansion. For example, script would take command line argument Perl {Daily,Weekly,Monthly,Yearly} Challenge and should expand it and print like below: +# +# Perl Daily Challenge +# +# Perl Weekly Challenge +# +# Perl Monthly Challenge +# +# Perl Yearly Challenge + +multi MAIN( Str $text) { + say expand($text.words).join: "\n"; + } + +sub expand(*@texts) { + my @expanded; + for @texts -> $t { + if $t.starts-with: '{' and $t.ends-with: '}' { + @expanded.push: [ $t.substr(1,*-1).split(',') ]; + } else { + @expanded.push: [ $t ]; + } + } + # reduce array using cross multiplier + return [X] @expanded; +} + +multi MAIN('test') { + is expand( <a> ),'a',"one level"; + is expand(('a','b')),('a','b'),"two level"; + is expand(('{a,c}','b')),(('a','b'),('c','b')),"two level"; + is expand( <p {d,w,m,y} c> ),(<p d c>,<p w c>,<p m c>,<p y c>),"example"; + +} diff --git a/challenge-029/kevin-colyer/perl6/ch-2.p6 b/challenge-029/kevin-colyer/perl6/ch-2.p6 new file mode 100644 index 0000000000..a5217219c8 --- /dev/null +++ b/challenge-029/kevin-colyer/perl6/ch-2.p6 @@ -0,0 +1,94 @@ +#!/usr/bin/perl6 +use v6; + +use Test; + +# 29.2 Write a script to demonstrate calling a C function. It could be any user defined or standard C function + +use NativeCall; + +constant LIBQRENCODE = '/usr/lib/x86_64-linux-gnu/libqrencode.so.3'; + +# Level of error correction. (lowest to highest) +enum QRecLevel <QR_ECLEVEL_L QR_ECLEVEL_M QR_ECLEVEL_Q QR_ECLEVEL_H>; + +class QRcode is repr('CStruct') { + has int32 $.version; + has int32 $.width; + has Pointer[uint8] $.data; # sized width*width +} + +# QRcode* QRcode_encodeString8bit ( const char * string, int version, QRecLevel level ) +sub QRcode_encodeString8bit ( Str is encoded('utf8'), uint8, uint8 ) returns QRcode is native( LIBQRENCODE ) { * } +sub QRcode_free ( QRcode ) is native( LIBQRENCODE ) { * } + +# from qrencode.h... +# Symbol data is represented as an array contains width*width uchars. Each uchar represents a module (dot). If the less significant bit of the uchar is 1, the corresponding module is black. The other bits are meaningless for usual applications, but here its specification is described. +# +# MSB 76543210 LSB +# |||||||`- 1=black/0=white +# ||||||`-- data and ecc code area +# |||||`--- format information +# ||||`---- version information +# |||`----- timing pattern +# ||`------ alignment pattern +# |`------- finder pattern and separator +# `-------- non-data modules (format, timing, etc.) +sub is-on (uint8 $b) { return $b +& 0x01 } +sub is-data (uint8 $b) { return $b +& 0x02 } +sub is-format (uint8 $b) { return $b +& 0x04 } +sub is-version (uint8 $b) { return $b +& 0x08 } +sub is-timing (uint8 $b) { return $b +& 0x10 } +sub is-alignment (uint8 $b) { return $b +& 0x20 } +sub is-finder (uint8 $b) { return $b +& 0x40 } +sub is-non-data (uint8 $b) { return $b +& 0x80 } + +sub qrencode(Str $encode where * !eq "", QRecLevel $level, Bool $explain=False) { + + # heavy lifting by c library + my $QR=QRcode_encodeString8bit($encode,0,$level); + + print " "; + # note we are reading a pointer directly from memory!!! Care with buffer size! + for ^$QR.width*$QR.width -> $i { + my $b = $QR.data[$i]; + my $w="-"; + + if $explain { + $w="#" if is-data($b); + $w="f" if is-format($b); + $w="v" if is-version($b); + $w="t" if is-timing($b); + $w="a" if is-alignment($b); + $w="?" if is-finder($b); + #$w="n" if is-non-data($b); # doesn't seem to tell us anything useful. + } else { $w="\c[FULL BLOCK]" }; + + # lsb has on or off data. libqrencode returns a cube of data and leaves it to callee to create an image of their own choosing. + print is-on($b) ?? $w x 2 !! " "; + print "\n " if ($i+1) %% $QR.width; + } + if $explain { say "\n ## = Data | ff = format | vv = version\n tt = timing | aa= alignment | ?? = finder" }; + + QRcode_free($QR); + # hmmm... seems to persist data + # say $QR.data[0]; + return +} + +multi MAIN( Str $text, Bool :$explain) { + shell 'clear'; + say ""; + qrencode($text,QR_ECLEVEL_H,$explain); + say ""; +} + + +multi MAIN('clock',Bool :$explain) { + loop { + shell 'clear'; # clear screen + say " The time is now...\n"; + qrencode(DateTime.now.hh-mm-ss,QR_ECLEVEL_M, $explain); + sleep 1; + } +} diff --git a/challenge-029/nazareno-delucca/README b/challenge-029/nazareno-delucca/README new file mode 100644 index 0000000000..201de28eb4 --- /dev/null +++ b/challenge-029/nazareno-delucca/README @@ -0,0 +1 @@ +Solutions by Nazareno Delucca. diff --git a/challenge-029/rage311/README b/challenge-029/rage311/README new file mode 100644 index 0000000000..8277c95e21 --- /dev/null +++ b/challenge-029/rage311/README @@ -0,0 +1 @@ +Solution by rage311 diff --git a/challenge-029/rage311/perl5/ch-1.pl b/challenge-029/rage311/perl5/ch-1.pl new file mode 100644 index 0000000000..7f9de7b34f --- /dev/null +++ b/challenge-029/rage311/perl5/ch-1.pl @@ -0,0 +1,14 @@ +#!/usr/bin/env perl + +use 5.028; +use strict; +use warnings; + +die 'Need brace expansion phrase as argument' unless + my $input = $ARGV[0]; + +die 'No braces to expand' unless + my ($pre, $exp, $post) = $input =~ /^\s*(.+?)\s*\{(.+)\}\s*(.+?)\s*$/; + +say join ' ', $pre, $_, $post for split /,/, $exp; + diff --git a/challenge-029/rage311/perl5/ch-2.pl b/challenge-029/rage311/perl5/ch-2.pl new file mode 100644 index 0000000000..de9c340ca0 --- /dev/null +++ b/challenge-029/rage311/perl5/ch-2.pl @@ -0,0 +1,21 @@ +#!/usr/bin/env perl + +use 5.028; +use strict; +use warnings; + +use FFI::Platypus; + +use constant JAPH => 'Perl is awesome'; + +my $ffi = FFI::Platypus->new; + +# search libc +$ffi->lib(undef); + +# C strcmp, 0 == values are equal +say $ffi->function(strcmp => [qw(string string)] => 'int') + ->call('Perl is awesome', JAPH) == 0 + ? 'It sure is!' + : 'Does not compute. Must be in an alternate dimension.'; + diff --git a/challenge-029/steven-wilson/perl5/ch-1.pl b/challenge-029/steven-wilson/perl5/ch-1.pl new file mode 100644 index 0000000000..4a122f9dbe --- /dev/null +++ b/challenge-029/steven-wilson/perl5/ch-1.pl @@ -0,0 +1,31 @@ +#!/usr/bin/env perl +# Author: Steven Wilson +# Date: 2019-10-09 +# Week: 029 + +# Task #1 +# Write a script to demonstrate brace expansion. For example, script +# would take command line argument Perl {Daily,Weekly,Monthly,Yearly} +# Challenge and should expand it and print like below: +# +# Perl Daily Challenge +# Perl Weekly Challenge +# Perl Monthly Challenge +# Perl Yearly Challenge + +use strict; +use warnings; +use feature qw/ say /; + +my $cmd_line_arg = "Perl {Daily,Weekly,Monthly,Yearly} Challenge"; +say "The command line argument \"$cmd_line_arg\" should expand to:"; + +if ( $cmd_line_arg =~ m/\{([\w\,]*)\}/ ) { + my @items = split /,/, $1; + for my $item (@items) { + my $string = $cmd_line_arg; + $string =~ s/\{[\w\,]*\}/$item/; + say $string; + } +} + diff --git a/members.json b/members.json index b9b552e331..263dbd7a3c 100644 --- a/members.json +++ b/members.json @@ -75,6 +75,7 @@ "michael-hamlin" : "Michael Hamlin", "michael-schaap" : "Michael Schaap", "mike-accardo" : "Mike Accardo", + "nazareno-delucca" : "Nazareno Delucca", "neil-bowers" : "Neil Bowers", "nick-logan" : "Nick Logan", "nikhil-prasanna" : "Nikhil Prasanna", @@ -90,6 +91,7 @@ "peter-scott" : "Peter Scott", "philippe-bruhat" : "Philippe Bruhat", "prajith-p" : "Prajith P", + "rage311" : "Rage311", "randy-lauen" : "Randy Lauen", "rob4t" : "Robert Gratza", "rob-van-dam" : "Robert Van Dam", diff --git a/stats/pwc-current.json b/stats/pwc-current.json index e8d81617e4..d06911b412 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,42 +1,71 @@ { + "title" : { + "text" : "Perl Weekly Challenge - 029" + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, + "subtitle" : { + "text" : "[Champions: 15] Last updated at 2019-10-11 15:36:14 GMT" + }, + "tooltip" : { + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + }, + "xAxis" : { + "type" : "category" + }, + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : 0 + }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 + "format" : "{point.y}", + "enabled" : 1 + } } }, "drilldown" : { "series" : [ { + "id" : "Andrezgz", "data" : [ [ - "Perl 6", - 1 + "Perl 5", + 2 ] ], + "name" : "Andrezgz" + }, + { "name" : "Daniel Mita", + "data" : [ + [ + "Perl 6", + 2 + ] + ], "id" : "Daniel Mita" }, { - "id" : "Dave Cross", "data" : [ [ "Perl 5", 2 ] ], + "id" : "Dave Cross", "name" : "Dave Cross" }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl 5", @@ -47,11 +76,12 @@ 1 ] ], - "id" : "Dave Jacoby" + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { - "id" : "E. Choroba", - "name" : "E. Choroba", + "name" : "Duane Powell", + "id" : "Duane Powell", "data" : [ [ "Perl 5", @@ -60,38 +90,58 @@ ] }, { + "name" : "E. Choroba", "data" : [ [ "Perl 5", 2 ] ], + "id" : "E. Choroba" + }, + { + "id" : "Kevin Colyer", + "data" : [ + [ + "Perl 6", + 2 + ] + ], + "name" : "Kevin Colyer" + }, + { "name" : "Kivanc Yazan", - "id" : "Kivanc Yazan" + "id" : "Kivanc Yazan", + "data" : [ + [ + "Perl 5", + 2 + ] + ] }, { + "name" : "Lars Thegler", "id" : "Lars Thegler", "data" : [ [ "Perl 5", 2 ] - ], - "name" : "Lars Thegler" + ] }, { + "name" : "Noud", + "id" : "Noud", "data" : [ [ "Perl 6", 2 ] - ], - "name" : "Noud", - "id" : "Noud" + ] }, { - "id" : "Prajith P", "name" : "Prajith P", + "id" : "Prajith P", "data" : [ [ "Perl 5", @@ -100,7 +150,17 @@ ] }, { - "id" : "Roger Bell West", + "name" : "Rage311", + "id" : "Rage311", + "data" : [ + [ + "Perl 5", + 2 + ] + ] + }, + { + "name" : "Roger Bell West", "data" : [ [ "Perl 5", @@ -111,41 +171,42 @@ 1 ] ], - "name" : "Roger Bell West" + "id" : "Roger Bell West" + }, + { + "id" : "Steven Wilson", + "data" : [ + [ + "Perl 5", + 1 + ] + ], + "name" : "Steven Wilson" }, { - "id" : "Yet Ebreo", + "name" : "Yet Ebreo", "data" : [ [ "Perl 5", 2 ] ], - "name" : "Yet Ebreo" + "id" : "Yet Ebreo" } ] }, - "xAxis" : { - "type" : "category" - }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : 0 - }, - "subtitle" : { - "text" : "[Champions: 10] Last updated at 2019-10-09 08:18:41 GMT" - }, "series" : [ { - "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 029", "data" : [ { - "name" : "Daniel Mita", + "name" : "Andrezgz", + "y" : 2, + "drilldown" : "Andrezgz" + }, + { + "y" : 2, "drilldown" : "Daniel Mita", - "y" : 1 + "name" : "Daniel Mita" }, { "y" : 2, @@ -158,23 +219,33 @@ "name" : "Dave Jacoby" }, { + "drilldown" : "Duane Powell", "y" : 2, + "name" : "Duane Powell" + }, + { "name" : "E. Choroba", + "y" : 2, "drilldown" : "E. Choroba" }, { "y" : 2, + "drilldown" : "Kevin Colyer", + "name" : "Kevin Colyer" + }, + { + "name" : "Kivanc Yazan", "drilldown" : "Kivanc Yazan", - "name" : "Kivanc Yazan" + "y" : 2 }, { "y" : 2, - "name" : "Lars Thegler", - "drilldown" : "Lars Thegler" + "drilldown" : "Lars Thegler", + "name" : "Lars Thegler" }, { - "drilldown" : "Noud", "name" : "Noud", + "drilldown" : "Noud", "y" : 2 }, { @@ -183,24 +254,28 @@ "name" : "Prajith P" }, { + "y" : 2, + "drilldown" : "Rage311", + "name" : "Rage311" + }, + { "y" : 3, - "name" : "Roger Bell West", - "drilldown" : "Roger Bell West" + "drilldown" : "Roger Bell West", + "name" : "Roger Bell West" + }, + { + "name" : "Steven Wilson", + "drilldown" : "Steven Wilson", + "y" : 1 }, { "name" : "Yet Ebreo", "drilldown" : "Yet Ebreo", "y" : 2 } - ] + ], + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 029" } - ], - "tooltip" : { - "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/>", - "followPointer" : 1 - }, - "title" : { - "text" : "Perl Weekly Challenge - 029" - } + ] } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 7e3cab53e3..7338a9d6d2 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,30 +1,27 @@ { - "legend" : { - "enabled" : "false" - }, - "chart" : { - "type" : "column" - }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, - "subtitle" : { - "text" : "Last updated at 2019-10-09 08:18:50 GMT" + "title" : { + "text" : "Perl Weekly Challenge Contributions - 2019" + }, + "chart" : { + "type" : "column" }, "series" : [ { "name" : "Contributions", "dataLabels" : { - "rotation" : -90, + "enabled" : "true", "color" : "#FFFFFF", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "align" : "right", "y" : 10, "format" : "{point.y:.0f}", - "enabled" : "true" + "align" : "right", + "rotation" : -90 }, "data" : [ [ @@ -33,31 +30,34 @@ ], [ "Perl 5", - 1152 + 1159 ], [ "Perl 6", - 694 + 697 ] ] } ], + "subtitle" : { + "text" : "Last updated at 2019-10-11 15:36:27 GMT" + }, + "legend" : { + "enabled" : "false" + }, "xAxis" : { + "type" : "category", "labels" : { "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" } - }, - "type" : "category" + } }, "yAxis" : { + "min" : 0, "title" : { "text" : null - }, - "min" : 0 - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions - 2019" + } } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 90ca35a6a8..624da0a49f 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,174 +1,12 @@ { - "series" : [ - { - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true", - "data" : [ - { - "y" : 132, - "name" : "#001", - "drilldown" : "001" - }, - { - "name" : "#002", - |
