subscribe to the RSS Feed

Sunday, June 25, 2017

Introduction to Service-Oriented Architecture

Posted by admin on March 1, 2010

The rapidly-changing business environment and the ubiquity of the Internet and the World-Wide Web have led to the emergence of platform-independent, web-based technologies as the standard building blocks for enterprise integration.  These technologies are called “Service Oriented Architecture” (SOA).  Fundamental to SOA are the concepts of Web services and the Enterprise Service Bus (ESB).  But SOA is also the enterprise Information Technology (IT) infrastructure – Web portals, networks, common software services, web-enabled legacy applications, and databases that support delivery of Web applications.  My e-book explores the evolution and concepts of SOA in both contexts, the enabling technologies and as an enterprise IT infrastructure.  You can download it here:

Introduction to SOA

Use Three Simple Estimating Tricks to Increase Your Knowledge of Your World!

Posted by admin on February 21, 2010

It is the mark of an instructed mind to rest satisfied with the degree of precision which the nature of the subject permits, and not to seek an exactness where only an approximation of the truth is possible.


Have you ever listened to the news and heard one of the talking heads make a particularly nonsensical assertion? Did you think to yourself, “That is just not believable?” When you have that experience, do you try to prove to yourself that the assertion is far fetched?

With this type of problem, you generally need only a rough estimate to demonstrate that the assertion is feasible or improbable. Many day-to-day problems are of this type. Engineers and scientists use estimates to quickly evaluate these problems. Learning and using simple estimating tricks will greatly improve your ability to critically evaluate events and opportunities in your day-to-day life.

An extremely simple yet useful estimate is to determine before beginning a calculation if the answer is greater than or less than 1. This comes in handy when converting fractions to decimals. Take 8/5 for example. When we convert this to a decimal, should the answer be greater than one or less than one? Since 8 in the numerator is greater than 5 in the denominator, we know the answer should be greater than 1. If we do the division correctly, we should get this:

Correct Calculation

Correct Calculation

However, if we mistakenly do this:

Incorrect Calculation

We've Made an Error

We know right away that we’ve made an error because our answer is less than 1.

Another simple but useful estimating trick is to determine if an answer should be positive or negative before beginning. It is said that the single most common error made by engineers using advanced mathematics is making a plus or minus sign error. Take for example, – ½ * ¾ * -2

We see that there are two minus signs so our answer should be positive. If we punch the numbers in our calculator and come out with a negative answer, we know immediately again that we have made an error.

The third simple estimating trick is using an order of magnitude estimate. An order of magnitude simply means a power of ten. When we estimate to an order of magnitude, we ask simply, is it closer to 1 or to 10, to 10 or 100, to 100 or 1,000, and so on. We can also estimate small numbers similarly. Is it closer to 1 or 1/10, to 1/10 or 1/100?

Using order of magnitude estimating, we calculate a “ballpark” answer before beginning a problem. If we get a final answer that is very much different, we know that we have made an error. Take for example, 7543 / 0.4359. Since 7543 is closer to 10 thousand than to 1 thousand, we round it to 10 thousand. Since 0.4359 is closer to 0.1 than to 1, we round it to 0.1. Dividing 10 thousand by 1 tenth, we get 100 thousand. The true answer, 17,204.4276 is within an order of magnitude of 100 thousand. If we made a mistake, say multiplying instead of dividing, we’d get 3,287.9937, which is closer to 1 thousand and is more than an order of magnitude from the correct answer, letting us know that we made a mistake.

Order of magnitude estimates are useful when an exact answer is not required. They can help understand big questions readily. For example, if you were to take off in a space ship just powerful enough to leave earth orbit, would it be feasible to travel to our nearest star, Proxima Centauri?

