Posts Tagged ‘programming’

About (Software) Quality

Tuesday, January 20th, 2009

When I attended the University of Leiden Software-Development was in its infancy. In 1969 just a few people were programming for the simple reason that the amount of computers was very low. It took a lot of time (many weeks), intelligence and perseverance to create a small working software-program.

At that time the effect of a software-program on other people was very low. Software-programs were used by the programmers themselves to solve their own problems.

When User-Interfaces, Databases and Telecommunication appeared it became possible to create software for Many Non-Programmers, Users. The software-systems got bigger and programmers had to cooperate with other programmers.

When the step from One-to-Many was made in the process of software-development and exploitation, Software-Quality became on very important issue.

What is Software?

A Software-program is a sequence of sentences written in a computer-language. When you speak and write you use a natural language. When you write a computer program you use an artificial, designed, language.

The difference between natural and artificial languages is small. Esperanto is a constructed language that became a natural language. Perhaps all the natural languages were constructed in the past.

Software programs are very detailed prescriptions of something a computer has to do. The specifications of a software-program are written in a natural language (Pseudo-Code, Use-Case).

To create Software we have to transform Natural Language into Structured Language. The big problem is that Natural Language is a Rich Language. It not only contains Structural components but is also contains Emotional (Values), Imaginative ((Visual) Metaphors) and Sensual Components (Facts). The most expressive human language is Speech.

In this case the Tonality of the Voice and the Body Language also contains a lot of information about the Sender. When you want to create Software you have to remove the Emotional, Imaginative and Sensual components out of Human Language.

What is Quality?

According to the International Standards Organization (ISO), Quality is “the degree to which a set of inherent characteristics fulfills requirements“. According to the ISO the quality of a software-program is the degree in which the software-coding is in agreement with its specification.

Because a specification is written in natural language, Quality has to do with the precision of the transformation of one language (the natural) to another language (the constructed).

According to Six Sigma Quality is the number of defects of an implementation of the specification of the software.

Another view on Quality is called Fitness for Use. It is this case Quality is “what the Customer wants” or “What the Customer is willing to pay for“.

If you look carefully at all the Views on Quality, the Four World Views of Will McWhinney appear.

Six Sigma is the Sensory View on Quality (Facts), ISO is the Unity View on Software (Procedures, Laws, Rules) and Fitness for Use is the Social View on Quality (Stakeholders).

The last worldview of McWhinney, the Mythic, the View of the Artist, is represented by the Aesthetical view on Quality. Something is of high quality when it is Beautiful.

The Four Perspectives of McWhinney look at something we name “Quality”. We can specify the concept “Quality” by combining the Four definitions or we can try to find out what is behind “the Four Views on Quality”.

The Architect Christopher Alexander wrote many books about Quality. Interesting enough he named the “Quality” behind the Four Perspectives the “Quality without a Name“. Later in his life he defined this Quality, the “Force of Life“.

What Happened?

In the beginning of software-development the Artists, the Mythics, created software. Creating high quality software was a craft and a real challenge. To create, a programmer had to overcome a high resistance.

The “creative” programmers solved many problems and shared their solutions. Software-development changed from an Art into a Practice. The Many Different Practices were Standardized and United into one Method. The Method made it possible for many people to “learn the trade of programming”.

When an Art turns into a Method, the Aesthetic, the Quality that Has No Name, Life Itself, disappears. The Controller, Quality Management (ISO), has tried to solve this problem and has given many names to the Quality without a Name. Many Aspects of Software Quality are now standardized and programmed into software.

But…

It is impossible to Program the Social Emotions and the Mythic Imagination.

So…………

Software developers don’t use Methods and Standards because deep within they are Artists. The big difference is that they don’t solve their own problems anymore. They solve the problems of the users that are interviewed by the designers.

And…..

The Users don’t want the Designers to tell the Programmers to create something they want to create themselves (the Not-Invented Here Syndrome). They also don’t know what the programmers, instructed by the designers will create, so they wait until the programmers are finished and tell them that they want something else.

What Went Wrong?

The first Computer, the Analytical Engine of Charles Babbage, contained four parts called the Mill (the Central Processing Unit, the Operating System), the Store (the database), the Reader, and the Printer. The Analytical Engine and his successors were based on the Concept of the Factory.

In a Factory the Users, the Workers, The Slaves, have to do what the Masters, the Programmers, tell them to do.The Scientists modeled successful programmers but they forgot to model one thing, the Context. At the time the old fashioned programming artists were active, software was made to support the programmer himself. The programmer was the User of his Own software-program.

