Archive for the ‘Web’ Category

the Solutionist

Continuing the long-running trend of trying to figure out who I am and what I bring to the world, and the lives of the people that I effect.

Yesterday I was browsing the web, reading up a bit more about Robert Hoekmon Jr, the author of “Designing the Obvious” (a book which I regard as a must-have for any web developer or designer) and I stumbled across a rather interesting post about a new kind of role, the Solutionist.

I’ll allow Robert to summarise it, after all it’s his idea:

“Solutionists, I’ve come to understand, are people who apply critical thinking, creativity, and strategy to problems to find paths to their resolution. And I’ve known quite a few of them. Looking back, in fact, it’s a skill I’ve always admired and respected in others. Many of the people who have influenced me most in my career have been solutionists. I just didn’t notice they were teaching me to become one. These are people who look through to the core of problems while remaining cognizant of the big picture. They’re people who, given a little room for research and thinking and collaboration, can propose creative, well-considered, positive solutions to almost any problem. They’re people who believe everything can be improved, that old solutions need fresh perspectives, and that the future can be great—not just better, but great.”

Well, speaking immodestly, this struck quite a few chords with me, and has given me a great deal to think about over the course of the weekend.

I think that, insofar as a title can really suit anyone, Solutionist is a title that matches not only my view of myself, but the way I think and the value I try to give to others.

I know that I am not a master of or technical expert in any one field, but that I have a good, rounded expertise in many areas. I also know that (despite what may sometimes appear here!) I am not, by nature, a negative person. I always want the best of people, and the best in situations. I always strive for improvement in the processes, tools, methods and solutions that we use within the workplace. I always strive to improve the work that I do, whether it be within my job, with my painting, cooking, even how I am with friends and family. In all aspects of my life, I try to improve myself, and by extension, improve the things I do.

And I know I don’t always get it right. I know that by seeking out new solutions, by stretching myself, by setting the bar high – I will fail sometimes.

As a Solutionist however, I will continue t0:

  • think creatively;
  • strive to innovate;
  • seek to better myself;
  • produce work to a high standard;
  • believe that things can be made better.

This starts by focussing on the future, and learning from mistakes, rather than being beaten by them.

My name is Carl, and I am a Solutionist.

Scalable bar graphs

Confusing title? This makes it clearer.

If we want to create a bar chart based on dynamically generated figures, but want a maximum size for our chart, here’s how.

First, define the maximum size of the largest bar:

  • var MaxWidth = 400; // Adjust to whatever suits you

Then get the largest figure from the set (you could do this by ordering the database results, or by using a Max() call) and divide the width by this. This creates the figure by which all others are measured:

  • var MaxVotesCast = Max(VotesCast);
  • var Multplier = (MaxWidth/MaxVotesCast);

Now, for each bar, we can just multilpy the votes by the multipler:

  • var BarLength = Multiplier * VotesCast;

In this example, the largest number of votes will be 400, with the others ratios of 400 according to the number of votes.


  • var Multplier = (MaxWidth/MaxVotesCast);
  • var BarLength = Multiplier * VotesCast;

Alternatively, you could just use Google Charts… they steal all my fun these days…