diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-09-06 23:23:20 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-09-06 23:23:20 +0100 |
| commit | 9243d575d94496da3a0f25d0f01d4d5ebaeb5eda (patch) | |
| tree | b18f8962a988efdd7fe78d4dfbb19098424e3afe | |
| parent | 1b015112157d375d1646e1b5d7f0ae003485ae4d (diff) | |
| download | perlweeklychallenge-club-9243d575d94496da3a0f25d0f01d4d5ebaeb5eda.tar.gz perlweeklychallenge-club-9243d575d94496da3a0f25d0f01d4d5ebaeb5eda.tar.bz2 perlweeklychallenge-club-9243d575d94496da3a0f25d0f01d4d5ebaeb5eda.zip | |
- Added solutions by Colin Crain.
| -rw-r--r-- | challenge-076/colin-crain/perl/ch-1.pl | 105 | ||||
| -rw-r--r-- | challenge-076/colin-crain/perl/ch-2.pl | 175 | ||||
| -rw-r--r-- | challenge-076/colin-crain/raku/ch-1.raku | 70 | ||||
| -rw-r--r-- | challenge-076/colin-crain/raku/ch-2.raku | 111 | ||||
| -rw-r--r-- | stats/pwc-current.json | 262 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 72 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1130 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 742 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 116 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 34 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 92 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 418 |
16 files changed, 1981 insertions, 1512 deletions
diff --git a/challenge-076/colin-crain/perl/ch-1.pl b/challenge-076/colin-crain/perl/ch-1.pl new file mode 100644 index 0000000000..9412a45713 --- /dev/null +++ b/challenge-076/colin-crain/perl/ch-1.pl @@ -0,0 +1,105 @@ +#! /opt/local/bin/perl +# +# goldbach_variations.pl +# +# TASK #1 › Prime Sum +# Submitted by: Mohammad S Anwar +# Reviewed by: Ryan Thompson +# You are given a number $N. Write a script to find the minimum number +# of prime numbers required, whose summation gives you $N. +# +# For the sake of this task, please assume 1 is not a prime number. +# +# Example: +# Input: +# $N = 9 +# +# Ouput: +# 2 as sum of 2 prime numbers i.e. 2 and 7 is same as the input number. +# 2 + 7 = 9. +# +# +# method: +# we'll need all the prime numbers up to the input, because we'll start +# at the top. Look at highest lower prime, subtract and se if remainder +# is prime, which is easy as we'll have the values. Continue until 1/2 +# way. Then assume smaller numbers will have fewer prime sums, so +# largest prime and try and make 2-sums with smaller part. What's the +# largest value, mathematically? +# +# +# +# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; +use DDP; + +## ## ## ## ## MAIN: + +my $num = shift @ARGV // 57; +my ($primes, $lookup, $result); + +$primes = make_prime_list($num); +$lookup = { map { $_ => 1 } $primes->@* }; + +## descend through the cases, in increasing complexity +if ($num == $primes->[-1]) { + $result = [$num]; +} +elsif ($num % 2 == 0 ) { + $result = get_prime_pair($num, $primes, $lookup); +} +elsif (exists $lookup->{ $num-2 }) { + $result = [$num-2, 2]; +} +else { + my $diff = $num - @{$primes}[-1]; + $result = [ $primes->[-1], get_prime_pair($diff)->@* ]; +} + +say "$num = ( ", (join ' + ', @$result), " )"; + + +## ## ## ## ## SUBS: + +sub make_prime_list { +## creates a list of all primes less than or equal to a given number + my $max = shift; + my @output = (2); + CANDIDATE: for( my $candidate = 3; $candidate <= $max; $candidate += 2 ) { + my $sqrt_candidate = sqrt( $candidate ); + for( my $test = 3; $test <= $sqrt_candidate; $test += 2 ) { + next CANDIDATE if $candidate % $test == 0; + } + push @output, $candidate; + } + return \@output; +} + +sub get_prime_pair { +## given an even number returns two primes that sum to it +## if $primes and $lookup are absent, makes new ones for $num + my ( $num, $primes, $lookup ) = @_; + if (not defined $primes) { + $primes = make_prime_list($num); + $lookup = { map { $_ => 1 } $primes->@* }; + }; + + my $i = @$primes; + while (--$i >= 0) { + my $diff = $num - $primes->[$i]; + if ( exists $lookup->{ $diff } ) { + return [$primes->[$i], $diff]; + last; + } + } + return undef; +}
\ No newline at end of file diff --git a/challenge-076/colin-crain/perl/ch-2.pl b/challenge-076/colin-crain/perl/ch-2.pl new file mode 100644 index 0000000000..f631c94019 --- /dev/null +++ b/challenge-076/colin-crain/perl/ch-2.pl @@ -0,0 +1,175 @@ +#! /opt/local/bin/perl +# +# where_is_wigged.pl +# +# "departed succor blunts malignant social viruses" +# +# it's an unexpectedly dark list of hidden words +# +# TASK #2 › Word Search +# Submitted by: Neil Bowers +# Reviewed by: Ryan Thompson +# Write a script that takes two file names. The first file would +# contain word search grid as shown below. The second file contains +# list of words, one word per line. You could even use local +# dictionary file. +# +# Print out a list of all words seen on the grid, looking both +# orthogonally and diagonally, backwards as well as forwards. +# +# Search Grid +# B I D E M I A T S U C C O R S T +# L D E G G I W Q H O D E E H D P +# U S E I R U B U T E A S L A G U +# N G N I Z I L A I C O S C N U D +# T G M I D S T S A R A R E I F G +# S R E N M D C H A S I V E E L I +# S C S H A E U E B R O A D M T E +# H W O V L P E D D L A I U L S S +# R Y O N L A S F C S T A O G O T +# I G U S S R R U G O V A R Y O C +# N R G P A T N A N G I L A M O O +# E I H A C E I V I R U S E S E D +# S E T S U D T T G A R L I C N H +# H V R M X L W I U M S N S O T B +# A E A O F I L C H T O D C A E U +# Z S C D F E C A A I I R L N R F +# A R I I A N Y U T O O O U T P F +# R S E C I S N A B O S C N E R A +# D R S M P C U U N E L T E S I L +# Output +# Found 55 words of length 5 or more when checked against the local +# dictionary. You may or may not get the same result but that is fine. +# +# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN: + +my $file = shift @ARGV // 'wordsearch.txt'; +my $dict = shift @ARGV // '/usr/share/dict/words'; +my $MINWORD = shift @ARGV // 5; + +my $matrix = load_search_matrix($file); +print_matrix($matrix); + +my $words = build_word_hash($dict); + +my @possibles; + +my $height = @$matrix - 1; +my $width = $matrix->[0]->@* - 1 ; + +for my $y (0..$height) { + for my $x (0..$width) { + push @possibles, word_vectors( $x, $y, $matrix)->@*; + } +} + +my @output = grep { exists $words->{$_} } @possibles; +say ''; +say "found ", scalar @output, " words of minimum length $MINWORD: \n"; +say for sort @output; + +## ## ## ## ## SUBS: + +sub word_vectors { + my ($x, $y, $matrix) = @_; + my $height = @$matrix - 1; + my $width = $matrix->[0]->@* - 1 ; + my @words; + my @vec ; + my $i; + + ## horz forward + push $vec[0]->@*, $matrix->[$y][$_] for ($x..$width); + + ## horz back + push $vec[1]->@*, $matrix->[$y][$_] for reverse (0..$x); + + ## vert down + push $vec[2]->@*, $matrix->[$_][$x] for ($y..$height); + + ## vert up + push $vec[3]->@*, $matrix->[$_][$x] for reverse (0..$y); + + ## diag down forward + $i = $x; + for ($y..$height) { ## y to height index + last if $i > $width; + push $vec[4]->@*, $matrix->[$_][$i++]; + } + + ## diag down back + $i = $x; + for ($y..$height) { ## y to height index + last if $i < 0; + push $vec[5]->@*, $matrix->[$_][$i--]; + } + + ## diag up forward + $i = $x; + for (reverse (0..$y)) { ## 0 to y + last if $i > $width; + push $vec[6]->@*, $matrix->[$_][$i++]; + } + + ## diag up back + $i = $x; + for (reverse (0..$y)) { ## 0 to y + last if $i < 0; + push $vec[7]->@*, $matrix->[$_][$i--]; + } + + ## turn vectors into strings $MINWORD letters or longer + for my $v (@vec) { + next if @$v < $MINWORD; + my $stem = join '', @$v[0..$MINWORD-2]; + push @words, map { $stem .= $_ } @$v[$MINWORD-1..@$v-1]; + } + + return \@words; +} + +sub load_search_matrix { + my $file = shift; + open my $fh, '<', $file + or die "cannot open file $file: $!\n"; + my @search; + + while (my $line = <$fh>) { + push @search, [split /\s/, $line]; + } + close $fh; + return \@search; +} + +sub print_matrix { + my $matrix = shift; + for (@$matrix) { + say join ' ', @$_; + } +} + +sub build_word_hash { + my $dict = shift; + my %hash; + open my $fh, "<", $dict + or die "can't open $dict to read: $!"; + + while (my $word = <$fh>) { + $word =~ s/[\n\r]//g; + $word = uc($word); + $hash{$word} = 1; + } + return \%hash; +} diff --git a/challenge-076/colin-crain/raku/ch-1.raku b/challenge-076/colin-crain/raku/ch-1.raku new file mode 100644 index 0000000000..5a2c14bb51 --- /dev/null +++ b/challenge-076/colin-crain/raku/ch-1.raku @@ -0,0 +1,70 @@ +#!/usr/bin/env perl6 +# +# +# goldbach_variations.raku +# +# TASK #1 › Prime Sum +# Submitted by: Mohammad S Anwar +# Reviewed by: Ryan Thompson +# You are given a number $N. Write a script to find the minimum number +# of prime numbers required, whose summation gives you $N. +# +# For the sake of this task, please assume 1 is not a prime number. +# +# Example: +# Input: +# $N = 9 +# +# Ouput: +# 2 as sum of 2 prime numbers i.e. 2 and 7 is same as the input number. +# 2 + 7 = 9. +# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN (Int $num where $num > 1 = 51) ; + +## generate prime list and set +## NOTE: using a Set here is an excuse to use the Type and its operators more +## than anything else. Checking individual elements for primeness using +## .is-prime is a much better way of going about it. +my @primes = (2..$num).grep: { .is-prime }; +my $p = @primes.Set; + +## descend through the cases, in increasing complexity +my $result = do given $num { + when @primes.tail { $num.List } + when $_ %% 2 { get_prime_pair($num) } + when $_ - 2 ∈ $p { $num-2, 2 } ## when ($_-2).is-prime {...} is better but less cool + default { @primes.tail, |get_prime_pair($num - @primes.tail) } +}; + +## output +my $quan = $result.elems; +say "$quan\n\n$num can be summed from the $quan primes " ~ $result.join: ' + '; + + +multi get_prime_pair ($num, @primes) { +## calculates prime pairs that add to make number +## give it a prime list to avoid regenerating it +## NOTE: again checking for primeness directly is surely better but less fun, and +## eliminates any need for a multi sub here as well. But multis are cool, too. + my $p = @primes.Set; + my $i = @primes.end; + while ($i > -1) { + return (@primes[$i], $num - @primes[$i]) if ($num - @primes[$i] ∈ $p); + $i--; + } +} + +multi get_prime_pair ($num) { +## without a prime list it will make a new one + my @p = (2..$num).grep: { .is-prime }; + get_prime_pair($num, @p); +} + + diff --git a/challenge-076/colin-crain/raku/ch-2.raku b/challenge-076/colin-crain/raku/ch-2.raku new file mode 100644 index 0000000000..323b7b00bd --- /dev/null +++ b/challenge-076/colin-crain/raku/ch-2.raku @@ -0,0 +1,111 @@ +#!/usr/bin/env perl6 +# +# +# where_is_wigged.raku +# +# "departed succor blunts malignant social viruses" +# +# it's an unexpectedly dark list of hidden words +# +# TASK #2 › Word Search +# Submitted by: Neil Bowers +# Reviewed by: Ryan Thompson +# Write a script that takes two file names. The first file would +# contain word search grid as shown below. The second file contains +# list of words, one word per line. You could even use local +# dictionary file. +# +# Print out a list of all words seen on the grid, looking both +# orthogonally and diagonally, backwards as well as forwards. +# +# Search Grid +# B I D E M I A T S U C C O R S T +# L D E G G I W Q H O D E E H D P +# U S E I R U B U T E A S L A G U +# N G N I Z I L A I C O S C N U D +# T G M I D S T S A R A R E I F G +# S R E N M D C H A S I V E E L I +# S C S H A E U E B R O A D M T E +# H W O V L P E D D L A I U L S S +# R Y O N L A S F C S T A O G O T +# I G U S S R R U G O V A R Y O C +# N R G P A T N A N G I L A M O O +# E I H A C E I V I R U S E S E D +# S E T S U D T T G A R L I C N H +# H V R M X L W I U M S N S O T B +# A E A O F I L C H T O D C A E U +# Z S C D F E C A A I I R L N R F +# A R I I A N Y U T O O O U T P F +# R S E C I S N A B O S C N E R A +# D R S M P C U U N E L T E S I L +# Output +# Found 55 words of length 5 or more when checked against the local +# dictionary. You may or may not get the same result but that is fine. + +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + +## NOTE: when it comes down to it, /dict/words really isn't a very good wordlist. +## lacking common plurals and constructions. My own scrabble dictionary +## has about 50,000 more words, and finds 68 5+ letter words vs. 40 for this. + + +unit sub MAIN (Str $file = 'wordsearch.txt', Str $dict = '/usr/share/dict/words') ; + + +## cfg +my $MINWORD = 5; ## val > 1 + +## in +my @matrix = $file.IO.lines + .map( { .comb(/\w/).cache; } ); ## <-- need to cache the internal Seqs +my %lookup = $dict.IO.lines + .map( { my $copy = $_; $copy.=uc; $copy => 1} ); + +## work +my @possibles; +for 0..@matrix.end -> $y { ## height + for 0..@matrix.head.end -> $x { ## width + @possibles.append: |word_vectors( $x, $y, @matrix); + } +} +my @output = @possibles.grep:{ %lookup{$_}:exists } + +## out +.put for @matrix; +say ''; +say "found ", @output.elems, " words of minimum length $MINWORD: \n"; +.say for sort @output; + +# + + + + + + + + + + + + + + + + + + + + + + + +sub word_vectors ($x, $y, @mat) { + my $height = @mat.end; + my $width = @mat.head.end; + my @words; + my @vectors ; + my $i = $x; + + ## formulae for the 8 vectors + @vectors.push( $_() ) for + { ($x..$width).map: { @mat[$y][$_]} }, ## horz forward + { (0..$x).reverse.map: { @mat[$y][$_]} }, ## horz back + { ($y..$height).map: { @mat[$_][$x]} }, ## vert down + { (0..$y).reverse.map: { @mat[$_][$x]} }, ## vert up + { ($y..$height).map: { last if $i > $width; @mat[$_][$i++] } }, ## diag down forward + { ($y..$height).map: { last if $i < 0; @mat[$_][$i--] } }, ## diag down back + { (0..$y).reverse.map: { last if $i > $width; @mat[$_][$i++] } }, ## diag up forward + { (0..$y).reverse.map: { last if $i < 0; @mat[$_][$i--] } } ; ## diag up back + + ## turn vectors into strings $MINWORD letters or longer + for @vectors -> @v { + $i = $x; ## <-- lazy evaluation in map Seqs above need the reset to be here! + next if @v.elems < $MINWORD; + my $stem = ( @v[0..$MINWORD-2] ).join; + my @vec_words = ( @v[$MINWORD-1..@v.end] ).map: { $stem ~= $_ } ; + @words.push: |@vec_words; + } + return @words; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index e1f788a75f..49c894b663 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,29 +1,24 @@ { - "title" : { - "text" : "Perl Weekly Challenge - 076" - }, - "subtitle" : { - "text" : "[Champions: 28] Last updated at 2020-09-06 21:35:36 GMT" - }, - "xAxis" : { - "type" : "category" - }, - "chart" : { - "type" : "column" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "drilldown" : { "series" : [ { + "id" : "Alexander Pankoff", + "name" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] - ], - "id" : "Alexander Pankoff", - "name" : "Alexander Pankoff" + ] }, { + "name" : "Andinus", + "id" : "Andinus", "data" : [ [ "Perl", @@ -33,9 +28,7 @@ "Blog", 1 ] - ], - "id" : "Andinus", - "name" : "Andinus" + ] }, { "data" : [ @@ -52,8 +45,6 @@ "name" : "Arne Sommer" }, { - "name" : "Athanasius", - "id" : "Athanasius", "data" : [ [ "Perl", @@ -63,7 +54,9 @@ "Raku", 2 ] - ] + ], + "id" : "Athanasius", + "name" : "Athanasius" }, { "data" : [ @@ -80,36 +73,46 @@ "name" : "Cheok-Yin Fung" }, { + "name" : "Colin Crain", + "id" : "Colin Crain", "data" : [ [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ "Blog", 1 ] - ], - "name" : "Colin Crain", - "id" : "Colin Crain" + ] }, { + "name" : "E. Choroba", + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "id" : "E. Choroba", - "name" : "E. Choroba" + ] }, { - "name" : "Jan Krnavek", - "id" : "Jan Krnavek", "data" : [ [ "Raku", 1 ] - ] + ], + "id" : "Jan Krnavek", + "name" : "Jan Krnavek" }, { + "name" : "Javier Luque", + "id" : "Javier Luque", "data" : [ [ "Perl", @@ -123,19 +126,17 @@ "Blog", 1 ] - ], - "name" : "Javier Luque", - "id" : "Javier Luque" + ] }, { - "id" : "Jorg Sommrey", - "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey" }, { "data" : [ @@ -148,6 +149,8 @@ "name" : "Lubos Kolouch" }, { + "id" : "Luca Ferrari", + "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -157,19 +160,17 @@ "Blog", 2 ] - ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + ] }, { - "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { "data" : [ @@ -178,8 +179,8 @@ 2 ] ], - "id" : "Markus Holzer", - "name" : "Markus Holzer" + "name" : "Markus Holzer", + "id" : "Markus Holzer" }, { "id" : "Mohammad S Anwar", @@ -228,14 +229,14 @@ "name" : "Neil Bowers" }, { + "id" : "Niels van Dijke", + "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ], - "name" : "Niels van Dijke", - "id" : "Niels van Dijke" + ] }, { "id" : "Nuno Vieira", @@ -248,14 +249,14 @@ ] }, { + "id" : "Pete Houston", + "name" : "Pete Houston", "data" : [ [ "Perl", 2 ] - ], - "id" : "Pete Houston", - "name" : "Pete Houston" + ] }, { "id" : "Roger Bell_West", @@ -276,6 +277,8 @@ ] }, { + "id" : "Shahed Nooshmand", + "name" : "Shahed Nooshmand", "data" : [ [ "Raku", @@ -285,13 +288,9 @@ "Blog", 1 ] - ], - "name" : "Shahed Nooshmand", - "id" : "Shahed Nooshmand" + ] }, { - "id" : "Simon Green", - "name" : "Simon Green", "data" : [ [ "Perl", @@ -301,7 +300,9 @@ "Blog", 1 ] - ] + ], + "id" : "Simon Green", + "name" : "Simon Green" }, { "data" : [ @@ -310,18 +311,18 @@ 2 ] ], - "id" : "Simon Proctor", - "name" : "Simon Proctor" + "name" : "Simon Proctor", + "id" : "Simon Proctor" }, { + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", 1 ] - ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + ] }, { "data" : [ @@ -334,18 +335,18 @@ 1 ] ], - "name" : "Walt Mankowski", - "id" : "Walt Mankowski" + "id" : "Walt Mankowski", + "name" : "Walt Mankowski" }, { - "name" : "Wanderdoc", - "id" : "Wanderdoc", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Wanderdoc", + "id" : "Wanderdoc" }, { "id" : "Yet Ebreo", @@ -359,15 +360,35 @@ } ] }, + "title" : { + "text" : "Perl Weekly Challenge - 076" + }, + "subtitle" : { + "text" : "[Champions: 28] Last updated at 2020-09-06 22:22:54 GMT" + }, + "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 + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, "series" : [ { - "colorByPoint" : 1, "name" : "Perl Weekly Challenge - 076", + "colorByPoint" : 1, "data" : [ { + "y" : 2, "name" : "Alexander Pankoff", - "drilldown" : "Alexander Pankoff", - "y" : 2 + "drilldown" : "Alexander Pankoff" }, { "drilldown" : "Andinus", @@ -376,33 +397,33 @@ }, { "y" : 3, - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer" + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" }, { "y" : 4, - "drilldown" : "Athanasius", - "name" : "Athanasius" + "name" : "Athanasius", + "drilldown" : "Athanasius" }, { - "y" : 3, "drilldown" : "Cheok-Yin Fung", + "y" : 3, "name" : "Cheok-Yin Fung" }, { "name" : "Colin Crain", - "y" : 1, + "y" : 5, "drilldown" : "Colin Crain" }, { - "name" : "E. Choroba", + "drilldown" : "E. Choroba", "y" : 2, - "drilldown" : "E. Choroba" + "name" : "E. Choroba" }, { + "drilldown" : "Jan Krnavek", "name" : "Jan Krnavek", - "y" : 1, - "drilldown" : "Jan Krnavek" + "y" : 1 }, { "name" : "Javier Luque", @@ -411,28 +432,28 @@ }, { "drilldown" : "Jorg Sommrey", - "y" : 2, - "name" : "Jorg Sommrey" + "name" : "Jorg Sommrey", + "y" : 2 }, { - "name" : "Lubos Kolouch", "y" : 2, + "name" : "Lubos Kolouch", "drilldown" : "Lubos Kolouch" }, { - "name" : "Luca Ferrari", "drilldown" : "Luca Ferrari", - "y" : 4 + "y" : 4, + "name" : "Luca Ferrari" }, { + "name" : "Mark Anderson", "y" : 2, - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson" + "drilldown" : "Mark Anderson" }, { + "name" : "Markus Holzer", "y" : 2, - "drilldown" : "Markus Holzer", - "name" : "Markus Holzer" + "drilldown" : "Markus Holzer" }, { "name" : "Mohammad S Anwar", @@ -441,48 +462,48 @@ }, { "y" : 4, - "drilldown" : "Myoungjin Jeon", - "name" : "Myoungjin Jeon" + "name" : "Myoungjin Jeon", + "drilldown" : "Myoungjin Jeon" }, { + "y" : 2, "name" : "Neil Bowers", - "drilldown" : "Neil Bowers", - "y" : 2 + "drilldown" : "Neil Bowers" }, { + "y" : 2, "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke", - "y" : 2 + "drilldown" : "Niels van Dijke" }, { - "y" : 2, "drilldown" : "Nuno Vieira", + "y" : 2, "name" : "Nuno Vieira" }, { + "name" : "Pete Houston", "y" : 2, - "drilldown" : "Pete Houston", - "name" : "Pete Houston" + "drilldown" : "Pete Houston" }, { - "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West", - "y" : 5 + "y" : 5, + "name" : "Roger Bell_West" }, { + "drilldown" : "Shahed Nooshmand", "name" : "Shahed Nooshmand", - "y" : 3, - "drilldown" : "Shahed Nooshmand" + "y" : 3 }, { + "y" : 3, "name" : "Simon Green", - "drilldown" : "Simon Green", - "y" : 3 + "drilldown" : "Simon Green" }, { + "name" : "Simon Proctor", "y" : 2, - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor" + "drilldown" : "Simon Proctor" }, { "name" : "Ulrich Rieke", @@ -491,42 +512,29 @@ }, { "drilldown" : "Walt Mankowski", - "y" : 3, - "name" : "Walt Mankowski" + "name" : "Walt Mankowski", + "y" : 3 }, { "drilldown" : "Wanderdoc", - "y" : 2, - "name" : "Wanderdoc" + "name" : "Wanderdoc", + "y" : 2 }, { - "y" : 1, "drilldown" : "Yet Ebreo", + "y" : 1, "name" : "Yet Ebreo" } ] } |
