Archive for July, 2018

I, A Programmer, Am Also A Quality Assurance Manager

July 31, 2018

To be strictly compliant with ISO-9001, 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 multidimensional 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 Processor satisfied the Standard Methods and
processes requirements of ISO-9001.

I inadvertently became a Quality Assurance Manager.

Advertisements

Life of A Programmer — Session 6.3 — What should a Quality Assurance Software Engineer Know.

July 30, 2018

SOFTWARE ERROR SOURCE 2: THE OPERATING SYSTEM.

The operating system is the silent partner in all software
development activities.

The operating system, also having been developed by human
beings, will also have errors.

Most of the errors will have already been discovered.

The ones that have not been discovered will, in general,
be difficult to fix.

You, as the user, will have no control over that repair
process.

Consequently, you may end up with a difficult task of
working around a system error that was discovered on your
watch.

MORE IN THE NEXT MESSAGE

The Purpose of My Blog

July 29, 2018

The original purpose of my blog was to provide me an easy
means of reporting my activity on my personally funded
research and development activities on error-free software
development methods.

I subsequently expanded the purpose of my blog to encourage
others to improve their skills by conducting their own
regular experimental process.

I became a software engineer in 1966 due to an experiment
that I had performed. I have never taken a course in
Software Engineering. You are encouraged to take a similar
path. If my tools can be of any benefit, they can be
downloaded free-of-charge from my web-site, http://www.whatifwe.com

My Response to Large Quantity of Comments

July 27, 2018

I am the only one managing the blog and hence
have a limited amount of time to do so.

If there are less than 100 comments, I will examine
each comment to determine whether I will approve it
or delete it.

If there are more than 100 comments, I will examine
and approve comments according the following rules:

For each group of twenty comments, I will:
1. Find the first one that I can approve.
2. Approve the selected comment.
3. Delete the remaining 19 comments.

Thank You for your understanding.

PROGRESS REPORT

July 27, 2018

This purpose of this post is to publish single line
reports on the projects performed during the week.

**************************************************************
**************************************************************

2018-07-23

Common Class Routine Libraries

I began developing the software parts for the commonclassroutine library.
The need for a _BASIC_STRUCT_ALIAS_EXITS routine for
verifying the uniqueness of the Routine Name occurred.

2018-07-24

Common Class Struct Library

A _BASIC_STRUCT_ALIAS_EXISTS software part was added to the commonclassstruct
library and thoroughly tested.

2018-07-24

Common Class Struct Library

The include file and basiccommonclassstruct library have been prepared. It will be
tested when this library is used to test the commonclassroutine library

Prague Conference in 1987

July 24, 2018

In 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 6.2 — What should a Quality Assurance Software Engineer Know.

July 23, 2018

SOFTWARE ERROR SOURCE 1: THE SOFTWARE DEVELOPMENT ENGINEER.

All Software Development Engineers are human beings, not little
green-guys from Mars

All human beings, including Software Development Engineers make
errors.

Software errors created by Junior Programmers are discovered early
and easily fixed.

Errors created by Senior Programmers take a long time to surface
and are usually hard to fix.

You have probably already had to solve a very difficult problem
on a project that you completed a year ago

MORE IN THE NEXT MESSAGE

How Do I Make My Blog

July 21, 2018

There have been quite a few requests for advice on
“how to build a blog”. As you can see from my blog, I have
prepared a lot of posts. Therefore, I have learned how
to do it efficiently.

There are some simple rules for making your blog easy
to prepare.

1. Have a well-defined purpose for your blog. For myself,
my blog was a means of publicly documenting my research and
development efforts.

2. Use a standard format. Then you can build a template
which will greatly facilitate its preparation. I use
my development software to write the blog.

3. Don’t get carried away with an artistic design. I use
the free WordPress. I do not use any pictures; all I
have to do is paste in the text. Above all, I did not
have to develop the blog web-site.

Above all, recognize that every post you publish will be
in the public domain forever. I have been very careful
to put just enough information to identify and date my
efforts but not to give away any proprietary data.

Hope that this helps.

PROGRESS REPORT

July 20, 2018

This purpose of this post is to publish single line
reports on the projects performed during the week.

**************************************************************
**************************************************************

2018-07-16

PORTABILITY PROJECT

The gcc version of the windows stndpcg and explrpde programs have been
successfully prepared and tested. Strict Portability between my linux, windows,
and apple machines has been achieved.

2018-07-18

COMMON CLASS LIBRARIES

The certification tests of the CommonClassStruct has been completed.
The selection of the next development task must now be determined.

Monte-Carlo Test Method

July 17, 2018

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?