diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-03-07 23:12:08 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-03-07 23:12:08 +0000 |
| commit | db6e266767957e5d14fb5c6e50fa501bf0854470 (patch) | |
| tree | 7e1663abd5aa9416ae5a36c7173c4b74c139d0f8 | |
| parent | 87095753aa7035a33cbbda345f93396c6b7cc0e3 (diff) | |
| download | perlweeklychallenge-club-db6e266767957e5d14fb5c6e50fa501bf0854470.tar.gz perlweeklychallenge-club-db6e266767957e5d14fb5c6e50fa501bf0854470.tar.bz2 perlweeklychallenge-club-db6e266767957e5d14fb5c6e50fa501bf0854470.zip | |
- Added solutions by Colin Crain.
| -rw-r--r-- | challenge-102/colin-crain/perl/ch-1.pl | 255 | ||||
| -rw-r--r-- | challenge-102/colin-crain/perl/ch-2.pl | 132 | ||||
| -rw-r--r-- | stats/pwc-current.json | 457 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 62 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1386 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 368 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 114 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 122 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 54 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 128 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 118 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 504 |
15 files changed, 2178 insertions, 1776 deletions
diff --git a/challenge-102/colin-crain/perl/ch-1.pl b/challenge-102/colin-crain/perl/ch-1.pl new file mode 100644 index 0000000000..7b3c6eb6ea --- /dev/null +++ b/challenge-102/colin-crain/perl/ch-1.pl @@ -0,0 +1,255 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl
+#
+# rare-numbers.pl
+#
+# TASK #1 › Rare Numbers
+# Submitted by: Mohammad S Anwar
+# You are given a positive integer $N.
+#
+# Write a script to generate all Rare numbers of size $N if exists.
+# Please checkout the page for more information about it.
+#
+# Examples
+# (a) 2 digits: 65
+# (b) 6 digits: 621770
+# (c) 9 digits: 281089082
+#
+#
+#
+# method:
+# Let's start by making the broad statement that fast as Perl may be,
+# using an interpreted language for this sort of massive raw computation
+# is just foolish. There is a reason Mr. Gupta chose FORTRAN I assume, for
+# same reason it persists to this day among certain scientific
+# data-crunching adherents: it's fast — very, very fast — at numerical
+# processing.
+#
+# Perl, in all the joy of expressiveness it brings to the table, is just
+# ill-suited. Of course it can be used to attack the problem, but will
+# always run up against certain walls when processing 10 billion numbers.
+#
+# The biggest optimization is limiting the first digit to 2,4,6, or 8, and
+# advancing the iterator one at the outer order of magnitude rather than a
+# simple `next`. This cuts the number of iterations 55% immediately at the
+# cost of the performing one `substr` on the test value.
+#
+# After this, however, it becomes a trade-off on doing more expensive
+# `substr` operations, poking about at extracting individual digits, and
+# the associated conditionals to determine whether to jump to the next
+# iteation, against the rather expensivve `sqrt` operation to check for
+# perfect squares.
+#
+# Needless to say the gains in jumping over a hundred million values are
+# quite a bit more obvious than short-circuiting out to the next
+# incremental candidate.
+
+# Unfortunately the further "optimizations" given are not as effective,
+# ultimately becoming a tradeoff between the iterations and expesive
+# computation saved versus the added ovverhead of implementation,
+# leading to diminishing returns.
+#
+# The next set though, of examining the relationships between the first
+# and last digits, yielded quite good results, reducing the number of
+# squareroot operations about 5 times further. At this point the
+# iterations for a 4-digit value have been reduced from 8999 to start
+# (numbers between 1000 and 9999), to 4399 after filtering for even lead
+# digits, to about 800 after skipping impossible combinations of first
+# and last digits.
+
+# Simply short-circuiting out of an invalid combination of digits did
+# not, however, produce much gain in computation time. Using `next` did
+# not change the actual number of iterations, only avoiding further
+# intensive computation within a given loop. The `substr` operations to
+# gather the relevant digits and the the added complexity ate in to any
+# effort saved, resulting in only a samll tim ereduction.
+#
+# The potential gains were not truly realized until I managed to not
+# just short-circut the loop but reconfigure things entirely to skip
+# whole blocks of values in the incrementation phase, essentially
+# unrolling the large pattern of allowed values over each set of
+# permissable combinations. This required a new counter for the tens
+# place that allowed proper rollovers between the sets.
+#
+# This was pretty tedious work, but paid off in a nearly fourfold
+# increase in execution speed.
+#
+# Further implementation of the second and second-to-last digits was not
+# nearly as effective. In the end the reduction was minimal and all the
+# unrolled incrementation was, well tedious no longer covered it.
+#
+# It felt a lot like assembler, to be honest, so rather than attempt to
+# refine it further it was clear there would be no more orders of
+# magnitude available to trim ahead of us. I threw in the towel at
+# 10-digit numbers, taking 509 seconds to find the 2 rare numbers there.
+#
+#
+#
+#
+# The abandoned next level of complexity. Unrolling these loops could
+# be done, but would be maddening, and the only way to see any gains.
+#
+# If A == 8 then Z == 2, 3, 7 or 8:
+# if Z = 2 then:
+# B + tens == 9,
+# if Z = 3 then:
+# B - tens == 7 when B > tens
+# B - tens == -3 when B < tens
+# B can never be equal to tens,
+# if Z == 7 then:
+# B + tens == 11 when B > 1
+# B + tens == 1 when B < 1,
+# if Z == 8 then B == tens.
+#
+#
+#
+# © 2021 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+use warnings;
+use strict;
+use feature ":5.26";
+
+my $then = time;
+
+my $order = shift @ARGV || 9;
+
+my $test = 10**($order-1);
+my $end = 10**$order;
+my @out;
+
+my $tens = 0;
+
+while ($test < $end) {
+
+ my $A = substr $test, 0, 1;
+ if ($A % 2 == 1) {
+ $test += 10**($order-1);
+ next;
+ }
+
+ my $Z = substr $test, -1, 1;
+
+ ## 2s
+ if ($A == 2 and $Z == 0) {
+ $test += 2;
+ }
+ elsif ($A == 2 and $Z > 2) {
+ if ($tens == 9) {
+ $test += 7;
+ $tens = 0;
+ next;
+ }
+ $test += 9;
+ $tens++;
+ }
+
+ ## 4s
+ if ($A == 4 and $Z > 0) {
+ if ($tens == 9) {
+ $test += 9;
+ $tens = 0;
+ next;
+ }
+ $test += 9;
+ $tens++;
+ }
+
+ ## 6s
+ if ($A == 6 and $Z == 1) {
+ $test += 4;
+ }
+ elsif ($A == 6 and $Z == 6) {
+ if ($tens == 9) {
+ $test += 4;
+ $tens = 0;
+ next;
+ }
+ $test += 4;
+ $tens++;
+ }
+
+ ## 8s
+ if ($A == 8 and $Z == 0) {
+ $test += 2;
+ }
+ elsif ($A == 8 and $Z == 4) {
+ $test += 3;
+ }
+ elsif ($A == 8 and $Z == 9) {
+ if ($tens == 9) {
+ $test += 1;
+ $tens = 0;
+ next;
+ }
+ $test +=3;
+ $tens++;
+ }
+
+
+## the second and second-to-last optimizations, not yet unrolled:
+## 333 seconds for order == 9
+#
+# my $A = substr $test, 0, 1;
+# $A % 2 == 1 and $test += 10**($order-1);
+#
+# my $B = substr $test, 1, 1;
+# my $P = substr $test, -2, 1;
+# my $Q = substr $test, -1, 1;
+#
+# if ($A == 2) {
+# next if $Q != 2;
+# next unless ($B - $P) % 2 == 0;
+# }
+# elsif ($A == 4) {
+# next if $Q != 0;
+# next unless abs(($B - $P) % 2) == 1;
+# }
+# elsif ($A == 6) {
+# next unless ($Q == 0 or $Q == 5);
+# }
+# else { ## $A == 8
+# if ($Q == 2) {
+# next unless $B + $P == 9;
+# }
+# elsif ($Q == 3) {
+# next if $B == $P;
+# if ( $B > $P ) {
+# next unless $B - $P == 7;
+# }
+# next unless $B - $P == -3;
+# }
+# elsif ($Q == 7) {
+# if ($B > 1) {
+# next unless $B + $P == 11;
+# }
+# if ($B == 0) {
+# next unless $P == 1;
+# }
+# }
+# elsif ($Q == 8) {
+# next unless $B == $P;
+# }
+# else {
+# next;
+# }
+# }
+
+ my $rev = reverse $test;
+ if ( $test == $rev
+ or $test - $rev < 0
+ or int(sqrt($test-$rev))**2 != ($test-$rev)
+ or int(sqrt($test+$rev))**2 != ($test+$rev) ) {
+ $test++;
+ next;
+ }
+
+ push @out, $test;
+ $test++;
+}
+
+say $_ for @out;
+
+say "time: ", time - $then;
+
diff --git a/challenge-102/colin-crain/perl/ch-2.pl b/challenge-102/colin-crain/perl/ch-2.pl new file mode 100644 index 0000000000..9a6e63c9eb --- /dev/null +++ b/challenge-102/colin-crain/perl/ch-2.pl @@ -0,0 +1,132 @@ +#! /opt/local/bin/perl
+#
+# puzzlehash.pl
+#
+# TASK #2 › Hash-counting String
+# Submitted by: Stuart Little
+# You are given a positive integer $N.
+#
+# Write a script to produce Hash-counting string of that length.
+#
+# The definition of a hash-counting string is as follows:
+#
+# - the string consists only of digits 0-9 and hashes, ‘#’
+# - there are no two consecutive hashes: ‘##’ does not appear in your
+# string
+# - the last character is a hash
+# - the number immediately preceding each hash (if it exists) is the
+# position of that hash in the string, with the position being counted
+# up from 1
+#
+# It can be shown that for every positive integer N there is exactly one such length-N string.
+#
+# Examples:
+# (a) "#" is the counting string of length 1
+# (b) "2#" is the counting string of length 2
+# (c) "#3#" is the string of length 3
+# (d) "#3#5#7#10#" is the string of length 10
+# (e) "2#4#6#8#11#14#" is the string of length 14
+
+# method:
+#
+# ok this one is outright weird. It seems to be simply an analytical
+# puzzle rather than having any practical significance. So rather than
+# research a solution I think I'll just attack it logically and see
+# what happens.
+#
+# 1. The last character is a hash, and no two hashes can be placed
+# successively, thus the character before the final hash is a digit,
+# indicating the position of that hash.
+#
+# 2. The length of the string is the quantity being "counted" here. I
+# think they kind of buried the lede on that one. No matter, it's
+# still all there in the description.
+#
+# 3. Thus the last hash will be in position N, and the number
+# preceeding will be N.
+#
+# 4. The character preceeding the number N can be any digit or a hash,
+# but should it be a digit, it would have no significance. As such any
+# digit would do, leading to the ability to construct 10 such stings
+# with the various digits in this place. As we are told the string is
+# unique, this is a contradiction, and thus the next character must be
+# a hash.
+
+# 4.1 It is not explicitly defined as to whether all of the digits
+# perceeding a given hash compose the number defining its position,
+# for example a string starting with 104#, with only the 4
+# referencing the hash in the 4th position. In any case this case is
+# moot considering the previous logic. Alternately should this be
+# defined as true, that the number should be composed of all possible
+# digits, then the other argument becomes moot, as the string must by
+# necessity alternate numbers and hash marks functioning as
+# separators.
+#
+# 4.2. I believe this line of reasoning is required to deduce the
+# uniqueness of one string per length quality
+#
+# 5. Generalizing, the string is composed solely of alternating hashes
+# and numbers, with the number preceeding each hash indicating the
+# position of that hash.
+#
+# 6. The positions are 1-based, rather than 0-based indexes.
+#
+# So the algorithm is to start at the end of the string, placing a
+# hash in the N-th position, counted starting at 1. We then
+# concatenate the position of that hash to the string and count our
+# length. If it is less than N, add a hash. If it was N-1 we are done,
+# else we need to loop and add the numerical poistion of the
+# last-placed hash to the front of the string. As we approach the
+# front of our string, we are guarenteed that the position indicating
+# numbers will become single-digit, so our last-placed character will
+# either be a hash or a single digit 2 indicating the position of hash
+# following in the second place.
+#
+# What a weird, fun little puzzle.
+
+#
+# © 2021 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+use warnings;
+use strict;
+use feature ":5.26";
+use feature qw(signatures);
+no warnings 'experimental::signatures';
+
+for (1..32) {
+ say sprintf "%2d -> %s", $_, get_hash_string( $_ );
+}
+
+sub get_hash_string ( $num ) {
+ my $str = '';
+
+ while ( my $pos = $num - length $str ) {
+ $str = '#' . $str;
+ return $str if $pos == 1;
+ $str = $pos . $str;
+ }
+
+ return $str;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# use Test::More;
+#
+# is
+#
+# done_testing();
diff --git a/stats/pwc-current.json b/stats/pwc-current.json index c7bdbcd4a6..86f7fd79c7 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,174 +1,8 @@ { - "legend" : { - "enabled" : 0 - }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 102", - "data" : [ - { - "drilldown" : "Aaron Smith", - "y" : 3, - "name" : "Aaron Smith" - }, - { - "name" : "Abigail", - "y" : 4, - "drilldown" : "Abigail" - }, - { - "name" : "Adam Russell", - "y" : 4, - "drilldown" : "Adam Russell" - }, - { - "y" : 1, - "name" : "Alexander Karelas", - "drilldown" : "Alexander Karelas" - }, - { - "y" : 5, - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer" - }, - { - "y" : 4, - "name" : "Athanasius", - "drilldown" : "Athanasius" - }, - { - "name" : "Bob Lied", - "y" : 1, - "drilldown" : "Bob Lied" - }, - { - "drilldown" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", - "y" : 2 - }, - { - "y" : 1, - "name" : "Cristina Heredia", - "drilldown" : "Cristina Heredia" - }, - { - "y" : 3, - "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby" - }, - { - "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "drilldown" : "Flavio Poletti", - "y" : 4, - "name" : "Flavio Poletti" - }, - { - "name" : "Gustavo Chaves", - "y" : 2, - "drilldown" : "Gustavo Chaves" - }, - { - "drilldown" : "James Smith", - "y" : 3, - "name" : "James Smith" - }, - { - "drilldown" : "Jan Krnavek", - "name" : "Jan Krnavek", - "y" : 2 - }, - { - "name" : "Joan Mimosinnet", - "y" : 2, - "drilldown" : "Joan Mimosinnet" - }, - { - "drilldown" : "Jorg Sommrey", - "y" : 2, - "name" : "Jorg Sommrey" - }, - { - "drilldown" : "Lubos Kolouch", - "name" : "Lubos Kolouch", - "y" : 2 - }, - { - "y" : 1, - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" - }, - { - "drilldown" : "Maxim Kolodyazhny", - "y" : 1, - "name" : "Maxim Kolodyazhny" - }, - { - "name" : "Niels van Dijke", - "y" : 2, - "drilldown" : "Niels van Dijke" - }, - { - "y" : 2, - "name" : "Paulo Custodio", - "drilldown" : "Paulo Custodio" - }, - { - "drilldown" : "Roger Bell_West", - "y" : 5, - "name" : "Roger Bell_West" - }, - { - "y" : 3, - "name" : "Simon Green", - "drilldown" : "Simon Green" - }, - { - "drilldown" : "Simon Proctor", - "y" : 2, - "name" : "Simon Proctor" - }, - { - "drilldown" : "Stuart Little", - "y" : 4, - "name" : "Stuart Little" - }, - { - "drilldown" : "Ulrich Rieke", - "y" : 4, - "name" : "Ulrich Rieke" - }, - { - "name" : "W. Luis Mochan", - "y" : 3, - "drilldown" : "W. Luis Mochan" - }, - { - "drilldown" : "Wanderdoc", - "y" : 1, - "name" : "Wanderdoc" - }, - { - "name" : "Yet Ebreo", - "y" : 1, - "drilldown" : "Yet Ebreo" - } - ], - "colorByPoint" : 1 - } - ], - "subtitle" : { - "text" : "[Champions: 30] Last updated at 2021-03-07 22:06:23 GMT" - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { + "name" : "Aaron Smith", "id" : "Aaron Smith", "data" : [ [ @@ -179,12 +13,10 @@ "Blog", 1 ] - ], - "name" : "Aaron Smith" + ] }, { "id" : "Abigail", - "name" : "Abigail", "data" : [ [ "Perl", @@ -194,7 +26,8 @@ "Blog", 2 ] - ] + ], + "name" : "Abigail" }, { "name" : "Adam Russell", @@ -211,17 +44,17 @@ "id" : "Adam Russell" }, { - "id" : "Alexander Karelas", - "name" : "Alexander Karelas", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Alexander Karelas", + "name" : "Alexander Karelas" }, { - "id" : "Arne Sommer", + "name" : "Arne Sommer", "data" : [ [ "Perl", @@ -236,11 +69,10 @@ 1 ] ], - "name" : "Arne Sommer" + "id" : "Arne Sommer" }, { "id" : "Athanasius", - "name" : "Athanasius", "data" : [ [ "Perl", @@ -250,37 +82,48 @@ "Raku", 2 ] - ] + ], + "name" : "Athanasius" }, { - "id" : "Bob Lied", "data" : [ [ "Perl", 1 ] ], + "id" : "Bob Lied", "name" : "Bob Lied" }, { - "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Cheok-Yin Fung" + }, + { + "id" : "Colin Crain", "data" : [ [ "Perl", 2 ] ], - "id" : "Cheok-Yin Fung" + "name" : "Colin Crain" }, { - "id" : "Cristina Heredia", "name" : "Cristina Heredia", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Cristina Heredia" }, { "id" : "Dave Jacoby", @@ -307,7 +150,6 @@ "name" : "E. Choroba" }, { - "name" : "Flavio Poletti", "data" : [ [ "Perl", @@ -318,7 +160,8 @@ 2 ] ], - "id" : "Flavio Poletti" + "id" : "Flavio Poletti", + "name" : "Flavio Poletti" }, { "id" : "Gustavo Chaves", @@ -341,58 +184,58 @@ 1 ] ], - "name" : "James Smith", - "id" : "James Smith" + "id" : "James Smith", + "name" : "James Smith" }, { - "id" : "Jan Krnavek", "name" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Jan Krnavek" }, { + "name" : "Joan Mimosinnet", "id" : "Joan Mimosinnet", "data" : [ [ "Raku", 2 ] - ], - "name" : "Joan Mimosinnet" + ] }, { - "id" : "Jorg Sommrey", "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Jorg Sommrey" }, { - "id" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] ], + "id" : "Lubos Kolouch", "name" : "Lubos Kolouch" }, { "id" : "Mark Anderson", - "name" : "Mark Anderson", "data" : [ [ "Raku", 1 ] - ] + ], + "name" : "Mark Anderson" }, { "id" : "Maxim Kolodyazhny", @@ -405,14 +248,14 @@ "name" : "Maxim Kolodyazhny" }, { - "id" : "Niels van Dijke", - "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" }, { "id" : "Paulo Custodio", @@ -426,6 +269,7 @@ }, { "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -439,11 +283,9 @@ "Blog", 1 ] - ], - "id" : "Roger Bell_West" + ] }, { - "name" : "Simon Green", "data" : [ [ "Perl", @@ -454,17 +296,18 @@ 1 ] ], - "id" : "Simon Green" + "id" : "Simon Green", + "name" : "Simon Green" }, { "id" : "Simon Proctor", - "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Simon Proctor" }, { "data" : [ @@ -477,10 +320,12 @@ 2 ] ], - "name" : "Stuart Little", - "id" : "Stuart Little" + "id" : "Stuart Little", + "name" : "Stuart Little" }, { + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -490,12 +335,10 @@ "Raku", 2 ] - ], - "name" : "Ulrich Rieke", - "id" : "Ulrich Rieke" + ] }, { - "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -506,34 +349,32 @@ 1 ] ], - "id" : "W. Luis Mochan" + "name" : "W. Luis Mochan" }, { - "id" : "Wanderdoc", "data" : [ [ "Perl", 1 ] ], + "id" : "Wanderdoc", "name" : "Wanderdoc" }, { - "name" : "Yet Ebreo", "data" : [ [ "Perl", 1 ] ], - "id" : "Yet Ebreo" + "id" : "Yet Ebreo", + "name" : "Yet Ebreo" } ] }, - "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" @@ -543,14 +384,188 @@ "text" : "Total Solutions" } }, + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 31] Last updated at 2021-03-07 23:11:51 GMT" + }, + "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/>" + }, "title" : { "text" : "Perl Weekly Challenge - 102" }, + "series" : [ + { + "name" : "Perl Weekly Challenge - 102", + "data" : [ + { + "y" : 3, + "drilldown" : "Aaron Smith", + "name" : "Aaron Smith" + }, + { + "y" : 4, + "name" : "Abigail", + "drilldown" : "Abigail" + }, + { + "y" : 4, + "name" : "Adam Russell", + "drilldown" : "Adam Russell" + }, + { + "name" : "Alexander Karelas", + "drilldown" : "Alexander Karelas", + "y" : 1 + }, + { + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", + "y" : 5 + }, + { + "drilldown" : "Athanasius", + "name" : "Athanasius", + "y" : 4 + }, + { + "drilldown" : "Bob Lied", + "name" : "Bob Lied", + "y" : 1 + }, + { + "y" : 2, + "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" + }, + { + "drilldown" : "Colin Crain", + "name" : "Colin Crain", + "y" : 2 + }, + { + "drilldown" : "Cristina Heredia", + "name" : "Cristina Heredia", + "y" : 1 + }, + { + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", + "y" : 3 + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "y" : 4, + "drilldown" : "Flavio Poletti", + "name" : "Flavio Poletti" + }, + { + "name" : "Gustavo Chaves", + "drilldown" : "Gustavo Chaves", + "y" : 2 + }, + { + "drilldown" : "James Smith", |