At this moment the Factory is an “old-fashioned” concept. In the Fifties the Slaves started to transform into Individuals but the Factory-Computer and the Practices of the Old Fashioned Programmers were not abandoned.

To cope with the rising power of the Individual the old methods were adopted but the old paradigm of the Slave was not removed. The Slave became a Stakeholder but his main role is to act Emotionally. He has the power to “Like or to Dislike” or “To Buy or not to Buy”.

The big Mistake was to believe that it is possible to program Individuals.

What To Do?

The Four Worldviews of Quality Move Around Life Itself.

According to Mikhail Bakhtin Life Itself is destroyed by the Process of Coding (“A code is a deliberately established, killed context“).

When you want to make software you have to keep Life Alive.

The Paradigm-Shift you have to make is not very difficult. Individual Programmers want to make Software for Themselves so Individual Users want to Do the Same!

At this moment the Computer is not a tool to manage a factory anymore. It has become a Personal tool.

It is not very difficult to give individuals that Play the Role of Employee tools to Solve their own Problems.

When they have solved their own problems they will Share the Solutions with other users.

If this happens their activities will change from an Individual Act of Creation into a Shared Practice.

If People Share their Problems and Solutions, their Joy and their Sorrow, they Experience the Spirit,  the Force of Life, the Quality that has no Name.

LINKS

How to Analyze a Context

About the Human Measure

About the Autistic Computer

About the Worldviews of Will McWhinney

About Christopher Alexander

About Computer Languages

About Mikhail Bahtin

About Ontologies

About Model Driven Software Development

About the Illusion of Cooperation

About the Analytic Engine of Charles Babbage

About the Analytic Engine of Thomas Fowler

About Human Scale Tools

About Old-Fashioned Programming

About Model Driven Software Development

Saturday, August 23rd, 2008

In the beginning of Software Development Programmers just Programmed. They did not use any method. The program was punched on a stack of cards and the computer executed the code. It took many days to get a small program running.

In the early 1980s text editors were introduced. In this stage somebody else called an Analyst wrote down Specifications and the Programmer transformed the specifications into a Program.

The Programmers and Analysts had to fill in forms with a pencil. The forms were typed by a central department and returned to them for correction. Much later programmers and analysts were able to use their own text editor.

The Specifications and the Programs were represented by many competing diagramming techniques like DFD (Data Flow Diagrams), JSP (Jackson), ERD (Entity Relationship Diagrams, Bachman), NIAM, Yourdon, Nassi Schneidermann and ISAC (Langefors). The Programmers and Analysts used Pencils and Plastic Frames to draw the Diagrams.

The data about the programs and the databases were stored in a Dictionary. A Dictionary is a System to store and retrieve Relationships. The Dictionary Software generated Copybooks that were included into the (COBOL) Programs. One of the most important Dictionary Packages was called Datamanager.

Datamanager used a so called Inverted File Database Management System. The Inverted File or Inverted Index is optimized to store and find Relationships.

At that time there were many types of Database Management Systems (Hierarchical, Network, Relational and Object). They were optimized for a special type of storing and retrieving data.

Between 1980 and 1990 the competing Methods and Diagram Techniques were fused and expanded to cover many domains of IT. The Dictionary (Datamanager) was also expanded to contain many more Relationships.

Around 1990 the process of integration was finally accomplished. At that time Information Engineering (IE) of James Martin was the most comprehensive Methodology available on the Market.

Texas Instruments implemented IE on a mainframe computer and called it IEF. IE was also implemented in IEW (Knowlegdeware) and Excellerator (Index Technologies). Computer Assisted Software Engineering (CASE) was born.

You have to understand that Graphic User Interfaces and PC’s were at that time in their infancy. It was impossible to manipulate diagrams. We used mainframes and Dumb User Interfaces (Forms) to define the models but we got a long way with it.

The big innovation came when IBM announced AD/Cycle in 1990. They created an Alliance with Bachman Information Systems, Index Technology Corporation, and Knowledgeware to create the most advanced Model Driven Software Development Tool ever made.

The kernel of AD/Cycle would be a complete new Repository based on the Relation DBMS of IBM called DB2.

At that time ABN AMRO was in a merger and we had the idea that an alliance with IBM would help us to create a new innovative development environment. I was involved in everything IBM was doing in its labs to create AD/Cycle.

