Archive for September, 2014

Developing a Website using a software parts library

September 23, 2014

The activity associated with development of a software parts library for the development of a web-site will be presented here. This will be an extension of the library used to prepare Programmable Software Development Environment manual.

This effort was started a long time ago following the development of the manual software parts library. Its purpose was to eliminate the need for Front Page. It was subsequently put on hold so that other more important efforts could proceed.

Mr. Mike is a long time professional friend of mine who has recently offered to reconstruct my Web-Site. I told him my plan to use my tool to rebuild my site. He has had difficulties relating to my technology (It is quite different than normal programming methods) and I am not really skilled in Web-site design. We both felt that this might a great opportunity to make the technical connection.

MONDAY: 2014/09/22

STATUS: The development and preliminary tests of the Horizontal Group section parts have been completed.

MR_MIKE_CONTRIBUTION:

DETAIL: Four software parts were developed: 1) _WEBSITE_STYLE_HORIZ_LEFT 2) _WEBSITE_STYLE_HORIZ_WIDTH , 3) _WEBSITE_STYLE_HORIZ_RIGHT, and 4) _WEBSITE_STYLE_HORIZ_END. Preliminary test were performed for all combinations of the Print/NoPrint states.

RESULTS: The CSS Files have been examined and appear to be correct. The actual behavior of these files can only be verified with the corresponding HTML files.

MY NEXT TASK: My next task will be to start preparing the associated HTML software parts.

Life of A Programmer — Session 8.2 — Tools Help Make The Software Engineer

September 20, 2014

The Tool, if it is to be compliant of the principles of ISO-9001 must be capable of:

1.0 Developing a system of Standard Methods.

2.0 Exclusively using these Standard Methods in the development of product.

3.0 Testing all work-products from the Standard Methods all the way to the Product.

An experimental beta development system that satisfies these requirements is available on my web-site, http://www.whatifwe.com

I have developed both a Linux and Windows Open Source version.

They can be downloaded free-of-charge.

The download has a fairly decent manual.

THE END

Monte-Carlo Test Method

September 20, 2014

A Number of years ago, I had a contract to build a hardware
control sub-system software product.

This hardware control sub-system was designed to control
legacy hardware shipped back from the Middle East.

This legacy hardware appeared to have not been well-maintained;
it needed a lot of service.

I was afraid that I might break this hardware when I tested my
hardware control sub-system software product.

I developed a Monte-Carlo Simulator/Stimulator Test System to
validate my hardware control sub-system product.

The Monte-Carlo technology is based on a pseudo-random generator.
It was originally used in the development of nuclear weapons.

The random nature of my Monte-Carlo Test System enabled me to
rapidly and thoroughly test the hardware control sub-system, both
from a user and hardware point-of-view.

The use of a Monte-Carlo Simulator/Stimulator Test System
enabled me to deliver an error-free software product.

WHATIFWE used Monte-Carlo software test methods for all software.
Would we get better products?

Life of A Programmer — Session 8.1 — Tools Help Make The Software Engineer

September 19, 2014

With the right development program, you can develop Error
Free Software.

There are some historical examples of this truth.

In the early 1960’s, Fortran was a major computing languages.

The Fortran compiler had a never ending bug list.

PL/1, the next major language, was far more reliable.

I used it at Lockheed for over five years and never encountered
any errors.

PL/I was designed in strict compliance with the principles of
simple precedence.

MORE IN THE NEXT MESSAGE

The Experimental Process — Any One Can do It!

September 19, 2014

Many years ago, there was the HeathKit company.

It had for sale various electronics kits.

They sold amateur radio, television, instrumentation kits.

I bought my first personal computer from them. It was a Heathkit H89.

That computer was the beginning of my personal research effort.

This computer resulted in three overseas conference publications.

I have never taken any course in software engineering or electronics.

I have learned everything through an extensive experimental effort.

Would you believe it if I told you that every person knows how
to experiment.

No! Let me show you that it is true.

As soon as a baby gains enough strength to roll over and get his
tummy off of the floor, he crawls around and gets into things.

What does he do with them? He puts them in his mouth.

