Archive for September, 2013

The Most Important People In Our Society

September 23, 2013

Who are the most important people in civilized society?

Are wealthy individuals the most important people in our
society? No, they are not.

Are celebrities the most important people in our society?
No, they are not.

Do religious organizations contain the most important
people in our society?  No, they do not.

Are government officials the most important people in our
society?  No, they are not.

The artisans and highly skilled professionals are the most
important people in any civilized society.

Nothing of any value gets done without the participation
of these highly skilled professional.

WHATIFWE increased the number of highly skilled home-based
pioneering professional software engineers?

Advertisements

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

September 22, 2013

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

Software “Breaks”!

September 22, 2013

A 17 year old sailor on a submarine must be able to
fix a critical piece of electronic equipment within
15 minutes.

Critical submarine hardware has the required subsystems
to facilitate the location of a failed replaceable components.

Most hardware these days has at least one computer within it.
This includes critical submarine systems.

Can the same 17 year old sailor on a submarine find and
correct a critical software failure within 15 minutes?

Does software “break”?  Not really. but software fails when
it illegally or incorrectly writes some data.

Programmers have many ways of preventing illegal writes which
they use in checkout and then remove before delivery.

WHATIFWE used formal illegal write prevention code in delivered
software?

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

September 20, 2013

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

The Role of the Media

September 20, 2013

Both the incompetent and the competent benefit from
media attention.

The competent leader requires community participation.
The media helps him to obtain the participants.

The incompetent needs 15 minutes of fame. The media
helps him to satisfy his greedy goals.

Unfortunately the entertainment associated with the
incompetent attracts a lot of media attention.

The competent pioneer finds new solutions to current
problems.

WHATIFWE were to provide the media attention needed
to develop hope from the new ideas of the competent
pioneers?

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

September 20, 2013

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

Relative 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 multi-tasking capabilities unless
absolutely necessary.  This capability can expose you to many
challenging problems.

MORE IN THE NEXT MESSAGE

Monte-Carlo Test Method

September 20, 2013

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?

Developing a Website using a software parts library

September 20, 2013

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.

THURSDAY: 2013/09/19

STATUS: The software parts library for the CSS file has been
successfully prepared and functionally tested.

MY NEXT TASK: An examination of Mr. Mike’s source code with the object
of defining a set of software parts is the next task,

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

September 17, 2013

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 describe 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

The Experimental Process — Any One Can do It!

September 17, 2013

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.