The project failed for one simple reason. The Repository of IBM was never finished. The main reason was the Complexity of the Meta-Model of the Repository. A Relational DBMS is simply not the way to implement a Datadictionary (now called a Repository).

Another reason the project failed was the rise of Object Oriented Programming and of course the huge interference of Microsoft.

To save the project we had to find another repository and used the original Repository of Knowledgeware called Rochade. Rochade is still on the market. It is still a very powerful tool.

The introduction of the PC and the Activities of Microsoft generated a disaster in the development process of software. We had to move to square one and start all over again.

The Destructive Activities of Microsoft began by selling isolated disconnected PC’s to Consumers (Employees are also Consumers!).

At that time we did not realize this would cause a major drawback. We even supported them by giving all the employees of the Bank a PC, to Play With.

What we did not know was that the Employees started to Develop software on their own to beat the backlog of the central development organization. Suddenly many illegal (Basic) programs and databases appeared and we had to find a way to avoid Total Chaos.

The Solution to this problem was to introduce End User Programming Tools (4GL’s) like AS and Focus.

To provide the End Users with Corporate Data we had to develop Datawarehouses.

We were forced to create different IT Environments to shield the Primary, Accountable, Data of the Bank.

We had to develop a New Theory and Approach to support a completely new field of IT now called Business Intelligence.

We had to find a way to solve the battlefield of IBM (OS/2) and Microsoft (Windows) on the level of the PC Operating System.

We had to find a way to connect the PC to the other Computer Systems now called Servers. The concept of Client/Server was developed.

We had to find a way to distribute the Right Data on the Right Computer.

What Happened?

We were Distracted for about TWENTY YEARS and all what we where doing is Reacting on Technological Innovations that were Immature. We did not know this at that time.

The Big Innovation did not happen on the Level of the Method but on the Level of the Infrastructure. The Infrastructure moved from the Expert Level to the Corporate Level to the Consumer Level and finally to World Level. At this moment the MainFrame is back but the Mainframe is distributed over many Computers connected by a Broadband Network. We are finally back at the Beginning. The Infrastructure shows itself as a Cloud.

In every phase of the Expansion of the Infrastructure new Programming Languages were constructed to support the transformation from One level to the Other level. Every Time the Model had to be Mapped to another Target System.

The IBM Repository failed because the Meta Model of the Repository was much to complex. The Complexity of the Model was not caused by the Logical Part (The Technology Independent Layer) but by the Technical Part of the Model. It was simply impossible to Map the What on the How.

The only way to solve this problem is to make the What and How the Same.

This is what happened with Object Oriented Programming (OO). Object-Oriented programming may be seen as a collection of Cooperating Objects. Each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be viewed as an independent little machine with a distinct role or responsibility.

The rise of OO started in the early 1990s. At this moment it is the major programming paradigm. OO fits very well with the major paradigm about our Reality. That is why it can be used to Design (What) and to Program (How). OO comes with its own Method called UML.

What is Wrong with OO?

The first and most important problem is the problem of the Different Perspectives. Although OO fits with the Western Model of Reality, We (the Humans) perceive Reality in our own Way. Every Designer experiences another Reality and it is almost impossible to Unite all the Perspectives.

To Solve this Problem we All have to Agree on a Shared Model of Reality. This is mainly accomplished by defining Standard Models of Reality. The problem with Standard Models of Reality is that they are EnForcing a Certain Point of View.

Enforcing one Point of View to many People generates Opposition and Opposition starts a Process of Adaptation. The Major Effect is a very Complex Implementation of an Inconsistent Model of Reality. The What and the How are not the Same anymore.

OO is creating the Problem they want to Solve.

What to Do?

The long process of integration of the Methods until the 1990′s showed that there is one major issue that has to be resolved when you want to create software.

This Issue is called Terminology. Its main issue is to Define What We are Talking About. If we don’t agree about what we are talking about (The Universe of Discourse) we will always be talking about what we are talking about. We will create Circular Dialogues.

Eugen Wüster was the creator of the Science of Terminology. His activities were taken over by Unesco. It founded a special Institute to coordinate Terminology in the World called Infoterm.

There are four distinct views on Terminology:

  • the Psychological View

Concepts are Human Observations. They have to be based on Facts.

  • the Linguistic view

Concepts are the meanings of general terms. They have to be Defined.

Concepts are Units of Knowledge. They have to True.