Did you ever think that a baby’s mouth is his best instrument at birth?

It has to be! Otherwise he won’t be able to eat.

You are not a little green guy from outer space.

You were once a baby. When you started to crawl, you put things
into your mouth.

Therefore, you basically know how to experiment.

I rest my case.

Life of A Programmer — Session 7.5 — How Do I Become a Quality Assurance Software Engineer

September 18, 2014

RULE 4 — NEVER USE A PATCH TO SOLVE A PROBLEM.

Never patch the program!!!.

A patch is usually a last minute change which is not clearly
thought out.

The product delivery is usually close at hand.

Management is saying “All you have to do is …” (The most
dangerous phrase in the English Language).

The patch will probably violate RULE 1 (The strict use
of standard methods).

None-the-less, avoid the short-cut and you will more likely
find the solution to the problem.

MORE IN THE NEXT MESSAGE

Prague Conference in 1987

September 18, 2014

n 1987, I presented a scientific paper at a conference
in Prague, Czechoslovakia.

At that time, Prague was a city in the territory under
control of the Soviet Union.

I have always performed my research on my own time and money.

I attended the conference on my vacation.

Needless to say, the other attendees were quite curious
about my personal research efforts.

During this time, I had an interesting conversation with
a Polish attendee while walking along the river:

POLISH ATTENDEE: We are not special.

MY RESPONSE: Being special is defined by what you do
to be the very best in your field.

POLISH ATTENDEE: We have no resources.

MY RESPONSE: Do you have a personal computer at your home?

POLISH ATTENDEE: Yes.

MY RESPONSE: Probably a better one than I have. My is
a Heathkit H89.

POLISH ATTENDEE: The bosses will not like it.

MY RESPONSE: Usually, the bosses don’t kill the goose
that lays the golden egg right away.

At this point he understood and I was effectively
“walking on water”.

You ask: why am I sharing this little bit of history
with you.

History is a great teacher and today we need to learn
this lesson.

Life of A Programmer — Session 7.4 — How Do I Become a Quality Assurance Software Engineer

September 16, 2014

RULE 3 — USE OLD, WELL-TESTED, OPERATING SYSTEM CAPABILITIES.

Relative to the operating system, use the old, well established
capabilities and minimize your interface.

Think of it in a similar manner as purchasing a new car.
If you purchase a radically new model, you will become an
unwilling member of the test team.

Similarly do not use a pipe if a file will do as well. Files
were developed long before the pipes.

An above all, do not use its multitasking capabilities unless
absolutely necessary. This capability can expose you to many
challenging problems.

MORE IN THE NEXT MESSAGE

Software Engineers are Quality Assurance Managers

September 16, 2014

Have you ever noticed that Quality Assurance, ISO-9001,
and the Deming Cycle is taught only in Business Administration?

I have found that when Quality Assurance was taught in Engineering
Schools, it was in Engineering Management Classes.

Is Quality Assurance just an Engineering Management Problem? Is
a Software Engineer a Quality Assurance Manager?

Computer Programs are special Deming Plans to be Done at the
client’s site by a computer not by a human being.

Software Engineers are, in reality, Quality Assurance Managers.
For the most part, they do not realize this fact.

WHATIFWE taught Quality Assurance, ISO-9001, and the Deming
Cycle to all Engineers in our Engineering Schools?

Life of A Programmer — Session 7.3 — How Do I Become a Quality Assurance Software Engineer

September 14, 2014

RULE 2 — TEST ALL WORK PRODUCTS.

I was able to “look over NSA’s shoulder” when they were developing
SELINUX (Secure Linux Operating System”.

Their activity can be best described as “programming as usual”.

I asked them about their test plans. They said that they were not
going to test the system. It would be Common Criteria tested when
delivered.

This is not an adequate test plan. Testing all of the work-products
is the only way to thoroughly test the product.

Back in my hardware engineering days, we made test plans which
thoroughly tested each circuit board. Divide and conquer!

SELINUX will fall short of its intended goal. The bad-guys will
find the weak points.

MORE IN THE NEXT MESSAGE