Archive for November, 2013

Happy Thanksgiving

November 24, 2013

I am now preparing for Thanksgiving and will be very busy for the next 10 days.  During this period, I will not be preparing any posts.  Furthermore, my response to your request for “approvals” may be a bit delayed.

HAVE A HAPPY THANKSGIVING

Advertisements

Developing a Website using a software parts library

November 24, 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.

2013/11/24

STATUS: The software part, _WEBSITE_STYLE_LINK_COLORS, was successfully
integrated into the software parts library.  A deficiency in the
management of colors was discovered.

DETAIL: Every color used in the preparation of the web-site is
specified by the _WEBSITE_COLOR_DEFINE software part. Each color used
is associated with a user-provided name.  These names of these colors
will be used as required. At the present moment, I forgot to display an
error message when I used a color that was not defined.

MY NEXT TASK: My next task will be to upgrade my color management to
display an error message when a color specified was not defined by the
__WEBSITE_COLOR_DEFINE part.

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

November 24, 2013

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

MORE IN THE NEXT MESSAGE

I, A Programmer, Am Also A Quality Assurance Manager

November 24, 2013

To be strictly compliant with ISO9001, Programmers must
use enforceable standard methods and processes.

Assembly Language Programmers used macros for common
multi-instruction processes.  These macros, once developed,
were never changed.

Software “breaks fatally” when it illegally writes.   The
error cannot be fixed and it might take the machine down.

There are many error detection code segments that programmers
use during checkout and then remove before delivery.

I developed a C++ Macro Preprocessor to provide a highly
competent macro capability to facilitate using error detection code.

Unlike the Macro Assembler, my C++ Macro Preprocessor prepared
source code exclusively from the Macros.

IBM developed the first piece of error-free software in 1968.
It was the PL/1 Compiler and it was a joy to use.

The PL/I Compiler was error free due the strict application of
the requirements of simple precedence.

In the late 1960’s, Bob Prince of Lockheed developed a simple
precedence based compiler writer which I used.

In the early 1970’s, I used the Lockheed Compiler Writer to
prepare non-compiler applications with moderate success.

I had difficulty with the Compiler Writer on non-compiler
applications because data flows differently than processes.

I realized many years later that a multi-dimensional precedence
process could manage both processes and the data flow.

I learned how to make a set of coupled precedence processors
that “policed” the use of classes and the flow of data.

I updated my C++ Macro Processor to render it capable of
deploying simple precedence principles to my programming efforts.

My Macro Preprocessor satisfied the Standard Methods and
processes requirements of ISO9001.

I inadvertently became a Quality Assurance Manager.

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

November 22, 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 Computer Wisdom of Bugs Bunny

November 22, 2013

Do you remember the Bug’s Bunny cartoon where he pops out of the ground
in the middle of the desert and says “I think that I should have turned
left at Albuquerque”?

Mistakes always happen; some because of stupidity, some because of greed;
some because the required knowledge was not available, and some because
we are just human beings.

We are currently experiencing a great many security problems due to
hackers.

The basic computer design that makes this possible has a common program
and data buss.  Hackers can cause their program to be loaded on the target
machine via this common buss.

In the late 1970’s, there was a different computer design, the Harvard
Architecture with separate data and program busses.  This architecture
cannot be hacked.

About 1985, the microprocessor became practical and the Harvard
Architecture became obsolete.

“Did we turn right at Albuquerque in error”?  I believe so. Could
have avoided it? I think not. We could not have predict the future.

Should we re-vitalize the Harvard Architecture?  I think the benefits
would greatly out-weigh the costs.

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

November 21, 2013

RULE 1 — RIGOROUSLY USE STANDARD METHODS.

Prepare a minimum set of standard methods that you will use on all your programming effort.  Keep the “simple, stupid”.

In the hardware world, the Quality Assurance Manager working with management purchase the set of Integrated Circuits needed to get the job done.

These standard methods are your “Integrated Circuits”.

MORE IN THE NEXT MESSAGE

The Deming Cycle — Everyone Should Know It.

November 21, 2013

The Deming Cycle, the historical basis for all Quality
Assurance Programs, helped Japan to recover after World
War II.

The Deming Cycle consists of four steps: Plan, Do, Check
the Results, and Alter the Plan if necessary.

The Deming Cycle is a good definition of common sense.
I have used it on many occasions without knowing it.

When applying the Deming Cycle, when do we learn new and
better ways of doing our task?

We learn during the fourth step of the Deming Cycle when
we Alter our Plan.

WHATIFWE were all taught the Deming Cycle as a part of
our public education?

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

November 19, 2013

To become a Software Engineer with a Quality Assurance
capability, you must implement a basic philosophical change.

Software is not an art form; the computer is not the easel
where you can express your creative juices.

You will become an engineer responsible for providing tools
and services that will affect public safety.

You think not.  I beg to disagree.

I was transferring $1000 between my savings and checking
accounts when the ATM went down. It took the bank half a
day to find my money.

You ask, what do I need to do in order to improve my quality
and be more indispensable to my employer.

RULE 1 — RIGOROUSLY USE STANDARD METHODS.

RULE 2 — TEST ALL WORK PRODUCTS.

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

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

MORE IN THE NEXT MESSAGE

My Problems With LinkedIn.

November 19, 2013

I need to alert everyone that I do not have a working LinkedIn system.

I have made several attempts at correcting the problems without success.

People trying to connect with me on LinkedIn will be unsuccessful, no
matter how much I want to connect with them.