Concepts are abstractions of kinds, attributes or properties of general invariant patterns on the side of entities in the world. They have to be Related.

Sadly, elements of all four views are found mixed up together in almost all terminology-focused work in Informatics today.

We are Confusing even the Science to avoid Confusion.

LINKS

About the History of Terms

About CASE-Tools

About the History of Terminology

 

 

About Ontology

Tuesday, August 12th, 2008

magic chaldrounMetaphysics is a theory of being in itself, of the essence of things, of the fundamental principles of existence and reality.

A major part of Metaphysics is concerned with the Static Part of the Reality, Being (Ontos, Ontology). The main issues of Metaphysics can be simply derived by playing with the verb to-be.

Behind Ontology (Being) is the verb to Be. The noun Being is-a-State-of to Be. When we take the first-derative, the difference of Being, Being becomes Becoming.

When you apply Causal Reasoning you have to find out Who is the Cause of the change of Being to Becoming. You also have to find out how a Static System changes into a Dynamic System.

A solution is to Imagine an Ultimate Being (The Absolute) who changed his Being into Becoming. This Absolute Being is the One. The change from the Static to the Dynamic is called Creation.

There are two possibilities. The Creator is Outside the Becoming or the Being is part of the Becoming. In the first case we are talking about an Ultimate Being, God, the Void, who is the creator of the Dynamic System.  In the second case God IS the Dynamic System. Let’s call this Being “All That Is“.

The Difference between God and “All That Is” is the way the Act of Creation takes place. The Act of Creation of God is an Explosion, a Unique Act. The Act of Creation of “All That is” is an enfolding. Creation as an Enfolding moves slowly. Every new Expressions of the Unfolding show itself at the Right Time and the Right Moment.

The distinction between Being and Becoming has resulted in a major Fight on every Scientific Battleground we can imagine.

Let’s have a short look at Information Technology.

Data-oriented methodologies emphasize the representation of the Static relationships between the parts of the whole, the Data or the Database. On the other hand, process-oriented methodologies emphasize the actions Performed By a software artifact, a Program.

When we dig a little deeper into this subject we see that A Program (something written in a Programming Language) is a Static (Stored) Representation of a Process. When the Computer Executes a Program it Becomes a Process.

So the Dynamic is Stored in the Static and the Static becomes Dynamic because something called a Computer (An Actor, the Operating System) activates the Static. Interesting Enough the Computer is also a Program that is stored in itself. The basic part of the Computer is the Clock. The Clock generates a Rhythm.

So the Static is really a Dynamic and the Essence (The Metaphysics) of the Computer is a Clock, A Rhythm.

The Dynamic Structure of the Computer is an Enfolding of the Basic Structure of the Computer Itself which is Stored in Itself, which is a Rhythm. During the Rhythm the Computer moves through a Cycle.

I don’t want to dig deeper but I hope you see that the Computer Metaphor is a representation of the idea of “All What Is”.

The interesting point is that in the Reality of the Computer Metaphor there are Many Beings (Monads).

If we dig a little deeper we see that the Many Beings Communicate (by the Internet Protocol). They Unite on a deeper Level and transform into a Network. The Network is What it Is.

To a Human Observer the Network makes no Sense. We are unable to understand the essence (The Metaphysics) of the Network. We understand our Part but don’t see the Whole.

The Whole, the One, is beyond our Understanding. It is Unknowable (“neti neti“, “not this, not that“).

Language is a Static Representation of the Dynamics of Speech. A Human executes Language to perform the Process of Speech but Speech is not captured by Language. Human Speech is constantly adapting to Practice and Language is adapting to Practice. New (Computer) Languages are created all the time.

A Computer Language is a sub-set of Human Languages called Logic. Logic is a sub-set of Human Speech called Reasoning but Reasoning is not able to Understand the Whole.

Theory is a Static Representation of the Dynamics of Practice. A Human executes a Theory to perform the Process of Practicing. But Practice is not able to Understand the Whole so When a Practice fails we create a new Theory. Theory is adapted Practice and Practice is applied Theory. Being is adapted Becoming.

Being changes in Time because we are Experiencing (Being (t) = Being (t-1) + Experience). Experience is the Difference of Being is Becoming. The Becoming who is The One is generating Experience.

God is the Experience of God.

roseAs You see it is possible to create many concepts and theories of Metaphysics just by Playing with the Verb To Be.

There is one more Language Game to Play. If we Play this Game we are entering the World of Deleuze.