Taking escape velocity as 11.2 km per second, the distance to Proxima Centauri as 39.7 quadrillion km, and 31.5 million seconds in a year, we would come up with an order of magnitude estimate of 10 quadrillion km divided by 10 km/sec all divided by 10 million seconds per year. Using the back of an envelope, we write 10 quadrillion km / 10 km/second. We cancel one zero from the top and bottom leaving 1 quadrillion seconds. We then divide 1 quadrillion seconds by 10 million seconds per year. We cancel 7 zeros from the top and bottom, leaving 1 with 5 zeros, 100 thousand years, as our final answer. Something will certainly break on our spacecraft before 100 thousand years has passed. So, the answer is that our spacecraft may eventually get there, but it will in all likelihood be broken.

Order of Magnitude Estimate

Back of the Envelope Order of Magnitude Estimate

If we do the real math, we find that our answer is not appreciably different:

3.97 × 10^13 km / 11.2 km/sec = 3.54 × 10^12 secs

3.54 × 10^12 secs / 31.5 × 10^6 seconds/ year = 112,528 years

Whether it takes 100 thousand years or 112 thousand years is not going to make a difference. None of us will be around by the time the spacecraft gets there. In this example, the order of magnitude estimate comes very close to the calculated answer. Other times, it will be further off. For our purpose, we don’t care. We know that the answer is between 50 thousand and 500 thousand years. Long enough for us to decide that this endeavor is not feasible.

What’s with the 10^13 stuff, you may ask? That’s called “Scientific Notation.” It’s an easy way to work with very large or very small numbers, numbers with a lot of zeros. It will be the subject of the next article.

Corona's Hammer

Math Is Your Hammer!

In this post, we’ve talked about three easy to use estimating techniques. It is a good practice to use one or more of these when we start to solve a math problem. It is easy to make errors when performing complex calculations. Having a rough guess at the correct answer before beginning the calculation gives us a way to check to see if we have performed the calculation correctly.

In addition to improving our math, these techniques can be used to understand problems that involve large numbers. A calculation using order of magnitude estimates, usually easy enough to be done in your head or on a scrap of paper, can answer many questions of the type, “Is this feasible?” or “Is this plausible?”

Try using these techniques to answer questions in your everyday life. I would love to hear about your experience. Do you find them useful? Please leave a comment to let me know what you think!

Don’t Be a Pilot

Posted by admin on January 27, 2010

The most degrading experiences we have are in the simulator when learning a new aircraft. When we do something incorrectly, we are reprimanded and then get one or two chances to do it correctly. Not life and death in this instance, but the point is that we have to get it right in training because while actually flying the plane, we have to get it right since sometimes it is life and death!
First Officer Sarah Murphy Case
Delta Airlines Pilot

This is the second in a series of articles to help improve your critical thinking and problem-solving skills.

Consider the very different world of the pilot and the engineer. The pilot gets one chance and has to execute perfectly every time. An engineer may consider tens of ways to approach a problem, narrow the options to a handful, evaluate the advantages and disadvantages of each, and prototype and test a few. During testing, problems will be found. More prototypes may be made and tested before finally putting a new product into production. Where a pilot demands of herself that she be successful on every try, an engineer expects to fail many times before he suceeds. Neither of these is right or wrong. Someone willing to make mistakes would not make a good pilot nor would someone afraid to make mistakes make an effective engineer.

These differing professions attract people with differing personalities. People naturally gravitate towards professions that are suited to their unique personalities. A pilot may prefer order and stability while an engineer not only embraces change but seeks to be an agent of change.

One of the classes in my MSEE program at Colorado Tech was Creative Leadership. My fellow students were a diverse lot, coming from a wide variety of graduate programs. The class was a hybrid, meaning half of the time was spent in a classroom and the other half in online discussion. I particularly enjoyed online discussions with another student who was a pilot. We had different ways of looking at the world, which resulted in lively and enjoyable discussions.

Dobie Pilot

What Is Your Personality Type?

One in-class exercise was completing the DISC assessment, a personality test designed to “examine the behavior of individuals in their environment.“i The pilot and I had strikingly different profiles. She scored high on Steadiness and Conscientious, while I scored medium to low. She scored medium to low in Dominance and Influence, while I scored high in both:

