Archive for February, 2014

Developing a Website using a software parts library

February 28, 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.

FRIDAY: 2014/02/28

STATUS: Two important questions came to life as I attempted to defined the necessary html software parts necessary to define a group section, particularly the baseline wholepage section.

DETAIL: Specifically, there are html like statements in the screen CSS files in one of Mr. Mikes’s example and no html like statements in his other example.  The other question is associated with the proper use of the class, id methods of identifying a section.

RESULTS: I created two set of web-pages files, one with the html statements in the CSS file and the other without any html statements. My experiments have suggested that there is no critical need to have html like statements in the screen CSS files. There was a difference in the size of the text which I currently believe can be corrected elsewhere in the CSS file.

NEXT TASK: My next task will be to further experiment with the two sets of web-page files to confirm control of the size of the text can be controlled elsewhere in the screen CSS file. .

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

February 28, 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 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

I, A Programmer, Am Also A Quality Assurance Manager

February 28, 2014

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

February 27, 2014

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

 

Blog Alerts May Become Annoying

February 27, 2014

Placing a request to be alerted when I make a post is not the best way to keep track of my activity.

I have made a lot of posts.  Some of them are research reports which are individually written with the aid of my Programmable Software Development Tool.  Others such as the seminars have been written some time ago and are periodically posted on my blog. Frequently, I will make as many as three posts on a single day.

As a consequence, you are going to get a lot of alerts which may become annoying to you.

Please may I suggest a better way of keeping track of my activities.

I recommend that you follow me on Twitter (@whatifwe2048).  You will see that my tweets are the titles of my blog posts in the order of occurrence.  You can then easily select the ones that you wish to read,

This approach will give you greater control over your internet traffic.

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

February 20, 2014

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

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

February 19, 2014

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

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

February 18, 2014

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

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

February 17, 2014

Being a Software Development Engineer also makes
you a Quality Assurance Manager.

You have had no training in Quality Assurance.

You do not like it when management brings up the subject.

None the less, you are a Quality Assurance Manager.

Maybe I can help you to benefit from this unwanted
job description.

The first thing that you need to know is that there
are two sources of software errors.

SOFTWARE ERROR SOURCE 1:  THE SOFTWARE DEVELOPMENT ENGINEER.

SOFTWARE ERROR SOURCE 2:  THE OPERATING SYSTEM.

NOTICE THAT I DID NOT MENTION THE USER.

IT IS YOUR RESPONSIBILITY TO PROTECT THE USER FROM HIS
OWN STUPIDITY.

MORE IN THE NEXT MESSAGE

The Computer Wisdom of Bugs Bunny

February 15, 2014

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.