Deleuze was fascinated by the Mathematician and Philosopher Leibniz. Leibniz invented a new Mathematical Game called Differentials. When you calculate a differential you calculate the way a function is changing in time.

Leibniz found a way to move from being to becoming and his formula is very easy. Becoming = Lim (t -> 0) (Being (t+1)-Being (t)). Find the smallest distance between two moments of Being. The smallest distance between two Beings is an Event.

The basis Structure of our Reality is not a Substance (The Static) but something that Moves Us (Emotion). The basic Structure of our Universe are Moments, Nows.

We are Points of View that are Experiencing a Beautifull Fluent Crystal, a HyperDiamond. Every Point of the Multi Dimensional Diamond is an Event.

 We are trying to explain the Beauty of this Crystal to the other Points of View but we are unable to do this because we are only able to see a very small part and we are looking from our own angle.

 We will never See the Whole until we are able to become a Circular Point of View, A Communion.

LINKS

A Website about Ontology

About Events, Time, Being and Becoming in Physics

About Leibniz and Differentials

The Relationship between Events and Free Will

Deleuze and Events

Why the Universe is a Configuration of Nows

 About Spinoza, The Philosopher of the Emotion

About the Relationship between Events and Creativity, the Ontology of Deleuze

 

 

About Programming Conversations and Conversations About Programming

Friday, July 25th, 2008

A major part of our activities have to do with “Not-Knowing”. We are constantly talking with others about “What we don’t Know”. We are speculating and are hoping that others know. Humans are wondering creatures.

The situation becomes more complicated when we meet people who are convinced they know but really don’t know. We believe them because they look like “People who know”. They are to be trusted. When we understand what they are talking about we spread the news and in due time many other people “know”.

The moment of Truth is when we Apply the Knowledge. Suddenly Everything Fails and we have to start all over again.

We are constantly talking with others about “What goes Wrong”. “What goes Wrong” is the major business of the Media Industry. What Goes Wrong is called News.

Many things that go wrong are transformed into a Reality Soap. Strange enough IT is not covered by the Reality-Soap-business.

I believe there are two reasons. The IT-business is the Most Incomprehensible Business in the World and we are accustomed to the fact “That Every Thing goes Wrong when you apply IT”.

The sad thing in IT is that a majority of the people in the IT-business don’t know what they are talking about. When a majority of Insiders is talking non-Sense the majority of the Outsiders believe they are talking Sense and are spreading the (non-)Sense to Others.

IT does not know that We (Humans) exist. IT is doing exactly what the Programmers are telling IT to do. A majority of the People in the IT-Business don’t know what Programmers are doing.

They believe they are doing something with a (programmer)language (Java, .Net) and the Internet. Some of them know important Hype terms like Web-Services and SOA (currently Agile & Blockchain!). All of them have never Applied what they are Talking about. Let’s call them Advisors.

Strangely enough the Advisors don’t understand that a Programmer is Talking to a Very Stupid Person called a Computer. The Computer is only able to do what he is Told to Do. The only thing the Advisors have to do is to Translate Human Language to Computer Language. This is a very simple Process if you know what You are Talking about.

Human Languages and Computer Languages contain Verbs and Nouns. Verbs are Processes and Nouns are States. The whole process starts with Defining What We are Talking About (The Universe of Discourse).

Many Humans are incapable to define What they Mean. They use the same Nouns in different Contexts. Some People use a Very Simple Vocabulary. Every Thing is a Thing and every Act is Doing Things.

A major part of the Activities of Advisors have to do with “not-Doing Things”. They are constantly talking with others about “What They Want to Do”. They are speculating and are hoping that IT will Solve all their Problems.

The Advisors believe that the Programmers will Understand what they are Telling and the Programmers believe that Advisors are telling them what To Do. Both of them don’t see that StoryTelling and Doing are from different Worlds. Advisors come from Venus and Programmers come from Mars.

The Users of IT Live on Earth.

Strange.

I feel I am Repeating the Same Story All The Time.

Repeating the Same Story all the Time is what many people are doing but they don’t know they are repeating the same story because they use Different Words to tell the Same Story or the Same Words to tell a Different Story.

What is the problem?

The Computer needs Logic and a major part of our Conversations are not Logical at all. We are trying to find “the Logic Behind” the Conversation.

Many people are not trained to find the “Logic behind Conversations“. They believe the World is an Endless Circular Conversation.