Dominance: People who score high in the intensity of the “D” styles factor are very active in dealing with problems and challenges, while low “D” scores are people who want to do more research before committing to a decision. High “D” people are described as demanding, forceful, egocentric, strong willed, driving, determined, ambitious, aggressive, and pioneering. Low D scores describe those who are conservative, low keyed, cooperative, calculating, undemanding, cautious, mild, agreeable, modest and peaceful.
Influence: People with high “I” scores influence others through talking and activity and tend to be emotional. They are described as convincing, magnetic, political, enthusiastic, persuasive, warm, demonstrative, trusting, and optimistic. Those with low “I” scores influence more by data and facts, and not with feelings. They are described as reflective, factual, calculating, skeptical, logical, suspicious, matter of fact, pessimistic, and critical.
Steadiness: People with high “S” styles scores want a steady pace, security, and do not like sudden change. High “S” individuals are calm, relaxed, patient, possessive, predictable, deliberate, stable, consistent, and tend to be unemotional and poker faced. Low “S” intensity scores are those who like change and variety. People with low “S” scores are described as restless, demonstrative, impatient, eager, or even impulsive.
Conscientious: People with high “C” styles adhere to rules, regulations, and structure. They like to do quality work and do it right the first time. High “C” people are careful, cautious, exacting, neat, systematic, diplomatic, accurate, and tactful. Those with low “C” scores challenge the rules and want independence and are described as self-willed, stubborn, opinionated, unsystematic, arbitrary, and careless with details.

Each personality type excels in different environments. A person who challenges the rules may be good in some situations but disasterous in others. People with diverse personalities can form strong teams with each member taking on different aspects of a task, taking aspects that best fit their personality. For example, “big picture“ people may be good at getting projects started, but people who love detail are better at getting projects finished. Understanding personality differences can help you appreciate the people in your life. Appreciate the positive aspects of the personality types around you. The pilot in your life may be hard-headed and stubborn, but they’ll save you from leaving the house with the coffee pot on. Love them because their antics are humorous and worthwhile. They are reflections of the personality traits that make them good at what they do.

Why not také a personality test and compare the results with friends, family, and co-workers? There is a free test available online version here.

Goofy Dobie Pilot

Expect to Make Mistakes

What this means for problem solving though, is that if you have a personality that thrives on following procedures and craves a world of order and perfection, you can become a better problem solver. Consider these tips:

  1. Be more accepting of yourself. Accept that mistakes and missteps are natural, expected, and necessary to problem solving. Expect that you will make mistakes, turn down a few blind alleys, and follow a few false leads.
  2. Be persistent. It is said that Thomas Edison tried 9,990 experiments before finding the right wire to make a lightbulb. If one approach does not work, do not get discouraged, try another.
  3. Open yourself up to more possibilities. Search for “creativity exercises“ on the Web and warm up with a few.
  4. Brainstorm. Write down as many ideas as you can. Then, write some more. Don’t judge any ideas as “bad.“ Allow the creative juices to flow. Only after you have written as many ideas as you can, select the most promising for further study.

When you are a pilot happily turning your jetliner for final approach at your base and the end your trip, revel in your perfection and your well-ordered world. But when you are on the ground and facing a dilemma, don’t be hard on yourself. When it comes to solving problems, don’t be a pilot. Although it may not come easily or naturally, avoid being discouraged when you do not come with an answer in one or a few tries. Make a conscious effort to open yourself to change and use techniques to increase your creativity. Accept that mistakes, missteps, and blind alleys are part of the process. Adopt an engineer’s perspecitive!

On a final note, watch for my upcoming article, “Don’t Be an Engineer: How to Eliminate Chaos, Clutter, and Insanity from Your Life in Five Easy Steps.“ It’s a work in progress. Expect it in, oh, say, a few years!