fighting the lack of good ideas

cloud computing in easy steps by david crookes

In my ongoing hunt to find worth-while tech books (most recently in the field of cloud computing), I’m here today to write about Cloud Computing in Easy Steps by David Crookes.

First to note – this book is NOT about how to deploy cloud computing. It is about how to use lots of free and inexpensive options if you are an individual consumer or small business.

That aside, this is a fantastic, easy-to-read and -understand reference for folks just starting to get their feet wet in the world of multidevice-accessible applications hosted “in the cloud”. Compared to Google Apps: The Missing Manual (review), thsi text does not try to go deep, and is far more recently-published (and, therefore, up-to-date) than Nancy Conner’s well-written, but 4+ year old, tome.

Crookes makes the concepts of detaching from purely client-side computing and applications less intimiadating than they sound at first blush to most novices (and, for that matter, to most “traditional” techies and “old school” business folks). He provides excellent starter material and handy tips, reminders, and gotchas throughout.

This book is not comprehensive – it is not intended to be: it is introductory and of a quick reference nature. It accomplishes precisely what it sets out to do:

The cloud is everywhere. Cloud computing looks set to revolutionize how we create, store and share data. Today’s big names, from Apple, Microsoft to Google, are embracing it to such a degree that the world is moving from a centralized computing platform to one that can be mobile, scalable and always available.

Whether you’re a small business looking to reduce storage and application costs and make collaboration easier, or an individual who wants to use more cloud based services but isn’t too sure where to start, Cloud Computing in Easy Steps is the book for you. Each of the key concepts is covered in plain English, and many of the most popular cloud services are explained. (the back cover*)

Whether or not you should buy this book for your own shelf is up to you – I found that it’s a good one to have borrowed from my library and learn a couple nifty things I didn’t yet know about some of my favorite services. It is most certainly a good text to read.

* grammar errors left intact in the quote


I learned about the call command in Windows recently.

Some context – was trying to run a command via HPSA at a customer, but kept getting an error that the program was not a recognized internal or external command.

Very frustrating.

Then one of the guys I worked with suggested adding a “call” to the front of my script. That worked like a champ. Here’s why.

When the HPSA Agent on a Managed Server receives a script to run from the Core, it runs it in a headless terminal session. This means that while environment variables (eg %ProgramFiles%) expand properly, if the first part of the command is NOT a built-in from cmd.exe, it won’t execute. Unlike *nix which is designed to run most things headless, Windows never was (and isn’t still as of Win2k8R2).

The built-in command ‘call‘ forks the next command to a full session (albeit still headless), and enables cmd.exe to run it properly.

Now you know.

cloud computing bible by barrie sosinsky

The first comment I have about Barrie Sosinsky’s book, Cloud Computing Bible is that it’s the first one I’ve read that doesn’t appear to have any sucky parts.

This is a plus.

Hybrid Cloud for Dummies was pretty much a waste of time.

Deploying OpenStack was even worse.

Sosinsky’s work, though, is not only less temporally-constrained, but actually provides a huge amount of useful information in a nice, tight package.

Pages 27-28, for example, demonstrate a list he calls, “”The laws of cloudonomics” (drawn from Gigaom). In summary:

  1. Utility services cost less even though they cost more
  2. On-demand trumps forecasting
  3. The peak of the sum is never greater than the sum of the peaks
  4. Aggregate demand is smoother than individual
  5. Average unit costs are reduced by distributing fixed costs over more units of output
  6. Superiority in numbers is the most important factor in the result of a combat (Clausewitz)
  7. Space-time is a continuum (Einstein/Minkowski)
  8. Dispersion is the inverse square of latency
  9. Don’t put all your eggs in one basket
  10. An object at rest tends to stay at rest (Newton)

While the book does use individual exemplars (often open-source), Sosinsky took great pains to make as exhaustive a list as could be at the time of publishing – and indicates every time a list is about to be encountered that there are more options that were missed.

A few items in the book are dated (like Google Apps: The Missing Manual was). However, the vast majority of the content is as useful today as it was in 2011 when the book was published. This is an impressive accomplishment for a technical book. Especially for one written in the approximately-nascent world of cloud computing.

This is one of the few tech books I would recommend to anyone interested in the topics of cloud computing. I haven’t bought a copy … yet (my library has a pretty good system). But I want it.

so much depends on reputation – guard it with your life – law 5 – #48laws by robert greene

Law 5

Reputation is the cornerstone of power. Through reputation alone you can intimidate and win; once it slips, however, you are vulnerable, and will be attacked on all sides. Make your reputation unassailable. Always be alert to potential attacks and thwart them before they happen. Meanwhile, learn to destroy your enemies by opening holes in their own reputations. Then stand aside and let public opinion hang them. –Robert Greene, The 48 Laws of Power (review)

organizational knowledge capture, retention, and dissemination

Knowledge capture, retention, and dissemination has been an interest of mine for a long time. I have written about various aspects of it before.

The most vital commodity any organization has is the knowledge of its members – it does not matter if it is a historical society, company, church, or school: the organizational knowledge base is vital to ongoing health of the organization.

I love the picture of the “Tree of Wisdom“: at the ground there is a meadow of data, from this data information roots are gathered, the roots grow into knowledge branches, and at the end is the application of that knowledge in wisdom leaves.

Data is easy to come by.

Information similarly so.

Knowledge, taking information and transforming it into a more-usable form, is important.

When to apply that knowledge – aka using wisdom – is the topic for another post.

Capturing Knowledge

There are a host of available tools for capturing knowledge – text files, brown bags, PowerPoint, SharePoint, blogs, Plone, wikis, etc. The “best” one to use is the one you use.


