diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-12-19 05:30:03 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-12-19 05:30:03 +0000 |
| commit | 6cd5bba511cde0480dabe0c63eae2212326e8623 (patch) | |
| tree | a817108cf3b1150a4161c77296ced6995a1660ab | |
| parent | 97d19dfbcf8722157dbaec6018ce8032ab65fa4c (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rwxr-xr-x | challenge-195/colin-crain/perl/ch-1.pl | 222 | ||||
| -rwxr-xr-x | challenge-195/colin-crain/perl/ch-2.pl | 82 | ||||
| -rw-r--r-- | challenge-195/daniel-pfeiffer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-195/daniel-pfeiffer/perl/ch-1.sh | 12 | ||||
| -rwxr-xr-x | challenge-195/daniel-pfeiffer/perl/ch-2.sh | 17 | ||||
| -rw-r--r-- | stats/pwc-current.json | 523 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 48 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1374 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 372 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-271-300.json | 34 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 68 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 98 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 620 |
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" : [ |