I don’t think Believe is the Right Term. I mean they are not Aware of the Fact that they are Talking all the Time without being Aware that they are Talking. They are Programmed Conversation Machines or Machines that are producing Words that give others the Impression that they Mean something. Perhaps Words are not ment to mean something. They are just Sounds.

Many people are incapable to Apply Logical Reasoning. They don’t have the talent or are not trained in School to Apply Logic. Logic is not trained at School anymore. In “the old times” Logic was the main component of the Curriculum of the “Latin School”. At that time IT (Logic) was part of Rhetorics.

When you are Applying Logical Reasoning you are a Craftsman. When a Craftsman makes a Mistake he is really in Trouble. His Doings operate in Reality.

The Doings of an Advisor are Imaginary. When an Advisor makes a Mistake he asks another Advisor to Advice. In the End Many Advisors are Advising Many Advisors. This creates Confusion. Advisors Like Confusion. Confusion means Work and Work means Income. With “mean” I don’t mean that Work is “the same as” Confusion. I am using a Rhetoric Concept called Analogy. For some people Work becomes highly Confusing when IT (not it) is used.

When the Advisors have created a lot of Confusion the Programmers start to find the Logic behind the Confusion. When they believe they have found the Logic they create an Infrastructure to Support Networks of Confused Advisors.

This Infrastructure uses different Terms for the Same Concept to make sure that the Advisors are able To Apply What They are Talking About. This new Infrastructure supports Endless Circular Conversations and it Generates a High State of Confusion. The high state of Confusion generates lots of Work (and Income) for Advisors, Programmers AND Users.

The Advisors are Happy because they can go on with their Circular Dialogues, the Programmers are Happy because the Advisors are Happy and the Users are Happy because they have something To Do.

Perhaps Work “is a” “State” of “Being Confused“.

If we could Eliminate all the Advisors and let the Craftsman talk to the Craftsman we would Avoid a Lot of Problems.

If we would Stop Programming What is not Programmable we would Avoid even More Problems.

If we would Stop Innovating IT we could Finally start to Use IT.

If we could Program Ourselves we would not need a Computer at All.

Watch Out.

This is an Advice.

LINKS

About Rhetorics

How to Analyze a Discourse

About the relationship between Creativity and Confusion

How Software Packages generate Confusion

Why Scientists are Really Artists and Why Many of Them are Creating Terrible Artifacts

Why Logic is not Logical at all

How the Programmer stopped the Dialogue

About Loops in Programs

About Software Layers

About Virtue and Wisdom

Tuesday, July 8th, 2008

When you lend somebody something you assume he (or she) will give the item back in due time. To lend you have to Trust somebody. There are many ways to create a trusted relation. When a long term trusted relationship grows out of a long chain of interactions the Iterated Prisoners Dilemma is at stake. The Chinese are the Masters of Playing this Game.

In some situations it is very clear that a try-out is not necessary. If we look at the cultures of the Earth we can see that the concept of Family or Tribe more or less guaranties a trustful relationship. In a Family it is not needed to create very complicated arrangements like contracts, procedures, laws and judges. The Family uses it own rules.

The consequence of the Concept of the Family and the Tribe is a formalization of relationships based on a Place in a Hierarchy. Everybody has to know its place.

A King has to play the role of the King and a Father has to play the role of the Father. In a Family or an Extended Family (Tribe) you are trained to play the roles you have to play in your life.

Confucius (551-479 BC) saw the universe and all living things in it as a manifestation of a unifying force called the Doe (translated as the Truth, Unity, or the Way). Doe constitutes the very essence, basis, and unit of life that perpetuates order, goodness, and righteousness.

It manifests itself in the harmonious opposition of yin (“feminine, gentle“) and yang (“masculine, strong“), and in humans through duk (“virtue“). Virtue is a gift received from Heaven.

It is through Virtue that a person is able to know the Heavenly Truth and it is the “locus where Heaven and I meet“. Virtue can be realized through self-cultivation. It provides the fundamental source of insight and strength to rule peacefully and harmoniously within oneself, one’s family, one’s nation, and the world.

There are two inter-related aspects of virtue: in (“Human-hearted-ness“) and ui (“Rightness“).

The basis of individual and humanity is the Human-heartedness. Human-heartedness is essentially relational and it involves loving, sacrificing and taking care of others. Individuals are born with Human-heartedness and experience Human-heartedness through the sacrifice and devotion of their parents.

The second concept, ui (“rightness“), notes that an individual is born into a particular family with a particular status. Rightness articulates that individuals must perform and fulfil their duties as defined by their particular status and role.

