aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-018/duane-powell/perl5/ch-1.pl123
-rw-r--r--challenge-018/duane-powell/perl5/ch-2.pl203
-rw-r--r--stats/pwc-current.json91
-rw-r--r--stats/pwc-language-breakdown-summary.json48
-rw-r--r--stats/pwc-language-breakdown.json180
-rw-r--r--stats/pwc-leaders.json910
-rw-r--r--stats/pwc-summary-1-30.json118
-rw-r--r--stats/pwc-summary-31-60.json36
-rw-r--r--stats/pwc-summary-61-90.json32
-rw-r--r--stats/pwc-summary-91-120.json46
-rw-r--r--stats/pwc-summary.json244
11 files changed, 1186 insertions, 845 deletions
diff --git a/challenge-018/duane-powell/perl5/ch-1.pl b/challenge-018/duane-powell/perl5/ch-1.pl
new file mode 100644
index 0000000000..ed4443dd1b
--- /dev/null
+++ b/challenge-018/duane-powell/perl5/ch-1.pl
@@ -0,0 +1,123 @@
+#!/usr/bin/perl
+use Modern::Perl;
+
+# Write a script that takes 2 or more strings as command line parameters and print the longest common substring.
+# For example, the longest common substring of the strings “ABABC”, “BABCA” and “ABCBA” is string “ABC” of length 3.
+# Other common substrings are “A”, “AB”, “B”, “BA”, “BC” and “C”
+
+sub common_substr_find {
+ my @str = @_;
+ # The plan is to chunk our strings from largest to smallest
+ # for example: hello,hell,ello,hel,ell,llo,he,el,ll,lo,h,e,l,l,o
+ # Then use the chunks as hash keys to count occurances.
+ # We stop looking at smaller chunks if a bigger match is found.
+
+ my $out = "";
+ my %count;
+ my %chunk;
+ my $longest_match = 0;
+ foreach my $str (@str) {
+ my $i = 0;
+ my $len = length($str);
+ my $offset = $len;
+ while ($offset > 0) {
+ while (($i + $offset) <= $len and ($i + $offset) >= $longest_match) {
+ my $chunk = substr($str,$i,$offset);
+ unless (defined $chunk{$str}{$chunk}) {
+ # don't match chunks within the same str
+ $chunk{$str}{$chunk} = 1;
+ $count{$chunk}++;
+ }
+ $longest_match = length($chunk) if ($count{$chunk} > 1 and length($chunk) > $longest_match);
+ $i++;
+ }
+ $i = 0;
+ $offset--;
+ }
+ }
+
+ foreach (keys %count) {
+ if ($count{$_} > 1) {
+ $out .= "$_\n" if (length($_) == $longest_match);
+ }
+ }
+
+ say "strings are: " . join(",",@str);
+ if ($out) {
+ $out = "longest matching substrings are:\n" . $out;
+ } else {
+ $out = "no substrings match\n";
+ }
+ say $out;
+}
+
+if (@ARGV) {
+ common_substr_find(@ARGV);
+ exit;
+}
+
+my %testdata = (
+ 1 => "hello world",
+ 2 => "polar bears love snow",
+ 3 => "goodbye goodyear goody",
+ 4 => "abc xzy",
+ 5 => "duane powell xxxxduanexxxpowellxxx",
+ 6 => "abba bbaa aaaa bbbb baba abab",
+ 7 => "ALL ENGLISH WORDS ... words.txt",
+);
+
+foreach my $data (sort(keys %testdata)) {
+ my @str;
+ if ($data < 7) {
+ @str = split(" ",$testdata{$data});
+ common_substr_find(@str);
+ } else {
+ open(my $fh, "<", "words.txt") or die "Can't open < words.txt: $!";
+ while (my $word = <$fh>) {
+ chomp $word;
+ push @str, $word;
+ }
+ common_substr_find(@str);
+ }
+}
+
+__END__
+
+./ch1.pl foo bar fubar
+strings are: foo,bar,fubar
+longest matching substrings are:
+bar
+
+./ch1.pl
+strings are: hello,world
+longest matching substrings are:
+o
+l
+
+strings are: polar,bears,love,snow
+longest matching substrings are:
+ar
+
+strings are: goodbye,goodyear,goody
+longest matching substrings are:
+goody
+
+strings are: abc,xzy
+no substrings match
+
+strings are: duane,powell,xxxxduanexxxpowellxxx
+longest matching substrings are:
+powell
+
+strings are: abba,bbaa,aaaa,bbbb,baba,abab
+longest matching substrings are:
+bba
+aba
+bab
+
+strings are: ... ALL ENGLISH WORDS ...
+longest matching substrings are:
+electroencephalographical
+antidisestablishmentarian
+microspectrophotometrical
+
diff --git a/challenge-018/duane-powell/perl5/ch-2.pl b/challenge-018/duane-powell/perl5/ch-2.pl
new file mode 100644
index 0000000000..9eb7d0cf3f
--- /dev/null
+++ b/challenge-018/duane-powell/perl5/ch-2.pl
@@ -0,0 +1,203 @@
+#!/usr/bin/perl
+use Modern::Perl;
+
+# Write a script to implement Priority Queue. It is like regular queue except each element has a priority associated with it.
+# In a priority queue, an element with high priority is served before an element with low priority.
+
+my $p = PriorityQueue->new();
+$p->pull_highest_priority_element();
+$p->insert_with_priority(200,"milkshake!");
+$p->insert_with_priority(300,"pizza?");
+$p->insert_with_priority(500,"cheeseburgers!");
+sleep 1; # sleep a second so nodes have different date values
+$p->insert_with_priority(250,"steak and eggs!");
+$p->queue_print();
+$p->pull_highest_priority_element();
+$p->insert_with_priority(350,"hotdogs?");
+$p->insert_with_priority(550,"pancakces and syrup!");
+$p->insert_with_priority(650,"donuts!");
+$p->insert_with_priority(600,"cookies!");
+$p->queue_print();
+$p->pull_highest_priority_element();
+$p->queue_print();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+sleep 1; # sleep a second so nodes have different date values
+$p->insert_with_priority(200,"dr peppers!");
+$p->insert_with_priority(300,"pizza?");
+$p->insert_with_priority(500,"cheeseburgers!");
+$p->insert_with_priority(250,"steak and eggs!");
+$p->insert_with_priority(350,"hotdogs?");
+$p->insert_with_priority(550,"pancakces and syrup!");
+$p->queue_print();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->queue_print();
+sleep 1; # sleep a second so nodes have different date values
+$p->insert_with_priority(350,"hotdogs?");
+$p->insert_with_priority(550,"pancakces and syrup!");
+$p->queue_print();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->pull_highest_priority_element();
+$p->queue_print();
+exit;
+
+package PriorityQueue;
+sub new {
+ my $class = shift;
+ # Simple class to represent a priority queue.
+ # The queue is made of nested hash refs, linked by _next
+ # _next=>{ ..., _next=>{ ..., _next=>undef}}
+ my $self = {
+ _next => undef, # undef signals empty queue
+ };
+ return bless $self, $class;
+}
+
+sub is_empty {
+ my $self = shift;
+ return not defined $self->{_next};
+}
+
+sub insert_with_priority {
+ my $self = shift;
+
+ # init new node
+ my $priority = shift;
+ my $data = shift;
+ my $i = {
+ priority => $priority || 100,
+ data => $data,
+ date => time,
+ _next => undef, # undef signals end of queue
+ };
+
+ # empty queue, insert first node and return
+ if ($self->is_empty()) {
+ $self->{_next} = $i;
+ return;
+ }
+
+ # iterate over queue nodes and insert $i where it belongs
+ my $here = $self;
+ my $n = $self->{_next};
+ while ($n) {
+ if ($n->{priority} >= $i->{priority}) {
+ if (defined $n->{_next}) {
+ # iterate
+ $here = $n;
+ $n = $n->{_next};
+ } else {
+ # we're at the end of queue
+ $n->{_next} = $i;
+ return;
+ }
+ } else {
+ # insert $i here
+ $i->{_next} = $here->{_next};
+ $here->{_next} = $i;
+ return;
+ }
+ }
+}
+
+sub pull_highest_priority_element {
+ my $self = shift;
+ if ($self->is_empty()) {
+ say "nothing to pop, queue is empty.";
+ return;
+ } else {
+ my $n = $self->{_next};
+ $self->{_next} = $n->{_next};
+ say "popping $n->{priority} $n->{date} $n->{data}";
+ return $n;
+ }
+}
+
+sub queue_print {
+ my $self = shift;
+ my $n = $self->{_next};
+ my $depth = 0;
+ say "queue print:";
+ while ($n) {
+ my $space = (' ' x $depth);
+ say "$space $n->{priority} $n->{date} $n->{data}";
+ $n = $n->{_next};
+ $depth++;
+ }
+}
+
+
+1;
+
+__END__
+
+./ch2.pl
+nothing to pop, queue is empty.
+queue print:
+ 500 1563884736 cheeseburgers!
+ 300 1563884736 pizza?
+ 250 1563884737 steak and eggs!
+ 200 1563884736 milkshake!
+popping 500 1563884736 cheeseburgers!
+queue print:
+ 650 1563884737 donuts!
+ 600 1563884737 cookies!
+ 550 1563884737 pancakces and syrup!
+ 350 1563884737 hotdogs?
+ 300 1563884736 pizza?
+ 250 1563884737 steak and eggs!
+ 200 1563884736 milkshake!
+popping 650 1563884737 donuts!
+queue print:
+ 600 1563884737 cookies!
+ 550 1563884737 pancakces and syrup!
+ 350 1563884737 hotdogs?
+ 300 1563884736 pizza?
+ 250 1563884737 steak and eggs!
+ 200 1563884736 milkshake!
+popping 600 1563884737 cookies!
+popping 550 1563884737 pancakces and syrup!
+queue print:
+ 550 1563884738 pancakces and syrup!
+ 500 1563884738 cheeseburgers!
+ 350 1563884737 hotdogs?
+ 350 1563884738 hotdogs?
+ 300 1563884736 pizza?
+ 300 1563884738 pizza?
+ 250 1563884737 steak and eggs!
+ 250 1563884738 steak and eggs!
+ 200 1563884736 milkshake!
+ 200 1563884738 dr peppers!
+popping 550 1563884738 pancakces and syrup!
+popping 500 1563884738 cheeseburgers!
+popping 350 1563884737 hotdogs?
+popping 350 1563884738 hotdogs?
+popping 300 1563884736 pizza?
+popping 300 1563884738 pizza?
+popping 250 1563884737 steak and eggs!
+popping 250 1563884738 steak and eggs!
+queue print:
+ 200 1563884736 milkshake!
+ 200 1563884738 dr peppers!
+queue print:
+ 550 1563884739 pancakces and syrup!
+ 350 1563884739 hotdogs?
+ 200 1563884736 milkshake!
+ 200 1563884738 dr peppers!
+popping 550 1563884739 pancakces and syrup!
+popping 350 1563884739 hotdogs?
+popping 200 1563884736 milkshake!
+popping 200 1563884738 dr peppers!
+nothing to pop, queue is empty.
+queue print:
+
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index e685e1b13f..a3389555b3 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,34 +1,15 @@
{
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- },
- "borderWidth" : 0
- }
+ "chart" : {
+ "type" : "column"
},
"legend" : {
"enabled" : 0
},
- "tooltip" : {
- "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/>",
- "followPointer" : 1
- },
- "title" : {
- "text" : "Perl Weekly Challenge - 018"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
"drilldown" : {
"series" : [
{
- "id" : "Roger Bell West",
- "name" : "Roger Bell West",
+ "id" : "Duane Powell",
+ "name" : "Duane Powell",
"data" : [
[
"Perl 5",
@@ -37,42 +18,76 @@
]
},
{
+ "name" : "Roger Bell West",
"data" : [
[
- "Perl 6",
+ "Perl 5",
2
]
],
+ "id" : "Roger Bell West"
+ },
+ {
"id" : "Simon Proctor",
- "name" : "Simon Proctor"
+ "name" : "Simon Proctor",
+ "data" : [
+ [
+ "Perl 6",
+ 2
+ ]
+ ]
}
]
},
+ "xAxis" : {
+ "type" : "category"
+ },
+ "tooltip" : {
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "followPointer" : 1,
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 018"
+ },
"subtitle" : {
- "text" : "[Champions: 2] Last updated at 2019-07-22 13:57:16 GMT"
+ "text" : "[Champions: 3] Last updated at 2019-07-23 14:14:43 GMT"
},
"series" : [
{
- "colorByPoint" : 1,
- "name" : "Perl Weekly Challenge - 018",
"data" : [
{
- "drilldown" : "Roger Bell West",
+ "name" : "Duane Powell",
"y" : 2,
- "name" : "Roger Bell West"
+ "drilldown" : "Duane Powell"
},
{
"y" : 2,
+ "drilldown" : "Roger Bell West",
+ "name" : "Roger Bell West"
+ },
+ {
"name" : "Simon Proctor",
+ "y" : 2,
"drilldown" : "Simon Proctor"
}
- ]
+ ],
+ "name" : "Perl Weekly Challenge - 018",
+ "colorByPoint" : 1
}
- ],
- "chart" : {
- "type" : "column"
- },
- "xAxis" : {
- "type" : "category"
- }
+ ]
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 0ed26dab93..252f513082 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,12 +1,10 @@
{
"subtitle" : {
- "text" : "Last updated at 2019-07-22 13:57:23 GMT"
- },
- "chart" : {
- "type" : "column"
+ "text" : "Last updated at 2019-07-23 14:14:51 GMT"
},
"series" : [
{
+ "name" : "Contributions",
"data" : [
[
"Blog",
@@ -14,33 +12,44 @@
],
[
"Perl 5",
- 719
+ 721
],
[
"Perl 6",
413
]
],
- "name" : "Contributions",
"dataLabels" : {
- "rotation" : -90,
- "color" : "#FFFFFF",
- "align" : "right",
- "y" : 10,
+ "enabled" : "true",
"style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
},
- "enabled" : "true",
- "format" : "{point.y:.0f}"
+ "y" : 10,
+ "color" : "#FFFFFF",
+ "format" : "{point.y:.0f}",
+ "align" : "right",
+ "rotation" : -90
}
}
],
"yAxis" : {
+ "min" : 0,
"title" : {
"text" : null
+ }
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
},
- "min" : 0
+ "type" : "category"
},
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
@@ -48,15 +57,6 @@
"legend" : {
"enabled" : "false"
},
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- }
- },
"title" : {
"text" : "Perl Weekly Challenge Contributions - 2019"
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 22d804b35d..dfc1bd4b0a 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,17 +1,10 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "chart" : {
- "type" : "column"
- },
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-07-22 13:57:23 GMT"
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-07-23 14:14:51 GMT"
},
"series" : [
{
+ "name" : "Perl Weekly Challenge Languages",
"data" : [
{
"drilldown" : "001",
@@ -20,48 +13,48 @@
},
{
"name" : "#002",
- "y" : 104,
- "drilldown" : "002"
+ "drilldown" : "002",
+ "y" : 104
},
{
+ "y" : 66,
"drilldown" : "003",
- "name" : "#003",
- "y" : 66
+ "name" : "#003"
},
{
- "name" : "#004",
"y" : 84,
- "drilldown" : "004"
+ "drilldown" : "004",
+ "name" : "#004"
},
{
- "name" : "#005",
"y" : 66,
+ "name" : "#005",
"drilldown" : "005"
},
{
+ "drilldown" : "006",
"name" : "#006",
- "y" : 47,
- "drilldown" : "006"
+ "y" : 47
},
{
+ "name" : "#007",
"drilldown" : "007",
- "y" : 54,
- "name" : "#007"
+ "y" : 54
},
{
"name" : "#008",
- "y" : 67,
- "drilldown" : "008"
+ "drilldown" : "008",
+ "y" : 67
},
{
- "y" : 65,
"name" : "#009",
- "drilldown" : "009"
+ "drilldown" : "009",
+ "y" : 65
},
{
- "y" : 58,
+ "drilldown" : "010",
"name" : "#010",
- "drilldown" : "010"
+ "y" : 58
},
{
"y" : 77,
@@ -69,9 +62,9 @@
"drilldown" : "011"
},
{
- "y" : 81,
"name" : "#012",
- "drilldown" : "012"
+ "drilldown" : "012",
+ "y" : 81
},
{
"y" : 74,
@@ -79,39 +72,65 @@
"drilldown" : "013"
},
{
- "drilldown" : "014",
"y" : 94,
- "name" : "#014"
+ "name" : "#014",
+ "drilldown" : "014"
},
{
- "drilldown" : "015",
"y" : 90,
- "name" : "#015"
+ "name" : "#015",
+ "drilldown" : "015"
},
{
- "name" : "#016",
"y" : 64,
+ "name" : "#016",
"drilldown" : "016"
},
{
- "y" : 77,
"name" : "#017",
- "drilldown" : "017"
+ "drilldown" : "017",
+ "y" : 77
},
{
- "y" : 4,
+ "y" : 6,
"name" : "#018",
"drilldown" : "018"
}
],
- "name" : "Perl Weekly Challenge Languages",
"colorByPoint" : "true"
}
],
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ }
+ }
+ },
+ "legend" : {
+ "enabled" : "false"
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
+ "tooltip" : {
+ "headerFormat" : "<span style=\"font-size:11px\"></span>",
+ "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : "true"
+ },
"drilldown" : {
"series" : [
{
- "id" : "001",
"name" : "001",
"data" : [
[
@@ -126,7 +145,8 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "001"
},
{
"id" : "002",
@@ -148,7 +168,6 @@
},
{
"name" : "003",
- "id" : "003",
"data" : [
[
"Perl 5",
@@ -162,9 +181,11 @@
"Blog",
8
]
- ]
+ ],
+ "id" : "003"
},
{
+ "id" : "004",
"data" : [
[
"Perl 5",
@@ -179,10 +200,10 @@
9
]
],
- "name" : "004",
- "id" : "004"
+ "name" : "004"
},
{
+ "name" : "005",
"data" : [
[
"Perl 5",
@@ -197,10 +218,10 @@
11
]
],
- "name" : "005",
"id" : "005"
},
{
+ "id" : "006",
"data" : [
[
"Perl 5",
@@ -215,12 +236,9 @@
6
]
],
- "id" : "006",
"name" : "006"
},
{
- "name" : "007",
- "id" : "007",
"data" : [
[
"Perl 5",
@@ -234,7 +252,9 @@
"Blog",
8
]
- ]
+ ],
+ "name" : "007",
+ "id" : "007"
},
{
"data" : [
@@ -255,6 +275,8 @@
"id" : "008"
},
{
+ "id" : "009",
+ "name" : "009",
"data" : [
[
"Perl 5",
@@ -268,12 +290,9 @@
"Blog",
11
]
- ],
- "name" : "009",
- "id" : "009"
+ ]
},
{
- "name" : "010",
"id" : "010",
"data" : [
[
@@ -288,9 +307,11 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "010"
},
{
+ "id" : "011",
"data" : [
[
"Perl 5",
@@ -305,12 +326,10 @@
8
]
],
- "id" : "011",
"name" : "011"
},
{
"name" : "012",
- "id" : "012",
"data" : [
[
"Perl 5",
@@ -324,9 +343,12 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "012"
},
{
+ "id" : "013",
+ "name" : "013",
"data" : [
[
"Perl 5",
@@ -340,13 +362,10 @@
"Blog",
11
]
- ],
- "id" : "013",
- "name" : "013"
+ ]
},
{
"id" : "014",
- "name" : "014",
"data" : [
[
"Perl 5",
@@ -360,7 +379,8 @@
"Blog",
13
]
- ]
+ ],
+ "name" : "014"
},
{
"data" : [
@@ -377,10 +397,11 @@
12
]
],
- "id" : "015",
- "name" : "015"
+ "name" : "015",
+ "id" : "015"
},
{
+ "name" : "016",
"data" : [
[
"Perl 5",
@@ -395,11 +416,9 @@
10
]
],
- "id" : "016",
- "name" : "016"
+ "id" : "016"
},
{
- "id" : "017",
"name" : "017",
"data" : [
[
@@ -414,13 +433,14 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "017"
},
{
"data" : [
[
"Perl 5",
- 2
+ 4
],
[
"Perl 6",
@@ -431,32 +451,12 @@
0
]
],
- "id" : "018",
- "name" : "018"
+ "name" : "018",
+ "id" : "018"
}
]
},
- "tooltip" : {
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
- "followPointer" : "true",
- "headerFormat" : "<span style=\"font-size:11px\"></span>"
- },
- "legend" : {
- "enabled" : "false"
- },
"title" : {
"text" : "Perl Weekly Challenge Language"
- },
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
- },
- "xAxis" : {
- "type" : "category"
}
}
diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json
index 19006df726..96c63cf6ab 100644
--- a/stats/pwc-leaders.json
+++ b/stats/pwc-leaders.json
@@ -1,371 +1,124 @@
{
- "series" : [
- {
- "data" : [
- {
- "name" : "#1: Joelle Maslak",
- "y" : 180,
- "drilldown" : "Joelle Maslak"
- },
- {
- "name" : "#2: Laurent Rosenfeld",
- "y" : 176,
- "drilldown" : "Laurent Rosenfeld"
- },
- {
- "drilldown" : "Jaldhar H. Vyas",
- "y" : 142,
- "name" : "#3: Jaldhar H. Vyas"
- },
- {
- "drilldown" : "Ruben Westerberg",
- "y" : 124,
- "name" : "#4: Ruben Westerberg"
- },
- {
- "name" : "#5: Athanasius",
- "y" : 106,
- "drilldown" : "Athanasius"
- },
- {
- "y" : 104,
- "name" : "#6: Adam Russell",
- "drilldown" : "Adam Russell"
- },
- {
- "name" : "#7: Arne Sommer",
- "y" : 94,
- "drilldown" : "Arne Sommer"
- },
- {
- "y" : 80,
- "name" : "#8: Simon Proctor",
- "drilldown" : "Simon Proctor"
- },
- {
- "name" : "#9: E. Choroba",
- "y" : 78,
- "drilldown" : "E. Choroba"
- },
- {
- "drilldown" : "Francis Whittle",
- "name" : "#10: Francis Whittle",
- "y" : 78
- },
- {
- "name" : "#11: Kian-Meng Ang",
- "y" : 78,
- "drilldown" : "Kian-Meng Ang"
- },
- {
- "y" : 74,
- "name" : "#12: Dave Jacoby",
- "drilldown" : "Dave Jacoby"
- },
- {
- "drilldown" : "Andrezgz",
- "name" : "#13: Andrezgz",
- "y" : 64
- },
- {
- "name" : "#14: Gustavo Chaves",
- "y" : 64,
- "drilldown" : "Gustavo Chaves"
- },
- {
- "y" : 64,
- "name" : "#15: Yozen Hernandez",
- "drilldown" : "Yozen Hernandez"
- },
- {
- "drilldown" : "Feng Chang",
- "y" : 60,
- "name" : "#16: Feng Chang"
- },
- {
- "drilldown" : "Daniel Mantovani",
- "name" : "#17: Daniel Mantovani",
- "y" : 56
- },
- {
- "y" : 56,
- "name" : "#18: Duncan C. White",
- "drilldown" : "Duncan C. White"
- },
- {
- "drilldown" : "Steven Wilson",
- "y" : 54,
- "name" : "#19: Steven Wilson"
- },
- {
- "name" : "#20: Jo Christian Oterhals",
- "y" : 48,
- "drilldown" : "Jo Christian Oterhals"
- },
- {
- "y" : 44,
- "name" : "#21: Dr James A. Smith",
- "drilldown" : "Dr James A. Smith"
- },
- {
- "y" : 34,
- "name" : "#22: Guillermo Ramos",
- "drilldown" : "Guillermo Ramos"
- },
- {
- "drilldown" : "Ozzy",
- "name" : "#23: Ozzy",
- "y" : 34
- },
- {
- "drilldown" : "Veesh Goldman",
- "y" : 34,
- "name" : "#24: Veesh Goldman"
- },
- {
- "drilldown" : "Mark Senn",
- "name" : "#25: Mark Senn",
- "y" : 32
- },
- {
- "y" : 32,
- "name" : "#26: Nick Logan",
- "drilldown" : "Nick Logan"
- },
- {
- "y" : 28,
- "name" : "#27: Kevin Colyer",
- "drilldown" : "Kevin Colyer"
- },
- {
- "drilldown" : "Lars Balker",
- "y" : 28,
- "name" : "#28: Lars Balker"
- },
- {
- "drilldown" : "Maxim Nechaev",
- "y" : 24,
- "name" : "#29: Maxim Nechaev"
- },
- {
- "y" : 24,
- "name" : "#30: Roger Bell West",
- "drilldown" : "Roger Bell West"
- },
- {