aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2022-12-19 05:30:03 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2022-12-19 05:30:03 +0000
commit6cd5bba511cde0480dabe0c63eae2212326e8623 (patch)
treea817108cf3b1150a4161c77296ced6995a1660ab
parent97d19dfbcf8722157dbaec6018ce8032ab65fa4c (diff)
downloadperlweeklychallenge-club-6cd5bba511cde0480dabe0c63eae2212326e8623.tar.gz
perlweeklychallenge-club-6cd5bba511cde0480dabe0c63eae2212326e8623.tar.bz2
perlweeklychallenge-club-6cd5bba511cde0480dabe0c63eae2212326e8623.zip
- Added solutions by Solathian.
- Added solutions by Athanasius. - Added solutions by Cheok-Yin Fung. - Added solutions by Jan Krnavek. - Added solutions by Bruce Gray. - Added solutions by Duncan C. White. - Added solutions by E. Choroba. - Added solutions by Colin Crain. - Added solutions by Daniel Pfeiffer.
-rw-r--r--challenge-195/colin-crain/blog.txt1
-rwxr-xr-xchallenge-195/colin-crain/perl/ch-1.pl222
-rwxr-xr-xchallenge-195/colin-crain/perl/ch-2.pl82
-rw-r--r--challenge-195/daniel-pfeiffer/blog.txt1
-rwxr-xr-xchallenge-195/daniel-pfeiffer/perl/ch-1.sh12
-rwxr-xr-xchallenge-195/daniel-pfeiffer/perl/ch-2.sh17
-rw-r--r--stats/pwc-current.json523
-rw-r--r--stats/pwc-language-breakdown-summary.json48
-rw-r--r--stats/pwc-language-breakdown.json1374
-rw-r--r--stats/pwc-leaders.json372
-rw-r--r--stats/pwc-summary-1-30.json108
-rw-r--r--stats/pwc-summary-121-150.json44
-rw-r--r--stats/pwc-summary-151-180.json52
-rw-r--r--stats/pwc-summary-181-210.json38
-rw-r--r--stats/pwc-summary-211-240.json102
-rw-r--r--stats/pwc-summary-241-270.json42
-rw-r--r--stats/pwc-summary-271-300.json34
-rw-r--r--stats/pwc-summary-31-60.json68
-rw-r--r--stats/pwc-summary-61-90.json104
-rw-r--r--stats/pwc-summary-91-120.json98
-rw-r--r--stats/pwc-summary.json620
21 files changed, 2226 insertions, 1736 deletions
diff --git a/challenge-195/colin-crain/blog.txt b/challenge-195/colin-crain/blog.txt
new file mode 100644
index 0000000000..eb895099b1
--- /dev/null
+++ b/challenge-195/colin-crain/blog.txt
@@ -0,0 +1 @@
+https://colincrain.com/2022/12/19/well-aint-that-special
diff --git a/challenge-195/colin-crain/perl/ch-1.pl b/challenge-195/colin-crain/perl/ch-1.pl
new file mode 100755
index 0000000000..aa350c9366
--- /dev/null
+++ b/challenge-195/colin-crain/perl/ch-1.pl
@@ -0,0 +1,222 @@
+#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl
+#
+# well-aint-that-special.pl
+#
+# Special Integers
+# Submitted by: Mohammad S Anwar
+# You are given a positive integer, $n > 0.
+#
+# Write a script to print the count of all special integers between
+# 1 and $n.
+#
+# An integer is special when all of its digits are unique.
+#
+# Example 1:
+# Input: $n = 15
+# Output: 14 as except 11 all other integers between 1 and 15 are special.
+#
+# Example 2:
+# Input: $n = 35
+# Output: 32 as except 11, 22, 33 all others are special.
+
+# Analysis:
+#
+# A written number is a not exactly a number, really, but rather a
+# representation of an abstract concept in a certain specified
+# manner. It is certainly one way to look at a number, but doesn't
+# capture the totality. It is a shadow, describing an outline from
+# a particular point of view.
+#
+# The chosen manner here is as a decimal expansion, with symbol
+# placement indicating multiplication by increasing powers of ten.
+# We are looking, then, at written lines of glyphs. Forget about
+# numbers for now. Digits are characters, and so we're looking for
+# certain strings where every character is different.
+
+# I think it reasonable to say that viewed mathematically the idea is
+# quite complex. There are no consistent relationships between the
+# various numerical values for the digits.
+#
+# Fortunately we don't really care about the strings as numbers, up
+# until the string, viewed as a number, exceeds the given maximum
+# limit, which is about the only easy numerical quality we can
+# check.
+
+# A brute-foce approach would be to check increasing numbers,
+# moving on when a duplicate digit is detected withing a number and
+# compiling a list of all that pass the test. Needless to say this
+# will become very slow with larger numbers, and as we have ten
+# digits available we will have new special numbers up to a hard
+# limit of 11 digits. Per the definition then, the largest number
+# will have the largest digits in the largest positions, and we
+# conclude that limit ot be 9,876,543,210. Counting through that
+# last nine billion will be quite tedious.
+
+# Alternately, we could save some time and construct only special
+# numbers, growing our list by adding unique digits to existing
+# numbers until we reach out given target. This will in turn
+# require some means of making sure we keep the newly added numbers
+# unique, requiring us to keep track of the state of the system,
+# either continuously throughout or on-demand.
+
+# A good way to construct arrangements according to a fixed set of
+# incidence rules is to start with a bag of all pemissible elements
+# and remove elements from play as they are used. In this case if
+# we have a bag containing the digits 0 through 9 as physical
+# chits, we remove one and are assured we cannot draw that one
+# again. Using such a bag we can construct any special number.
+#
+# But how do we do that? Well, we could model the act of drawing
+# out a physical chit using a hash table and recursion: with the
+# digits stored as keys in a hash, when we use a digit we can
+# delete that key from the table and pass the altered table into
+# the next cycle of recursion.
+#
+# There's a bunch of hairy edges to this model, however. We will
+# need a large number of separate copies of the table for each
+# go-around, but I think with the small size of the table this
+# might be ok. We can make a new longer number using each of the
+# remaining available digits for each number of the current longest
+# length, but need to keep the shorter numbers intact at the same
+# time, requiring tow pools, on efor completed numbers an one for
+# numbers being worked on and available to be lengthened. And we
+# will also need to determine when we can stop recursing.
+#
+# All this is kind of unnecessarily complicated, if you ask me.
+# WHat we reall need is just a simple loop, adding digits one at a
+# time. We keep two pools, constucting new numbers from one and
+# then dumping them into the other, of final results, at the end of
+# every loop.
+#
+# And keeping a billion bags around probably isn't exactly healthy.
+# Alternately if we know there are only 10 possible options at
+# most, why not check each of them, but only for exending existing
+# special numbers? As the numbers are a limited subset this will
+# substantically reduce the size of the search space, and a few
+# quick checks will probably outweigh the cost of creating all
+# those bags. Much less confusing, too.
+#
+# That seems streamlined and more promising.
+#
+# If we take this route we will need a way to quicky check a digit
+# candidate against the existing digits in a number.
+#
+# Again with the bags — I must have bags on the mind — we can make
+# a bag of digits from an existing number with a single line of
+# code:
+#
+# my %digits = map { $_, undef } split '', $num;
+#
+# Then we can check to see whether a key for a digit is there using
+# `exists`. This sounds pretty quick. Long story short, it can
+# calculate every special number in under five minutes on my
+# machine:
+#
+# $ time perl 195-2-well-aint-that-special.pl 10000000000
+# 8877690
+#
+# real 4m44.287s
+# user 4m42.589s
+# sys 0m1.008s
+#
+# But wait! That is probably good enough, as it's a hard upper
+# limit on the special numbers that exist. There simply can't be
+# any more. But again we are still making tem billion hashes or so,
+# even if we aren't keeping them around. At the risk of premature
+# optimization we can probably do better.
+#
+# We could, for instance, maybe do a regular expression. Tem billion
+# times, give or take.
+
+# Hmmm...
+
+# The regular experession engine is an artful piece of
+# architecture, but also non-trivial. As Neal Stephenson might say,
+# it has *infrastructure*. Yes this will work wonderfully and does
+# its magic quite clearly, but still is like sending your car back
+# to the factory to swap out all the the wheels when all you need
+# is some air in a tire. It's a lot of tool for the job. The
+# analogy of a factory, in fact, is pretty on-point.
+
+# It is, we should note, still faster than making bags, by a
+# significant factor.
+#
+# There is however a third way that will change the game, in the
+# form of the built-in Perl `index` function. Given parameters,
+# this searches a string for a substring, looking from left to
+# right in a single pass, and in doing so avoids almost all of the
+# complexity of the general-purpose regex engine. The result then,
+# is lightning fast, as it does exactly what we want and absolutely
+# nothing more, minimizing extra overhead.
+
+# Recrafting our vwerification subroutine using `index`, we get an
+# approximately 11-fold increase in efficiency:
+
+# $ time perl 195-2-well-aint-that-special.pl 10000000000
+# 8877690
+#
+# real 0m25.693s
+# user 0m25.230s
+# sys 0m0.429s
+
+# Now — that — I will declare to be good enough.
+
+
+#
+# © 2022 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+use warnings;
+use strict;
+use utf8;
+use feature ":5.26";
+use feature qw(signatures);
+no warnings 'experimental::signatures';
+
+
+my $input = shift @ARGV // 10_000_000_000;
+
+my $count = make_special( $input );
+say $count;
+
+sub make_special ( $max ) {
+ my @results = grep { $_ < $max } (1..9);
+ my @prev = @results;
+ my @next;
+ for (1..length $max) {
+ @next = ();
+ for my $base_num ( @prev ) {
+ for (0..9) {
+ push @next, $base_num . $_ if allowed_index( $max, $base_num, $_ );
+ }
+ }
+ push @results, @next;
+ @prev = @next;
+ }
+ return @results;
+}
+
+## 100_000_000 ~ 1m05s
+sub allowed_bag ( $max, $num, $new ) {
+ my %digits = map { $_, undef } split '', $num;
+ return 0 if exists $digits{$new};
+ return 0 if "$num$new" > $max;
+ return 1;
+}
+
+## 100_000_000 ~ 43s
+sub allowed_regex ( $max, $num, $new ) {
+ return 0 if $num =~ /$new/;
+ return 0 if "$num$new" > $max;
+ return 1;
+}
+
+## 100_000_000 ~ 6s
+sub allowed_index ( $max, $num, $new ) {
+ return 0 if index($num, $new) > -1;
+ return 0 if "$num$new" > $max;
+ return 1;
+}
+
diff --git a/challenge-195/colin-crain/perl/ch-2.pl b/challenge-195/colin-crain/perl/ch-2.pl
new file mode 100755
index 0000000000..0db120bd67
--- /dev/null
+++ b/challenge-195/colin-crain/perl/ch-2.pl
@@ -0,0 +1,82 @@
+#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl
+#
+# i-cant-even.pl
+#
+# Most Frequent Even
+# Submitted by: Mohammad S Anwar
+# You are given a list of numbers, @list.
+#
+# Write a script to find most frequent even numbers in the list. In
+# case you get more than one even numbers then return the smallest
+# even integer. For all other case, return -1.
+#
+# Example 1
+# Input: @list = (1,1,2,6,2)
+# Output: 2 as there are only 2 even numbers 2 and 6 and of
+# those 2 appears the most.
+#
+# Example 2
+# Input: @list = (1,3,5,7)
+# Output: -1 since no even numbers found in the list
+#
+# Example 3
+# Input: @list = (6,4,4,6,1)
+# Output: 4 since there are only two even numbers 4 and 6. They
+# both appears the equal number of times, so pick the
+# smallest.
+#
+# Analysis
+#
+# First things first, let's talk terms. We are being specifically
+# asked here for the most frequent even numbers, which seems clear
+# enough, and later on we are given a secondary qualifier to decide
+# between even numbers of equal frequency. The wording of the
+# description leaves the "of the most frequently found" implicit,
+# but this is clarified in example 3.
+#
+# So to rephrase: count the incidence of the even digits — 2, 4, 6,
+# 8, and by convention 0 — and return the digit with the highest
+# frequency, or, in the case of multiple equally frequent digits
+# sharing the maximum, the smallest value.
+#
+# Sound good?
+#
+# © 2022 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+use warnings;
+use strict;
+use utf8;
+use feature ":5.26";
+use feature qw(signatures);
+no warnings 'experimental::signatures';
+
+
+sub even_more (@list) {
+ my %freq;
+ my $max = 0;
+ for ( grep { !( $_ % 2) } @list ) {
+ $freq{$_}++;
+ $freq{$_} > $max and $max = $freq{$_};
+ }
+
+ my @most = grep { $freq{$_} == $max } sort {$a<=>$b} keys %freq;
+ return scalar @most
+ ? $most[0]
+ : -1 ;
+}
+
+
+use Test::More;
+
+ is even_more( 1,1,2,6,2 ), 2, 'ex-1';
+ is even_more( 1,3,5,7 ), -1, 'ex-2';
+ is even_more( 6,4,4,6,1 ), 4, 'ex-3';
+ is even_more( 6,7,6,9,4,1,4,3,2,5,2,7,4,9,6,1 ), 4, 'sixes and fours at 3';
+ is even_more( 1,3,5,7,-2 ), -2, 'negitives?';
+ is even_more( -6,4,4,-6,1 ), -6, 'more negatives';
+
+
+done_testing();
diff --git a/challenge-195/daniel-pfeiffer/blog.txt b/challenge-195/daniel-pfeiffer/blog.txt
new file mode 100644
index 0000000000..fcbedd1934
--- /dev/null
+++ b/challenge-195/daniel-pfeiffer/blog.txt
@@ -0,0 +1 @@
+https://perl1liner.sourceforge.io/Challenge-and-Golf
diff --git a/challenge-195/daniel-pfeiffer/perl/ch-1.sh b/challenge-195/daniel-pfeiffer/perl/ch-1.sh
new file mode 100755
index 0000000000..5786798670
--- /dev/null
+++ b/challenge-195/daniel-pfeiffer/perl/ch-1.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+type pl > /dev/null 2>&1 || {
+ echo This uses pl, the much enhanced perl one-liner wrapper! Install it as App::pl.
+ echo See details on https://perl1liner.sourceforge.io/
+ exit 1
+}
+
+echo See details on https://perl1liner.sourceforge.io/Challenge-and-Golf/#2022-12-18
+
+pl -oA '1..15' '/(.).*\1/ or ++$RESULT'
+pl -oA '1..35' '/(.).*\1/ or ++$RESULT'
diff --git a/challenge-195/daniel-pfeiffer/perl/ch-2.sh b/challenge-195/daniel-pfeiffer/perl/ch-2.sh
new file mode 100755
index 0000000000..b023a292f5
--- /dev/null
+++ b/challenge-195/daniel-pfeiffer/perl/ch-2.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+type pl > /dev/null 2>&1 || {
+ echo This uses pl, the much enhanced perl one-liner wrapper! Install it as App::pl.
+ echo See details on https://perl1liner.sourceforge.io/
+ exit 1
+}
+
+echo See details on https://perl1liner.sourceforge.io/Challenge-and-Golf/#2022-12-18
+
+pl -oE '$c = max values %c;
+ say $c ? min grep { $c{$_} == $c } keys %c : -1' '
+ $_ % 2 or ++$c{$_}' 1 1 2 6 2
+pl -oE 'say min( grep { $c{$_} == $c } keys %c ) // -1' '
+ $_ % 2 or $c = max $c, ++$c{$_}' 1 3 5 7
+pl -oE 'say min( grep { $c{$_} == $c } keys %c ) // -1' '
+ $_ % 2 or $c = max $c, ++$c{$_}' 6 4 4 6 1
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index ecb2c9dd70..a4586b74c4 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,153 +1,12 @@
{
"subtitle" : {
- "text" : "[Champions: 24] Last updated at 2022-12-18 09:56:27 GMT"
- },
- "legend" : {
- "enabled" : 0
- },
- "series" : [
- {
- "data" : [
- {
- "drilldown" : "Adam Russell",
- "name" : "Adam Russell",
- "y" : 4
- },
- {
- "name" : "Ali Moradi",
- "drilldown" : "Ali Moradi",
- "y" : 4
- },
- {
- "name" : "Arne Sommer",
- "drilldown" : "Arne Sommer",
- "y" : 3
- },
- {
- "drilldown" : "Carlos Oliveira",
- "name" : "Carlos Oliveira",
- "y" : 2
- },
- {
- "name" : "Dave Jacoby",
- "drilldown" : "Dave Jacoby",
- "y" : 2
- },
- {
- "name" : "David Ferrone",
- "drilldown" : "David Ferrone",
- "y" : 2
- },
- {
- "name" : "James Smith",
- "drilldown" : "James Smith",
- "y" : 3
- },
- {
- "drilldown" : "Jorg Sommrey",
- "y" : 2,
- "name" : "Jorg Sommrey"
- },
- {
- "drilldown" : "Laurent Rosenfeld",
- "name" : "Laurent Rosenfeld",
- "y" : 5
- },
- {
- "drilldown" : "Luca Ferrari",
- "name" : "Luca Ferrari",
- "y" : 8
- },
- {
- "drilldown" : "Mark Anderson",
- "y" : 2,
- "name" : "Mark Anderson"
- },
- {
- "y" : 2,
- "drilldown" : "Marton Polgar",
- "name" : "Marton Polgar"
- },
- {
- "y" : 2,
- "drilldown" : "Niels van Dijke",
- "name" : "Niels van Dijke"
- },
- {
- "drilldown" : "Olivier Delouya",
- "name" : "Olivier Delouya",
- "y" : 1
- },
- {
- "drilldown" : "Peter Campbell Smith",
- "name" : "Peter Campbell Smith",
- "y" : 3
- },
- {
- "y" : 2,
- "drilldown" : "Pip Stuart",
- "name" : "Pip Stuart"
- },
- {
- "drilldown" : "Robbie Hatley",
- "name" : "Robbie Hatley",
- "y" : 2
- },
- {
- "name" : "Robert DiCicco",
- "drilldown" : "Robert DiCicco",
- "y" : 3
- },
- {
- "drilldown" : "Robert Ransbottom",
- "y" : 2,
- "name" : "Robert Ransbottom"
- },
- {
- "drilldown" : "Roger Bell_West",
- "y" : 5,
- "name" : "Roger Bell_West"
- },
- {
- "name" : "Stephen G. Lynn",
- "drilldown" : "Stephen G. Lynn",
- "y" : 5
- },
- {
- "name" : "Thomas Kohler",
- "drilldown" : "Thomas Kohler",
- "y" : 2
- },
- {
- "y" : 4,
- "drilldown" : "Ulrich Rieke",
- "name" : "Ulrich Rieke"
- },
- {
- "name" : "W. Luis Mochan",
- "drilldown" : "W. Luis Mochan",
- "y" : 3
- }
- ],
- "name" : "The Weekly Challenge - 195",
- "colorByPoint" : 1
- }
- ],
- "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
- },
- "chart" : {
- "type" : "column"
- },
- "title" : {
- "text" : "The Weekly Challenge - 195"
+ "text" : "[Champions: 33] Last updated at 2022-12-19 05:25:03 GMT"
},
"drilldown" : {
"series" : [
{
"name" : "Adam Russell",
+ "id" : "Adam Russell",
"data" : [
[
"Perl",
@@ -157,11 +16,10 @@
"Blog",
2
]
- ],
- "id" : "Adam Russell"
+ ]
},
{
- "id" : "Ali Moradi",
+ "name" : "Ali Moradi",
"data" : [
[
"Perl",
@@ -172,10 +30,9 @@
2
]
],
- "name" : "Ali Moradi"
+ "id" : "Ali Moradi"
},
{
- "id" : "Arne Sommer",
"name" : "Arne Sommer",
"data" : [
[
@@ -186,41 +43,131 @@
"Blog",
1
]
+ ],
+ "id" : "Arne Sommer"
+ },
+ {
+ "name" : "Athanasius",
+ "id" : "Athanasius",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 1
+ ]
]
},
{
+ "name" : "Bruce Gray",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "id" : "Bruce Gray"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ],
"id" : "Carlos Oliveira",
- "name" : "Carlos Oliveira",
+ "name" : "Carlos Oliveira"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ],
+ "id" : "Cheok-Yin Fung",
+ "name" : "Cheok-Yin Fung"
+ },
+ {
+ "name" : "Colin Crain",
+ "id" : "Colin Crain",
"data" : [
[
"Perl",
2
+ ],
+ [
+ "Blog",
+ 1
]
]
},
{
+ "id" : "Daniel Pfeiffer",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "name" : "Daniel Pfeiffer"
+ },
+ {
+ "name" : "Dave Jacoby",
"id" : "Dave Jacoby",
"data" : [
[
"Perl",
2
]
+ ]
+ },
+ {
+ "name" : "David Ferrone",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ],
+ "id" : "David Ferrone"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
],
- "name" : "Dave Jacoby"
+ "id" : "Duncan C. White",
+ "name" : "Duncan C. White"
},
{
- "id" : "David Ferrone",
+ "id" : "E. Choroba",
"data" : [
[
"Perl",
2
]
],
- "name" : "David Ferrone"
+ "name" : "E. Choroba"
},
{
"id" : "James Smith",
- "name" : "James Smith",
"data" : [
[
"Perl",
@@ -230,17 +177,28 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "James Smith"
+ },
+ {
+ "data" : [
+ [
+ "Raku",
+ 1
+ ]
+ ],
+ "id" : "Jan Krnavek",
+ "name" : "Jan Krnavek"
},
{
- "name" : "Jorg Sommrey",
"data" : [
[
"Perl",
2
]
],
- "id" : "Jorg Sommrey"
+ "id" : "Jorg Sommrey",
+ "name" : "Jorg Sommrey"
},
{
"id" : "Laurent Rosenfeld",
@@ -261,6 +219,7 @@
"name" : "Laurent Rosenfeld"
},
{
+ "id" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -271,28 +230,27 @@
6
]
],
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari"
+ "name" : "Luca Ferrari"
},
{
"id" : "Mark Anderson",
- "name" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "name" : "Mark Anderson"
},
{
+ "id" : "Marton Polgar",
"data" : [
[
"Raku",
2
]
],
- "name" : "Marton Polgar",
- "id" : "Marton Polgar"
+ "name" : "Marton Polgar"
},
{
"id" : "Niels van Dijke",
@@ -305,18 +263,17 @@
"name" : "Niels van Dijke"
},
{
- "id" : "Olivier Delouya",
+ "name" : "Olivier Delouya",
"data" : [
[
"Perl",
1
]
],
- "name" : "Olivier Delouya"
+ "id" : "Olivier Delouya"
},
{
"id" : "Peter Campbell Smith",
- "name" : "Peter Campbell Smith",
"data" : [
[
"Perl",
@@ -326,16 +283,17 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Peter Campbell Smith"
},
{
+ "name" : "Pip Stuart",
"data" : [
[
"Perl",
2
]
],
- "name" : "Pip Stuart",
"id" : "Pip Stuart"
},
{
@@ -359,8 +317,8 @@
1
]
],
- "name" : "Robert DiCicco",
- "id" : "Robert DiCicco"
+ "id" : "Robert DiCicco",
+ "name" : "Robert DiCicco"
},
{
"id" : "Robert Ransbottom",
@@ -373,6 +331,7 @@
"name" : "Robert Ransbottom"
},
{
+ "name" : "Roger Bell_West",
"id" : "Roger Bell_West",
"data" : [
[
@@ -387,11 +346,19 @@
"Blog",
1
]
+ ]
+ },
+ {
+ "id" : "Solathian",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
],
- "name" : "Roger Bell_West"
+ "name" : "Solathian"
},
{
- "id" : "Stephen G. Lynn",
"name" : "Stephen G. Lynn",
"data" : [
[
@@ -406,7 +373,8 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Stephen G. Lynn"
},
{
"data" : [
@@ -415,10 +383,11 @@
2
]
],
- "name" : "Thomas Kohler",
- "id" : "Thomas Kohler"
+ "id" : "Thomas Kohler",
+ "name" : "Thomas Kohler"
},
{
+ "name" : "Ulrich Rieke",
"data" : [
[
"Perl",
@@ -429,12 +398,10 @@
2
]
],
- "name" : "Ulrich Rieke",
"id" : "Ulrich Rieke"
},
{
"id" : "W. Luis Mochan",
- "name" : "W. Luis Mochan",
"data" : [
[
"Perl",
@@ -444,17 +411,13 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "W. Luis Mochan"
}
]
},
- "xAxis" : {
- "type" : "category"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
+ "legend" : {
+ "enabled" : 0
},
"plotOptions" : {
"series" : {
@@ -464,5 +427,197 @@
"enabled" : 1
}
}
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "series" : [</