Getting team members to contribute to organizational knowledge pools can be difficult – unless it is an organizational priority .. a part of the organization’s culture.

Incorporating this culture switch (if it’s not already innate to the organization) needs to be done not merely as a top-down directive, but encouraged via bottom-up interest.

Retaining (Managing) Knowledge

Now that you’ve captured (or started capturing) the organization’s data, managing it becomes the next task of import.

For example, should the KB article written 5 years ago be updated, replaced, or left alone?

Who is responsible for managing all of the information that has been collected? Will it be self-managed and -directed, will there be a curation team, will it be a combination?

Who determines the process for taking “internal” knowledge and “promoting” it to “outside” knowledge?

How are these roles going to be managed as the team changes memberships through people leaving, entering, and shifting in the organization?

For extremely small organizations, formal curation may be unnecessary. Perhaps since everyone knows everyone else, or the knowledge domain is so small, everyone’s individual contributions will remain fairly static and the “promotion” path will merely be proofreading (eg a historical society’s archives – the archives may be extensive, but the material doesn’t ‘change’ all that much (excepting being added-to, of course)).

For very big organizations (like the MSDN documentation available on, many layers of curation are likely going to be needed – proofreading, formatting, verifying, etc.

Finding the right balance of self-direction and organizational management can be tricky.

Disseminating Knowledge – Getting The Word Out

All of the captured knowledge in the world is useless if you can’t find it – and knowing where to look is vital. A close second to knowing where to look is how to find it.

Where is it?

There needs to be a solid document, landing page, directory, table of contents, etc so that new members (or folks who forget) can find the tribal knowledge that exists in the organization.

As a part of the new-hire\introduction\etc process\period, be sure to tell new members where information can be found, and who to talk to about certain major topics.

Finding it once you know where to look

“Search is a hard problem.” Google’s own Udi Manber said that. Anna Paterson at Stanford wrote, “Writing Your Own Search Engine Is Hard.”

Search in general may be hard, but many tools handle at least basic (and some fuzzy) searching well – OSQA, WordPress, Plone, Drupal, and many others. If, in addition to categorization, a tag taxonomy is employed, quickly finding content relevant to the searcher’s wants\needs can become easier.

“A tag is a keyword or label that categorizes your question with other, similar questions. Using the right tags makes it easier for others to find and answer your question.” {SO description}

Knowledge contributors should be the primary agents of tagging. However, consumers should be able to suggest additional tags. Administrators\curators should be able (under unusual, but well-defined, circumstances) to remove tags.

The human factor

For any given topic / knowledge region in the organization’s realm, there need to be established “experts” and “mentors” who will help guide new individuals through the fog to locate the buoys to be able to navigate themselves into a clearer understanding of the new world they have been made a part of.

Apprenticing upcoming experts into the organization is the single most vital aspect of the knowledge capture process – if it is not disseminated, it doesn’t matter if it is captured.

redecentralizing school

I have a very longterm interest in education.

As I look at the current public education “system” in the US, I can see a variety of major problems.

The biggest problem, endemic of any system built around the premise that the only people who should be together all day long should all be “similar”. Somewhere along the way, we decided it would be a Good Idea™ to split children into monocultures of more-or-less indentically-aged groups called “grades”, and then batch them into groups of 20-30 and herd them through a variety of subjects every day.

We have lost the concept of learning as exemplified throughout history in the “apprentice” or “disciple” model.

Before the monoculturification of schooling, whole (but small) groups of children were taught together – it’s how my dad’s uncle was taught. From 1st (or K) through 12th all in one room. At any given moment, all ages were either being reminded of earlier work, or hearing about later work, or doing their own work.

This model is still used by the large segment of the population that homeschools (presuming, of course, they have more than one child).

What if we re-adopted this approach to school in the public system? What if, instead of having schools which housed hundreds of students in just a couple grades, we had schools in every neighborhood that had a few dozen students that represent all the grades of the community?

What if schools became “migratory” – in the sense that as the demographics of the community change, the location of the school ‘building’ can shift. Perhaps, for example, in a suburban community the school could be usage of a development community center – but if and when the community has fewer or no children, the school locale could be removed or shifted to a new young demographic area.

Some of the myriad benefits I can envision in such a scenario:

  • reduced overhead for any given school in terms of hiring, maintenance, etc
  • reduced school board / district overhead – elimination of now-unneeded positions
  • increased teacher-to-student engagement
  • lower student-to-teacher ratios
  • increased student retention as they are continually being reminded of old concepts
  • teachers becoming more generalized, rather than [potentially] myopic in their teaching
  • team teaching – cutting across disciplines and seeing an integrated view of the world
  • improved teaching flexibility
  • reduced union strength
  • improved connections between teachers and the community they serve
  • more well-rounded graduates
  • reduced / eliminated busing
  • decreased prevalence of bullying
  • increased likelihood of teachers living near/in the communities they serve

Some of the antibenefits I could envision:

  • loss of school sporting teams
  • forced generalization of teachers
  • more complex IT support infrastructure (if managed by a central authority such as the board or district)

I eagerly anticipate your feedback – what do you think?

decentralizing email

After several years of pushing all of my personal email into Gmail, I’ve decided that relying [almost] exclusively on one provider is just not the best idea ever.

Google is great. But, as with any cloud service, exclusively relying on just one provider is not the best.

Going forward, I am going to be relying on my own server (which I have been indirectly for several years), as well as Yahoo. And Microsoft Live for Domains (which is freely available the way Google Apps used to be).

I love cloud computing – right now, it’s a major component of my job function. But it’s not a panacea. Everything has its place, cloud computing included.

So, I am not saying “goodbye” to Google. I’m just saying “hello” to others 🙂