From 193cf97fb78400ef9659a67f506cec6b1179c40e Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 4 Jan 2022 22:23:00 +0000 Subject: - Added solutions by Ulrich Rieke. --- challenge-146/ulrich-rieke/cpp/ch-1.cpp | 23 + challenge-146/ulrich-rieke/cpp/ch-2.cpp | 70 + challenge-146/ulrich-rieke/haskell/ch-1.hs | 14 + challenge-146/ulrich-rieke/haskell/ch-2.hs | 47 + challenge-146/ulrich-rieke/perl/ch-1.pl | 23 + challenge-146/ulrich-rieke/perl/ch-2.pl | 81 ++ challenge-146/ulrich-rieke/raku/ch-1.raku | 11 + challenge-146/ulrich-rieke/raku/ch-2.raku | 93 ++ stats/pwc-current.json | 305 +++-- stats/pwc-language-breakdown-summary.json | 64 +- stats/pwc-language-breakdown.json | 2054 ++++++++++++++-------------- stats/pwc-leaders.json | 390 +++--- stats/pwc-summary-1-30.json | 108 +- stats/pwc-summary-121-150.json | 36 +- stats/pwc-summary-151-180.json | 96 +- stats/pwc-summary-181-210.json | 44 +- stats/pwc-summary-211-240.json | 108 +- stats/pwc-summary-241-270.json | 42 +- stats/pwc-summary-31-60.json | 46 +- stats/pwc-summary-61-90.json | 104 +- stats/pwc-summary-91-120.json | 46 +- stats/pwc-summary.json | 532 +++---- 22 files changed, 2359 insertions(+), 1978 deletions(-) create mode 100644 challenge-146/ulrich-rieke/cpp/ch-1.cpp create mode 100644 challenge-146/ulrich-rieke/cpp/ch-2.cpp create mode 100644 challenge-146/ulrich-rieke/haskell/ch-1.hs create mode 100644 challenge-146/ulrich-rieke/haskell/ch-2.hs create mode 100644 challenge-146/ulrich-rieke/perl/ch-1.pl create mode 100644 challenge-146/ulrich-rieke/perl/ch-2.pl create mode 100644 challenge-146/ulrich-rieke/raku/ch-1.raku create mode 100644 challenge-146/ulrich-rieke/raku/ch-2.raku diff --git a/challenge-146/ulrich-rieke/cpp/ch-1.cpp b/challenge-146/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..415867763f --- /dev/null +++ b/challenge-146/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,23 @@ +#include +#include + +bool isPrime( int number ) { + int stop = std::sqrt( static_cast( number ) ) ; + for ( int i = 2 ; i <= stop ; ++i ) + if ( number % i == 0 ) + return false ; + return true ; +} + +int main( ) { + int current = 1 ; + int numberOfPrimes = 0 ; + while ( numberOfPrimes != 10001 ) { + current++ ; + if ( isPrime( current ) ) { + numberOfPrimes++ ; + } + } + std::cout << current << std::endl ; + return 0 ; +} diff --git a/challenge-146/ulrich-rieke/cpp/ch-2.cpp b/challenge-146/ulrich-rieke/cpp/ch-2.cpp new file mode 100644 index 0000000000..e9d58c88d8 --- /dev/null +++ b/challenge-146/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,70 @@ +#include +#include +#include +#include + +std::pair createParent( int dividend , int divisor , int bdividend , + int bdivisor ) { + std::pair node ; + double product = ( (static_cast( dividend ) / + static_cast( divisor )) * + ( static_cast( bdividend ) / static_cast(bdivisor))) ; + int firstMin = std::min( dividend, divisor ) ; + int secondMin = std::min( bdividend, bdivisor ) ; + if ( product > 1.0 ) { + node = std::make_pair( std::max( firstMin , secondMin ) , + std::min( firstMin, secondMin ) ) ; + } + if ( product < 1.0 ) { + node = std::make_pair( std::min( firstMin , secondMin ) , + std::max( firstMin, secondMin ) ) ; + } + if ( product == 1.0 ) + node = std::make_pair( 1 , 1 ) ; + return node ; +} + +std::pair createBrother( int dividend , int divisor ) { + int maximum = std::max( dividend , divisor ) ; + int minimum = std::min( dividend, divisor ) ; + if ( maximum == dividend ) { + return std::make_pair( maximum - minimum , maximum ) ; + } + else { + return std::make_pair( maximum , maximum - minimum ) ; + } +} + +int main( ) { + std::cout << "Enter a fraction as dividend/divisor!\n" ; + std::string input ; + std::cin >> input ; + std::string::size_type found = input.find( "/" ) ; + while ( found == std::string::npos ) { + std::cout << "Please enter a fraction as dividend/divisor!\n" ; + std::cin >> input ; + found = input.find( "/" ) ; + } + int howmany = static_cast( found ) ; + int dividend = std::stoi( input.substr( 0 , howmany ) ) ; + int divisor = std::stoi( input.substr( howmany + 1 ) ) ; + if ( dividend == 1 && divisor == 1 ) + std::cout << "parent = and grandparent = " << std::endl ; + else { + double fraction = static_cast( dividend ) / static_cast( divisor) ; + if ( fraction == 0.5 || fraction == 2.0 ) + std::cout << "parent = 1/1 and grandparent = !" << std::endl ; + else { + std::pair brother = createBrother( dividend , divisor ) ; + std::pair parent = createParent( dividend, divisor , brother.first , + brother.second ) ; + std::pair uncle = createBrother( parent.first , parent.second ) ; + std::pair grandParent = createParent( parent.first , parent.second , + uncle.first , uncle.second ) ; + std::cout << "parent = " << parent.first << '/' << parent.second ; + std::cout << " and grandparent = " << grandParent.first << '/' << + grandParent.second << std::endl ; + } + } + return 0 ; +} diff --git a/challenge-146/ulrich-rieke/haskell/ch-1.hs b/challenge-146/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..d46c5332dd --- /dev/null +++ b/challenge-146/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,14 @@ +module Challenge146 + where + +isPrime :: Int -> Bool +isPrime n + |n == 2 = True + |n == 1 = False + |otherwise = null $ filter (\i -> mod n i == 0 ) [2 .. root] + where + root :: Int + root = floor $ sqrt $ fromIntegral n + +solution :: Int +solution = head $ drop 10000 $ filter isPrime [2 , 3 ..] diff --git a/challenge-146/ulrich-rieke/haskell/ch-2.hs b/challenge-146/ulrich-rieke/haskell/ch-2.hs new file mode 100644 index 0000000000..0e55eafa7f --- /dev/null +++ b/challenge-146/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,47 @@ +module Challenge146_2 + where +import Data.List.Split ( splitOn ) + +createBrother :: (Int , Int ) -> ( Int , Int ) +createBrother ( dividend , divisor ) + |maxi == dividend = (maxi - mini , maxi) + |mini == dividend = ( maxi , maxi - mini ) + where + maxi :: Int + maxi = maximum [ dividend , divisor] + mini :: Int + mini = minimum [ dividend , divisor ] + +createParent :: (Int , Int) -> (Int , Int) -> (Int , Int) +createParent ( dividend , divisor ) ( bdividend , bdivisor ) + |product > 1.0 = ( maximum [firstMin , secondMin] , minimum [firstMin , secondMin]) + |product < 1.0 = ( minimum [firstMin , secondMin] , maximum [firstMin , secondMin]) + |product == 1.0 = ( 1 , 1 ) + where + product :: Double + product = (fromIntegral dividend / fromIntegral divisor) * ( fromIntegral + bdividend / fromIntegral bdivisor ) + firstMin :: Int + firstMin = minimum [ dividend , divisor ] + secondMin :: Int + secondMin = minimum [bdividend , bdivisor] + +solution :: String -> String +solution input + |input == "1/2" = "parent = 1/1 and grandparent =" + |input == "2/1" = "parent = 1/1 and grandparent =" + |otherwise = "parent = " ++ (show $ fst parent) ++ "/" ++ ( show $ snd parent ) + ++ " and grandparent = " ++ ( show $ fst grandparent ) ++ "/" ++ + (show $ snd grandparent) + where + fracNumbers :: [Int] + fracNumbers = map read $ splitOn "/" input + brother :: (Int , Int) + brother = createBrother ( head fracNumbers , last fracNumbers ) + parent :: (Int , Int ) + parent = createParent ( head fracNumbers , last fracNumbers ) ( fst brother , + snd brother ) + uncle :: (Int , Int) + uncle = createBrother (fst parent , snd parent) + grandparent :: ( Int , Int ) + grandparent = createParent (fst parent , snd parent) (fst uncle , snd uncle) diff --git a/challenge-146/ulrich-rieke/perl/ch-1.pl b/challenge-146/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..90c3bcce81 --- /dev/null +++ b/challenge-146/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,23 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +sub isPrime { + my $number = shift ; + return 1 if ( $number == 2 ) ; + for my $i ( 2..int( $number / 2 ) ) { + return 0 if $number % $i == 0 ; + } + return 1 ; +} + +my $current = 1 ; +my $num_of_primes = 0 ; +do { + $current++ ; + if ( isPrime( $current ) ) { + $num_of_primes++ ; + } +} while ( $num_of_primes != 10001 ) ; +say $current ; diff --git a/challenge-146/ulrich-rieke/perl/ch-2.pl b/challenge-146/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..49d13f5d36 --- /dev/null +++ b/challenge-146/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,81 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use List::Util qw ( min max ) ; + +sub createParent { + my $dividend = shift ; + my $divisor = shift ; + my $bdividend = shift ; + my $bdivisor = shift ; + my $product = ( $dividend / $divisor ) * ( $bdividend / $bdivisor ) ; + my $firstMin = min( $dividend , $divisor ) ; + my $secondMin = min( $bdividend , $bdivisor ) ; + if ( $product > 1 ) { + return max( $firstMin , $secondMin ) . '/' . + min( $firstMin, $secondMin ) ; + } + if ( $product < 1 ) { + return min( $firstMin , $secondMin ) . '/' . + max( $firstMin , $secondMin ) ; + } + if ( $product == 1 ) { + return "1/1" ; + } +} + +sub createBrother { + my @brotherresult ; + my $brotherDividend ; + my $brotherDivisor ; + my $dividend = shift ; + my $divisor = shift ; + my $maximum = max( $dividend , $divisor ) ; + my $minimum = min( $dividend , $divisor ) ; + if ( $maximum == $dividend ) { + $brotherDivisor = $maximum ; + $brotherDividend = $maximum - $minimum ; + } + else { + $brotherDividend = $maximum ; + $brotherDivisor = $maximum - $minimum ; + } + push @brotherresult , $brotherDividend, $brotherDivisor ; + return @brotherresult ; +} + +say "Enter a fraction as dividend / divisor!" ; +my $member = ; +chomp $member ; +while ( $member !~ /\A(\d+)\s*\/\s*(\d+)\z/ ) { + say "Please enter a fraction as dividend / divisor!" ; + $member = ; + chomp $member ; +} +if ( $member =~ /\A(\d+)\s*\/\s*(\d+)\z/ ) { + my $dividend = $1 ; + my $divisor = $2 ; + if ( $dividend eq '1' && $divisor eq '1' ) { + say "parent = and grandparent = " ; + } + elsif ( $dividend / $divisor == 0.5 || $dividend / $divisor == 2 ) { + say "parent = 1/1 and grandparent = !" ; + } + else { + my @brotherFraction = createBrother( $dividend , $divisor ) ; + my $parent = createParent( $dividend , $divisor , $brotherFraction[ 0 ] , + $brotherFraction[1] ) ; + my $grandParent ; + if ( $parent =~ /\A(\d+)\/(\d+)\z/ ) { + my @uncle = createBrother( $1 , $2 ) ; + $grandParent = createParent( $1 , $2, $uncle[ 0 ] , $uncle[ 1 ] ) ; + } + if ( $parent ) { + print "parent = $parent" ; + } + if ( $grandParent ) { + say " and grandparent = $grandParent" ; + } + } +} diff --git a/challenge-146/ulrich-rieke/raku/ch-1.raku b/challenge-146/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..e2080cf456 --- /dev/null +++ b/challenge-146/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,11 @@ +use v6 ; + +my $current = 1 ; +my $number_of_primes = 0 ; +repeat { + $current++ ; + if ( $current.is-prime ) { + $number_of_primes++ ; + } +} until ( $number_of_primes == 10001 ) ; +say $current ; diff --git a/challenge-146/ulrich-rieke/raku/ch-2.raku b/challenge-146/ulrich-rieke/raku/ch-2.raku new file mode 100644 index 0000000000..5d7a3c23be --- /dev/null +++ b/challenge-146/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,93 @@ +use v6 ; + +sub myMin( $a , $b ) { + if ( $a < $b ) { + return $a ; + } + else { + return $b ; + } +} + +sub myMax( $a , $b ) { + if ( $a > $b ) { + return $a ; + } + else { + return $b ; + } +} + +sub createParent( $dividend is copy, $divisor is copy , $bdividend is copy , + $bdivisor is copy ) { + my $product = ( $dividend / $divisor ) * ( $bdividend / $bdivisor ) ; + my $firstMin = myMin( $dividend, $divisor ) ; + my $secondMin = myMin( $bdividend, $bdivisor ) ; + if ( $product > 1 ) { + return myMax( $firstMin, $secondMin ) ~ "/" ~ myMin( $firstMin , + $secondMin) ; + } + if ( $product < 1 ) { + return myMin( $firstMin, $secondMin) ~ "/" ~ myMax( $firstMin , + $secondMin ) ; + } + if ( $product == 1 ) { + return "1/1" ; + } +} + +sub createBrother( $dividend is copy, $divisor is copy ) { + my @result ; + my $maximum ; + my $minimum ; + if ( $dividend > $divisor ) { + $maximum = $dividend ; + $minimum = $divisor ; + } + else { + $maximum = $divisor ; + $minimum = $dividend ; + } + my $brotherDividend ; + my $brotherDivisor ; + if ( $maximum == $dividend ) { + $brotherDivisor = $maximum ; + $brotherDividend = $maximum - $minimum ; + } + else { + $brotherDividend = $maximum ; + $brotherDivisor = $maximum - $minimum ; + } + @result.push( $brotherDividend , $brotherDivisor ) ; + return @result ; +} + +say "Enter a member as as fraction: 'dividend / divisor' !" ; +my $member = $*IN.get ; +while ( $member !~~ /^(\d+) \s* '/' \s* (\d+) $/ ) { + say "Please enter a fraction as 'dividend / divisor' !" ; + $member = $*IN.get ; +} +my $dividend = +$0 ; +my $divisor = +$1 ; +if ( $dividend == 1 && $divisor == 1 ) { + say "parent = " ~ " " ~ " and grandparent =" ~ " " ; +} +elsif ( $dividend / $divisor == 0.5 || $dividend / $divisor == 2 ) { + say "parent = 1/1 and grandparent = !" ; +} +else { + my @brotherFraction = createBrother( $dividend , $divisor ) ; + my $parent = createParent( $dividend, $divisor , |@brotherFraction ) ; + my $grandparent ; + if ( $parent ~~ /^(\d+) '/' (\d+) $/ ) { + my @uncle = createBrother( +$0 , +$1 ) ; + $grandparent = createParent( +$0 , +$1 , |@uncle ) ; + } + if ( $parent ) { + print "parent = $parent " ; + } + if ( $grandparent ) { + say " and grandparent = $grandparent" ; + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 76aec9f364..b852e1b840 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -2,6 +2,127 @@ "chart" : { "type" : "column" }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "y" : 4, + "name" : "Abigail", + "drilldown" : "Abigail" + }, + { + "drilldown" : "Andrew Shitov", + "name" : "Andrew Shitov", + "y" : 1 + }, + { + "y" : 2, + "drilldown" : "Andrezgz", + "name" : "Andrezgz" + }, + { + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", + "y" : 3 + }, + { + "y" : 2, + "drilldown" : "E. Choroba", + "name" : "E. Choroba" + }, + { + "y" : 2, + "drilldown" : "Feng Chang", + "name" : "Feng Chang" + }, + { + "y" : 6, + "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti" + }, + { + "drilldown" : "James Smith", + "name" : "James Smith", + "y" : 3 + }, + { + "drilldown" : "Jorg Sommrey", + "name" : "Jorg Sommrey", + "y" : 1 + }, + { + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari", + "y" : 6 + }, + { + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson", + "y" : 2 + }, + { + "y" : 3, + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" + }, + { + "y" : 1, + "name" : "Robert DiCicco", + "drilldown" : "Robert DiCicco" + }, + { + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West", + "y" : 5 + }, + { + "y" : 2, + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor" + }, + { + "y" : 4, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + }, + { + "y" : 3, + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan" + } + ], + "name" : "The Weekly Challenge - 146" + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 + }, + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "The Weekly Challenge - 146" + }, "drilldown" : { "series" : [ { @@ -15,12 +136,12 @@ 2 ] ], - "name" : "Abigail", - "id" : "Abigail" + "id" : "Abigail", + "name" : "Abigail" }, { - "id" : "Andrew Shitov", "name" : "Andrew Shitov", + "id" : "Andrew Shitov", "data" : [ [ "Raku", @@ -30,16 +151,15 @@ }, { "id" : "Andrezgz", - "name" : "Andrezgz", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Andrezgz" }, { - "id" : "Dave Jacoby", "name" : "Dave Jacoby", "data" : [ [ @@ -50,7 +170,8 @@ "Blog", 1 ] - ] + ], + "id" : "Dave Jacoby" }, { "data" : [ @@ -59,8 +180,8 @@ 2 ] ], - "name" : "E. Choroba", - "id" : "E. Choroba" + "id" : "E. Choroba", + "name" : "E. Choroba" }, { "data" : [ @@ -69,8 +190,8 @@ 2 ] ], - "name" : "Feng Chang", - "id" : "Feng Chang" + "id" : "Feng Chang", + "name" : "Feng Chang" }, { "id" : "Flavio Poletti", @@ -91,7 +212,7 @@ "name" : "Flavio Poletti" }, { - "name" : "James Smith", + "id" : "James Smith", "data" : [ [ "Perl", @@ -102,20 +223,21 @@ 1 ] ], - "id" : "James Smith" + "name" : "James Smith" }, { + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 1 ] ], - "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey" + "name" : "Jorg Sommrey" }, { "name" : "Luca Ferrari", + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -125,8 +247,7 @@ "Blog", 4 ] - ], - "id" : "Luca Ferrari" + ] }, { "name" : "Mark Anderson", @@ -139,7 +260,6 @@ "id" : "Mark Anderson" }, { - "id" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -150,20 +270,20 @@ 1 ] ], + "id" : "Peter Campbell Smith", "name" : "Peter Campbell Smith" }, { - "name" : "Robert DiCicco", "data" : [ [ "Perl", 1 ] ], - "id" : "Robert DiCicco" + "id" : "Robert DiCicco", + "name" : "Robert DiCicco" }, { - "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -178,20 +298,34 @@ 1 ] ], - "id" : "Roger Bell_West" + "id" : "Roger Bell_West", + "name" : "Roger Bell_West" }, { + "id" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + "name" : "Simon Proctor" + }, + { + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] }, { - "id" : "W. Luis Mochan", "name" : "W. Luis Mochan", "data" : [ [ @@ -202,127 +336,12 @@ "Blog", 1 ] - ] + ], + "id" : "W. Luis Mochan" } ] }, - "legend" : { - "enabled" : 0 - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, "subtitle" : { - "text" : "[Champions: 16] Last updated at 2022-01-04 21:57:59 GMT" - }, - "title" : { - "text" : "The Weekly Challenge - 146" - }, - "series" : [ - { - "colorByPoint" : 1, - "data" : [ - { - "name" : "Abigail", - "y" : 4, - "drilldown" : "Abigail" - }, - { - "name" : "Andrew Shitov", - "y" : 1, - "drilldown" : "Andrew Shitov" - }, - { - "name" : "Andrezgz", - "drilldown" : "Andrezgz", - "y" : 2 - }, - { - "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby", - "y" : 3 - }, - { - "y" : 2, - "drilldown" : "E. Choroba", - "name" : "E. Choroba" - }, - { - "drilldown" : "Feng Chang", - "y" : 2, - "name" : "Feng Chang" - }, - { - "name" : "Flavio Poletti", - "y" : 6, - "drilldown" : "Flavio Poletti" - }, - { - "drilldown" : "James Smith", - "y" : 3, - "name" : "James Smith" - }, - { - "name" : "Jorg Sommrey", - "y" : 1, - "drilldown" : "Jorg Sommrey" - }, - { - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari", - "y" : 6 - }, - { - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson", - "y" : 2 - }, - { - "drilldown" : "Peter Campbell Smith", - "y" : 3, - "name" : "Peter Campbell Smith" - }, - { - "drilldown" : "Robert DiCicco", - "y" : 1, - "name" : "Robert DiCicco" - }, - { - "drilldown" : "Roger Bell_West", - "y" : 5, - "name" : "Roger Bell_West" - }, - { - "y" : 2, - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor" - }, - { - "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan", - "y" : 3 - } - ], - "name" : "The Weekly Challenge - 146" - } - ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "xAxis" : { - "type" : "category" - }, - "tooltip" : { - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1 + "text" : "[Champions: 17] Last updated at 2022-01-04 22:20:26 GMT" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 98c6d4df98..f5bbea9060 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,30 +1,25 @@ { + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2021]" + }, + "subtitle" : { + "text" : "Last updated at 2022-01-04 22:20:26 GMT" + }, "chart" : { "type" : "column" }, - "legend" : { - "enabled" : "false" - }, - "subtitle" : { - "text" : "Last updated at 2022-01-04 21:57:59 GMT" + "tooltip" : { + "pointFormat" : "{point.y:.0f}" }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2021]" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 }, "series" : [ { - "dataLabels" : { - "y" : 10, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "color" : "#FFFFFF", - "align" : "right", - "rotation" : -90, - "format" : "{point.y:.0f}", - "enabled" : "true" - }, + "name" : "Contributions", "data" : [ [ "Blog", @@ -32,32 +27,37 @@ ], [ "Perl", - 7027 + 7029 ], [ "Raku", - 4232 + 4234 ] ], - "name" : "Contributions" + "dataLabels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "align" : "right", + "enabled" : "true", + "color" : "#FFFFFF", + "format" : "{point.y:.0f}", + "y" : 10, + "rotation" : -90 + } } ], - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, "xAxis" : { - "type" : "category", "labels" : { "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" } - } + }, + "type" : "category" }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" + "legend" : { + "enabled" : "false" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index db3dd9085f..8492e696e0 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,773 +1,4 @@ { - "tooltip" : { - "followPointer" : "true", - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "headerFormat" : "" - }, - "xAxis" : { - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "series" : [ - { - "colorByPoint" : "true", - "name" : "The Weekly Challenge Languages", - "data" : [ - { - "name" : "#001", - "drilldown" : "001", - "y" : 161 - }, - { - "y" : 125, - "drilldown" : "002", - "name" : "#002" - }, - { - "drilldown" : "003", - "y" : 83, - "name" : "#003" - }, - { - "name" : "#004", - "drilldown" : "004", - "y" : 99 - }, - { - "name" : "#005", - "drilldown" : "005", - "y" : 78 - }, - { - "y" : 58, - "drilldown" : "006", - "name" : "#006" - }, - { - "name" : "#007", - "drilldown" : "007", - "y" : 64 - }, - { - "drilldown" : "008", - "y" : 78, - "name" : "#008" - }, - { - "y" : 76, - "drilldown" : "009", - "name" : "#009" - }, - { - "name" : "#010", - "drilldown" : "010", - "y" : 65 - }, - { - "name" : "#011", - "drilldown" : "011", - "y" : 85 - }, - { - "drilldown" : "012", - "y" : 89, - "name" : "#012" - }, - { - "name" : "#013", - "y" : 85, - "drilldown" : "013" - }, - { - "name" : "#014", - "y" : 101, - "drilldown" : "014" - }, - { - "name" : "#015", - "drilldown" : "015", - "y" : 99 - }, - { - "name" : "#016", - "y" : 71, - "drilldown" : "016" - }, - { - "y" : 84, - "drilldown" : "017", - "name" : "#017" - }, - { - "y" : 81, - "drilldown" : "018", - "name" : "#018" - }, - { - "name" : "#019", - "y" : 103, - "drilldown" : "019" - }, - { - "name" : "#020", - "drilldown" : "020", - "y" : 101 - }, - { - "y" : 72, - "drilldown" : "021", - "name" : "#021" - }, - { - "drilldown" : "022", - "y" : 68, - "name" : "#022" - }, - { - "name" : "#023", - "y" : 97, - "drilldown" : "023" - }, - { - "y" : 75, - "drilldown" : "024", - "name" : "#024" - }, - { - "name" : "#025", - "y" : 59, - "drilldown" : "025" - }, - { - "y" : 74, - "drilldown" : "026", - "name" : "#026" - }, - { - "name" : "#027", - "drilldown" : "027", - "y" : 62 - }, - { - "drilldown" : "028", - "y" : 82, - "name" : "#028" - }, - { - "name" : "#029", - "y" : 81, - "drilldown" : "029" - }, - { - "y" : 119, - "drilldown" : "030", - "name" : "#030" - }, - { - "drilldown" : "031", - "y" : 91, - "name" : "#031" - }, - { - "name" : "#032", - "y" : 96, - "drilldown" : "032" - }, - { - "name" : "#033", - "drilldown" : "033", - "y" : 112 - }, - { - "name" : "#034", - "y" : 66, - "drilldown" : "034" - }, - { - "drilldown" : "035", - "y" : 66, - "name" : "#035" - }, - { - "name" : "#036", - "drilldown" : "036", - "y" : 68 - }, - { - "name" : "#037", - "drilldown" : "037", - "y" : 67 - }, - { - "name" : "#038", - "y" : 68, - "drilldown" : "038" - }, - { - "name" : "#039", - "drilldown" : "039", - "y" : 62 - }, - { - "name" : "#040", - "drilldown" : "040", - "y" : 73 - }, - { - "y" : 76, - "drilldown" : "041", - "name" : "#041" - }, - { - "drilldown" : "042", - "y" : 92, - "name" : "#042" - }, - { - "name" : "#043", - "drilldown" : "043", - "y" : 68 - }, - { - "name" : "#044", - "drilldown" : "044", - "y" : 85 - }, - { - "y" : 96, - "drilldown" : "045", - "name" : "#045" - }, - { - "name" : "#046", - "y" : 87, - "drilldown" : "046" - }, - { - "drilldown" : "047", - "y" : 84, - "name" : "#047" - }, - { - "name" : "#048", - "y" : 108, - "drilldown" : "048" - }, - { - "y" : 89, - "drilldown" : "049", - "name" : "#049" - }, - { - "y" : 98, - "drilldown" : "050", - "name" : "#050" - }, - { - "name" : "#051", - "y" : 89, - "drilldown" : "051" - }, - { - "name" : "#052", - "drilldown" : "052", - "y" : 91 - }, - { - "name" : "#053", - "y" : 101, - "drilldown" : "053" - }, - { - "drilldown" : "054", - "y" : 103, - "name" : "#054" - }, - { - "name" : "#055", - "y" : 88, - "drilldown" : "055" - }, - { - "name" : "#056", - "y" : 95, - "drilldown" : "056" - }, - { - "name" : "#057", - "y" : 80, - "drilldown" : "057" - }, - { - "name" : "#058", - "y" : 69, - "drilldown" : "058" - }, - { - "name" : "#059", - "drilldown" : "059", - "y" : 89 - }, - { - "name" : "#060", - "drilldown" : "060", - "y" : 85 - }, - { - "y" : 81, - "drilldown" : "061", - "name" : "#061" - }, - { - "name" : "#062", - "y" : 58, - "drilldown" : "062" - }, - { - "drilldown" : "063", - "y" : 89, - "name" : "#063" - }, - { - "name" : "#064", - "y" : 80, - "drilldown" : "064" - }, - { - "drilldown" : "065", - "y" : 73, - "name" : "#065" - }, - { - "name" : "#066", - "y" : 84, - "drilldown" : "066" - }, - { - "name" : "#067", - "drilldown" : "067", - "y" : 90 - }, - { - "drilldown" : "068", - "y" : 75, - "name" : "#068" - }, - { - "drilldown" : "069", - "y" : 83, - "name" : "#069" - }, - { - "name" : "#070", - "y" : 93, - "drilldown" : "070" - }, - { - "name" : "#071", - "drilldown" : "071", - "y" : 78 - }, - { - "name" : "#072", - "drilldown" : "072", - "y" : 112 - }, - { - "y" : 110, - "drilldown" : "073", - "name" : "#073" - }, - { - "drilldown" : "074", - "y" : 115, - "name" : "#074" - }, - { - "name" : "#075", - "drilldown" : "075", - "y" : 115 - }, - { - "name" : "#076", - "drilldown" : "076", - "y" : 101 - }, - { - "y" : 98, - "drilldown" : "077", - "name" : "#077" - }, - { - "name" : "#078", - "y" : 127, - "drilldown" : "078" - }, - { - "name" : "#079", - "drilldown" : "079", - "y" : 122 - }, - { - "y" : 127, - "drilldown" : "080", - "name" : "#080" - }, - { - "name" : "#081", - "y" : 114, - "drilldown" : "081" - }, - { - "name" : "#082", - "y" : 114, - "drilldown" : "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" - }, - { - "name" : "#087", - "y" : 101, - "drilldown" : "087" - }, - { - "y" : 121, - "drilldown" : "088", - "name" : "#088" - }, - { - "name" : "#089", - "y" : 113, - "drilldown" : "089" - }, - { - "y" : 113, - "drilldown" : "090", - "name" : "#090" - }, - { - "drilldown" : "091", - "y" : 108, - "name" : "#091" - }, - { - "name" : "#092", - "drilldown" : "092", - "y" : 98 - }, - { - "name" : "#093", - "y" : 87, - "drilldown" : "093" - }, - { - "y" : 87, - "drilldown" : "094", - "name" : "#094" - }, - { - "drilldown" : "095", - "y" : 108, - "name" : "#095" - }, - { - "name" : "#096", - "y" : 108, - "drilldown" : "096" - }, - { - "name" : "#097", - "drilldown" : "097", - "y" : 111 - }, - { - "name" : "#098", - "y" : 108, - "drilldown" : "098" - }, - { - "drilldown" : "099", - "y" : 97, - "name" : "#099" - }, - { - "name" : "#100", - "drilldown" : "100", - "y" : 120 - }, - { - "name" : "#101", - "drilldown" : "101", - "y" : 83 - }, - { - "name" : "#102", - "y" : 90, - "drilldown" : "102" - }, - { - "drilldown" : "103", - "y" : 79, - "name" : "#103" - }, - { - "drilldown" : "104", - "y" : 85, - "name" : "#104" - }, - { - "y" : 75, - "drilldown" : "105", - "name" : "#105" - }, - { - "name" : "#106", - "drilldown" : "106", - "y" : 97 - }, - { - "drilldown" : "107", - "y" : 90, - "name" : "#107" - }, - { - "name" : "#108", - "drilldown" : "108", - "y" : 94 - }, - { - "name" : "#109", - "y" : 107, - "drilldown" : "109" - }, - { - "y" : 108, - "drilldown" : "110", - "name" : "#110" - }, - { - "name" : "#111", - "drilldown" : "111", - "y" : 91 - }, - { - "name" : "#112", - "y" : 92, - "drilldown" : "112" - }, - { - "y" : 92, - "drilldown" : "113", - "name" : "#113" - }, - { - "y" : 108, - "drilldown" : "114", - "name" : "#114" - }, - { - "name" : "#115", - "y" : 96, - "drilldown" : "115" - }, - { - "drilldown" : "116", - "y" : 95, - "name" : "#116" - }, - { - "name" : "#117", - "y" : 97, - "drilldown" : "117" - }, - { - "name" : "#118", - "drilldown" : "118", - "y" : 83 - }, - { - "name" : "#119", - "y" : 125, - "drilldown" : "119" - }, - { - "name" : "#120", - "y" : 116, - "drilldown" : "120" - }, - { - "y" : 92, - "drilldown" : "121", - "name" : "#121" - }, - { - "name" : "#122", - "y" : 110, - "drilldown" : "122" - }, - { - "name" : "#123", - "drilldown" : "123", - "y" : 105 - }, - { - "drilldown" : "124", - "y" : 85, - "name" : "#124" - }, - { - "y" : 63, - "drilldown" : "125", - "name" : "#125" - }, - { - "name" : "#126", - "y" : 113, - "drilldown" : "126" - }, - { - "drilldown" : "127", - "y" : 110, - "name" : "#127" - }, - { - "name" : "#128", - "y" : 71, - "drilldown" : "128" - }, - { - "name" : "#129", - "drilldown" : "129", - "y" : 50 - }, - { - "name" : "#130", - "y" : 73, - "drilldown" : "130" - }, - { - "name" : "#131", - "drilldown" : "131", - "y" : 91 - }, - { - "drilldown" : "132", - "y" : 78, - "name" : "#132" - }, - { - "drilldown" : "133", - "y" : 95, - "name" : "#133" - }, - { - "name" : "#134", - "y" : 94, - "drilldown" : "134" - }, - { - "name" : "#135", - "drilldown" : "135", - "y" : 104 - }, - { - "name" : "#136", - "drilldown" : "136", - "y" : 95 - }, - { - "y" : 100, - "drilldown" : "137", - "name" : "#137" - }, - { - "name" : "#138", - "drilldown" : "138", - "y" : 100 - }, - { - "drilldown" : "139", - "y" : 97, - "name" : "#139" - }, - { - "name" : "#140", - "drilldown" : "140", - "y" : 103 - }, - { - "name" : "#141", - "y" : 102, - "drilldown" : "141" - }, - { - "y" : 83, - "drilldown" : "142", - "name" : "#142" - }, - { - "name" : "#143", - "drilldown" : "143", - "y" : 81 - }, - { - "y" : 85, - "drilldown" : "144", - "name" : "#144" - }, - { - "name" : "#145", - "y" : 91, - "drilldown" : "145" - }, - { - "y" : 46, - "drilldown" : "146", - "name" : "#146" - } - ] - } - ], - "title" : { - "text" : "The Weekly Challenge Language" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-01-04 21:57:59 GMT" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "legend" : { - "enabled" : "false" - }, "drilldown" : { "series" : [ { @@ -789,7 +20,6 @@ "id" : "001" }, { - "id" : "002", "name" : "002", "data" : [ [ @@ -804,9 +34,11 @@ "Blog", 10 ] - ] + ], + "id" : "002" }, { + "name" : "003", "data" : [ [ "Perl", @@ -821,11 +53,9 @@ 9 ] ], - "name" : "003", "id" : "003" }, { - "name" : "004", "data" : [ [ "Perl", @@ -840,10 +70,11 @@ 10 ] ], - "id" : "004" + "id" : "004", + "name" : "004" }, { - "id" : "005", + "name" : "005", "data" : [ [ "Perl", @@ -858,7 +89,7 @@ 12 ] ], - "name" : "005" + "id" : "005" }, { "data" : [ @@ -875,10 +106,11 @@ 7 ] ], - "name" : "006", - "id" : "006" + "id" : "006", + "name" : "006" }, { + "name" : "007", "id" : "007", "data" : [ [ @@ -893,12 +125,9 @@ "Blog", 10 ] - ], - "name" : "007" + ] }, { - "id" : "008", - "name" : "008", "data" : [ [ "Perl", @@ -912,7 +141,9 @@ "Blog", 12 ] - ] + ], + "id" : "008", + "name" : "008" }, { "name" : "009", @@ -934,7 +165,6 @@ }, { "id" : "010", - "name" : "010", "data" : [ [ "Perl", @@ -948,11 +178,11 @@ "Blog", 11 ] - ] + ], + "name" : "010" }, { "id" : "011", - "name" : "011", "data" : [ [ "Perl", @@ -966,7 +196,8 @@ "Blog", 10 ] - ] + ], + "name" : "011" }, { "data" : [ @@ -983,10 +214,11 @@ 11 ] ], - "name" : "012", - "id" : "012" + "id" : "012", + "name" : "012" }, { + "id" : "013", "data" : [ [ "Perl", @@ -1001,11 +233,9 @@ 13 ] ], - "name" : "013", - "id" : "013" + "name" : "013" }, { - "name" : "014", "data" : [ [ "Perl", @@ -1020,10 +250,10 @@ 15 ] ], - "id" : "014" + "id" : "014", + "name" : "014" }, { - "id" : "015", "data" : [ [ "Perl", @@ -1038,10 +268,10 @@ 15 ] ], + "id" : "015", "name" : "015" }, { - "id" : "016", "name" : "016", "data" : [ [ @@ -1056,7 +286,8 @@ "Blog", 12 ] - ] + ], + "id" : "016" }, { "data" : [ @@ -1073,10 +304,12 @@ 12 ] ], - "name" : "017", - "id" : "017" + "id" : "017", + "name" : "017" }, { + "name" : "018", + "id" : "018", "data" : [ [ "Perl", @@ -1090,13 +323,10 @@ "Blog", 14 ] - ], - "name" : "018", - "id" : "018" + ] }, { "id" : "019", - "name" : "019", "data" : [ [ "Perl", @@ -1110,9 +340,12 @@ "Blog", 13 ] - ] + ], + "name" : "019" }, { + "name" : "020", + "id" : "020", "data" : [ [ "Perl", @@ -1126,13 +359,11 @@ "Blog", 13 ] - ], - "name" : "020", - "id" : "020" + ] }, { - "id" : "021", "name" : "021", + "id" : "021", "data" : [ [ "Perl", @@ -1149,7 +380,6 @@ ] }, { - "id" : "022", "data" : [ [ "Perl", @@ -1164,10 +394,10 @@ 10 ] ], + "id" : "022", "name" : "022" }, { - "name" : "023", "data" : [ [ "Perl", @@ -1182,9 +412,12 @@ 12 ] ], - "id" : "023" + "id" : "023", + "name" : "023" }, { + "name" : "024", + "id" : "024", "data" : [ [ "Perl", @@ -1198,9 +431,7 @@ "Blog", 11 ] - ], - "name" : "024", - "id" : "024" + ] }, { "name" : "025", @@ -1235,12 +466,11 @@ 10 ] ], - "name" : "026", - "id" : "026" + "id" : "026", + "name" : "026" }, { "id" : "027", - "name" : "027", "data" : [ [ "Perl", @@ -1254,10 +484,11 @@ "Blog", 9 ] - ] + ], + "name" : "027" }, { - "name" : "028", + "id" : "028", "data" : [ [ "Perl", @@ -1272,11 +503,10 @@ 9 ] ], - "id" : "028" + "name" : "028" }, { "id" : "029", - "name" : "029", "data" : [ [ "Perl", @@ -1290,10 +520,10 @@ "Blog", 12 ] - ] + ], + "name" : "029" }, { - "name" : "030", "data" : [ [ "Perl", @@ -1308,9 +538,12 @@ 10 ] ], - "id" : "030" + "id" : "030", + "name" : "030" }, { + "name" : "031", + "id" : "031", "data" : [ [ "Perl", @@ -1324,9 +557,7 @@ "Blog", 9 ] - ], - "name" : "031", - "id" : "031" + ] }, { "data" : [ @@ -1343,12 +574,10 @@ 10 ] ], - "name" : "032", - "id" : "032" + "id" : "032", + "name" : "032" }, { - "id" : "033", - "name" : "033", "data" : [ [ "Perl", @@ -1362,7 +591,9 @@ "Blog", 10 ] - ] + ], + "id" : "033", + "name" : "033" }, { "name" : "034", @@ -1397,8 +628,8 @@ 9 ] ], - "name" : "035", - "id" : "035" + "id" : "035", + "name" : "035" }, { "name" : "036", @@ -1419,7 +650,7 @@ "id" : "036" }, { - "id" : "037", + "name" : "037", "data" : [ [ "Perl", @@ -1434,10 +665,10 @@ 9 ] ], - "name" : "037" + "id" : "037" }, { - "id" : "038", + "name" : "038", "data" : [ [ "Perl", @@ -1452,9 +683,11 @@ 12 ] ], - "name" : "038" + "id" : "038" }, { + "name" : "039", + "id" : "039", "data" : [ [ "Perl", @@ -1468,12 +701,9 @@ "Blog", 12 ] - ], - "name" : "039", - "id" : "039" + ] }, { - "id" : "040", "name" : "040", "data" : [ [ @@ -1488,10 +718,10 @@ "Blog", 10 ] - ] + ], + "id" : "040" }, { - "id" : "041", "name" : "041", "data" : [ [ @@ -1506,10 +736,12 @@ "Blog", 9 ] - ] + ], + "id" : "041" }, { "name" : "042", + "id" : "042", "data" : [ [ "Perl", @@ -1523,11 +755,11 @@ "Blog", 11 ] - ], - "id" : "042" + ] }, { "name" : "043", + "id" : "043", "data" : [ [ "Perl", @@ -1541,10 +773,10 @@ "Blog", 11 ] - ], - "id" : "043" + ] }, { + "name" : "044", "data" : [ [ "Perl", @@ -1559,10 +791,11 @@ 11 ] ], - "name" : "044", "id" : "044" }, { + "name" : "045", + "id" : "045", "data" : [ [ "Perl", @@ -1576,13 +809,9 @@ "Blog", 11 ] - ], - "name" : "045", - "id" : "045" + ] }, { - "id" : "046", - "name" : "046", "data" : [ [ "Perl", @@ -1596,10 +825,12 @@ "Blog", 10 ] - ] + ], + "id" : "046", + "name" : "046" }, { - "id" : "047", + "name" : "047", "data" : [ [ "Perl", @@ -1614,10 +845,9 @@ 10 ] ], - "name" : "047" + "id" : "047" }, { - "id" : "048", "name" : "048", "data" : [ [ @@ -1632,7 +862,8 @@ "Blog", 12 ] - ] + ], + "id" : "048" }, { "data" : [ @@ -1649,10 +880,12 @@ 12 ] ], - "name" : "049", - "id" : "049" + "id" : "049", + "name" : "049" }, { + "name" : "050", + "id" : "050", "data" : [ [ "Perl", @@ -1666,13 +899,10 @@ "Blog", 12 ] - ], - "name" : "050", - "id" : "050" + ] }, { "id" : "051", - "name" : "051", "data" : [ [ "Perl", @@ -1686,7 +916,8 @@ "Blog", 11 ] - ] + ], + "name" : "051" }, { "id" : "052", @@ -1708,6 +939,7 @@ }, { "name" : "053", + "id" : "053", "data" : [ [ "Perl", @@ -1721,11 +953,9 @@ "Blog", 15 ] - ], - "id" : "053" + ] }, { - "id" : "054", "data" : [ [ "Perl", @@ -1740,10 +970,10 @@ 18 ] ], + "id" : "054", "name" : "054" }, { - "id" : "055", "name" : "055", "data" : [ [ @@ -1758,9 +988,11 @@ "Blog", 14 ] - ] + ], + "id" : "055" }, { + "name" : "056", "id" : "056", "data" : [ [ @@ -1775,12 +1007,9 @@ "Blog", 16 ] - ], - "name" : "056" + ] }, { - "id" : "057", - "name" : "057", "data" : [ [ "Perl", @@ -1794,10 +1023,12 @@ "Blog", 15 ] - ] + ], + "id" : "057", + "name" : "057" }, { - "id" : "058", + "name" : "058", "data" : [ [ "Perl", @@ -1812,10 +1043,11 @@ 13 ] ], - "name" : "058" + "id" : "058" }, { "name" : "059", + "id" : "059", "data" : [ [ "Perl", @@ -1829,11 +1061,10 @@ "Blog", 16 ] - ], - "id" : "059" + ] }, { - "name" : "060", + "id" : "060", "data" : [ [ "Perl", @@ -1848,10 +1079,10 @@ 16 ] ], - "id" : "060" + "name" : "060" }, { - "name" : "061", + "id" : "061", "data" : [ [ "Perl", @@ -1866,7 +1097,7 @@ 14 ] ], - "id" : "061" + "name" : "061" }, { "name" : "062", @@ -1887,6 +1118,8 @@ "id" : "062" }, { + "name" : "063", + "id" : "063", "data" : [ [ "Perl", @@ -1900,12 +1133,9 @@ "Blog", 13 ] - ], - "name" : "063", - "id" : "063" + ] }, { - "id" : "064", "data" : [ [ "Perl", @@ -1920,10 +1150,10 @@ 16 ] ], + "id" : "064", "name" : "064" }, { - "name" : "065", "data" : [ [ "Perl", @@ -1938,10 +1168,10 @@ 15 ] ], - "id" : "065" + "id" : "065", + "name" : "065" }, { - "name" : "066", "data" : [ [ "Perl", @@ -1956,10 +1186,11 @@ 14 ] ], - "id" : "066" + "id" : "066", + "name" : "066" }, { -