Confucius considered family and society to be hierarchically ordered, necessitating that everyone fulfil their duties. Fulfilling one’s given role as a father, mother, child, elder, teacher, or politician is considered a moral imperative and not a matter of personal choice.

Confucius considered society to be socially ordered and that each person has beun (“portion or place“) in life. Each beun had attached roles and duties, and each person must fulfil these roles and duties. Duties and obligations of each beun are prescribed by yea (“propriety“).

Propriety articulates expectations, duties, and behavior of each individual according to his or her status and role. For example, chemyon (“social face“) need to be maintained by a person of social stature defined by his or status, regardless of his or her personal preference.

Social order and harmony are preserved when people observe their place in society and fulfil their required obligations and duties.

The fourth concept is ji (“knowledge“). Knowledge allows us to understand the virtues of Human-heartedness and Rightness and to follow these virtues through Propriety. It is the basis of the development of Wisdom.

By the applying the principles of Confucius Chinese Society became a Well Oiled Machine. Every action that was taken was pre-programmed by all levels of education. Every part in the machine knew its role. Life was highly predictable and everybody accepted its place in Society. There was Harmony and Peace in the world.

If there be righteousness in the heart, there will be beauty in character,

If there be beauty in character, there will be harmony in the home.

If there be harmony in the home, there will be order in the nation.

If there be order in the nation, there will be peace in the world.

The big changes of Chinese Society came Out of the West. The English Empire destroyed the Heavenly Order by selling large quantities of Opium. The huge underclass of China was a beautiful target for the people who followed the theories of Lenin.

The Upperclass was destroyed and a new Upperclass, The Communist Party, took over. The culture of China has not changed. People still know their place and the Doe (The Way It Is) is now proclaimed by the Party. The new upperclass knows it has to keep the underclass in harmony.

The Party decided to create a higher standard of living by importing capitalistic principles from the West. It is now moving in high speed to the level of the Consumer Society. The West is paying for this move by buying Chinese products for a very low price.

In this way China has accumulated an enormous amount of money (mostly dollars). They are able to buy what they want. With the enormouss stock of dollars they are able to manipulate US Government. China is able to destroy the US Financial System in one fast move. They certainly will not do that.

The Chinese people are experts in strategy. They know how to acquire power without fighting. They keep a social face and play the game others want them to play. They are experts in applying the Iterated Prisoners Dilemma. They know Confucius and his predecessors were Wise man. They knew how to move with The Cycle, the Tao.

Western Society has lost its cultural foundation. The principles of Confucius don’t sound very strange to us. They are easily translated into Christianity.

When the West lost the basic principle of Christianity, Human-hearted-ness (in) one of the two pillars of Trust was lost. The West rationalized Empathy (Compassion, Emotion). I Think, therefore I Am (Descartes) became the basis of the Self.

When people started to do the “wrong thing” the second pillar of Trust, Integrity (ui, Rightness) dropped. Politicians were not Playing the Role of the Politician and Managers were not Playing the Role of Manager. They lost their Virtue.

Finally the Doe (Unity) of Western Society was gone. Families broke up. Everybody was Left on its Own and started to act on a Short-Term Perspective.

The Interated Prisoners Dilemma changed into a chain of disconnected attempts to leave the Prison. The best way to win such a Game is to defect. You always win but your victory is never a Win-Win. On the long term Everybody changes into a potential Enemy.

The West entered the State of Individualism and even Egoism. In this state it is almost impossible to act out of Unity. Everybody is going its Own Way or is Competing with the Other. This makes it even easier for the Chinese Masters to create a new Machine to support their Extended Family.

About Mash-Ups

Thursday, December 20th, 2007
Another new hype-term is the Mash-up. A Mash-up is a new service, that combines functionality or content from existing sources.
 
In the “old’ days of programming we called a Mash-up a Program (now Service) and the parts of the Program Modules. Modules were reused by other Programs. We developed and acquired libraries that contained many useful modules.
 
They did not document the software and used many features of the operating system that interfered with other programs. The very old software programs created the Software Legacy Problem.
 
Another interesting issue that has to be resolved is Security. Mash-ups are a heaven for hackers and other very clever criminals.

When I look at the Mash-up I really don’t know how “they?” will solve all these Issues.

When everybody is allowed to program and connect everything with everything a Mash-up will certainly turn into a Mess-up. Many years from now a new Software Lecacy Problem will become visible.

There is one simple way to solve this problem. Somebody in the Internet Community has to take care of this. It has to be an “Independent Librarian” that controls the libraries and issues a Quality Stamp to the software (and the content) that is free to reuse. I don’t think anybody will do this.

Personally I think the Mashup is a very intelligent trick of big companies like Microsoft, Google and Yahoo to take over the control in software development. In the end they will control all the libraries and everybody has to connect to them. Perhaps we even have to pay to use them or (worse) link to the advertisement they certainly will sell.

To stabilize the software development environment we had to introduce many Management Systems like Testing and Configuration Management to take care of Software Quality.

The difference with today is that the software libraries are not internal libraries. They are situated at the Internet.

It took a very long time to stabilize the software development environment. In the very old days programmers were just “programming along”.

Why Cycles Feel like Bah, Bach, Beat or Beach Boys

Wednesday, July 25th, 2007
Everybody knows the Cycle of the Seasons. The seasons are created because the Earth is cycling the Sun. In Winter we are introspective and mostly stay inside our house.
In Summer we are very active (extravert) at the outside of our house. In Autumn we become moody and in Spring we start to plan. We are structure-ring. Centers are moving around centers and everybody understands that the movement of the Sun and the Moon affects our body.

We can dig deeper and deeper and all the time new centers appear (organs, cells, molecules, atoms,….). The same applies when we move up (Galaxies, Universe, …).

Human beings share many centers but at a certain point they are also are disconnected. We are disconnected by our bodies and our cultures.

To connect we have to start a dialogue. Dialogues show themselves in many ways. The dialogue of speech is a very visible dialogue. An invisible dialogue is the exchange of signals of the body (eyes, face, movement of hands and intonation of speech).

When we move down or move up all the cycles are invisible. We don’t have the senses to sense them. Science has developed instruments (microscope, telescope, cyclotron, ..) to make them visible.

Please remember that the instruments are created by programmers and are therefore producing an illusion. The programmers have programmed scientific theory in a machine. The Galaxy the Hubble Telescope is showing is an image of the Galaxy. It is not the Galaxy itself.

A cycle moves through stages and the stages are the stages of the seasons: Imagination (Winter), Structure (Spring), Action (Summer), Center (Consciousness, Indian Summer) and Meaning (Autumn)). The stages can be found on every level of the Self-Referencing enfolding Field.

Perhaps you think that I want you to stop structure-ring. Structure-ring is creating an Illusion and if we go on we will end up in a total Illusion called Virtual Reality. Our bodies will be connected to a very advanced simulator.

We will be feeded by the System and our muscles will be trained by the System. Perhaps we will live for-ever and never die. We will be living in a world without resistance, playing very complex games and enjoy this. This is predicted in science-fiction and we are not far away from this.

The only thing we forget is that somebody has to get into action when the computer stops because of a software-failure or when the energy-system stops. Those people are not able to enjoy the Simulator.

Perhaps the experts will simply stop the System and start to enjoy life themselves (Terrorists). We have to prevent doing this and we need Security Systems and Systems to control the Security Systems and in the end we simply don’t know how to solve this problem. We have fallen in the trap of complexity.

Focusing on one aspect of the Cycle will always create a disaster. Ideas have to be implemented. There is no meaning (Emotion) without getting into Action. We can only create Harmony when we Balance all the five aspects of the Cycle.

The beautiful thing of a cycle is that we are able to map the cycle into another domain called waves. Remember sinus and co-sinus at school. A moving rotating cycle is a wave.

To balance a cycle we have to feel the harmony of the waves it is producing. Harmonic Cycles produce Harmonic Waves and Harmonic waves are called Music. So now you know why some cycles feel like Bah, Bach, Beat or Beach Boys. They resonate or don’t resonate with your musical mood.

Want to know how this can be implemented in a software-environment

Want to know how this is implemented in your body?

The Lost Construct in IT: The Self-Referencing Loop

Thursday, June 28th, 2007

Edsger Wybe Dijkstra (1930-2000) was a Dutch computer scientist. He received the 1972 Turing Award for fundamental contributions in the area of programming languages.

He was known for his low opinion of the GOTO-statement in computer programming culminating in the 1968 article “A Case against the GOTO Statement” (EWD215), regarded as a major step towards the widespread deprecation of the GOTO statement and its effective replacement by structured control constructs such as the DO-WHILE-LOOP. This methodology was also called Structured Programming.

(more…)