📚 👐 🎭 index - references
Design - Math technical solutions
Information Technology, mathematical statistical foundation.
Technical solutions the foundations.
This is the most technical part.
Being enablers there should be no dependicies at the business line, only #smta "used by".
The distance in a flat mapping looks big,
another dimension: next door
Too fast .. previous
- 2019 week:18
- Building up new from scratch.
What is missed in old pages for later to add.
Information technology, 19th-20th century.
The first programmer. (wikipedia)
Between 1842 and 1843, Ada translated an article by Italian military engineer Luigi Menabrea on the calculating engine, supplementing it with an elaborate set of notes, simply called Notes.
These notes contain what many consider to be the first computer program—that is, an algorithm designed to be carried out by a machine.
Considered by some to be a "father of the computer".
Babbage is credited with inventing the first mechanical computer that eventually led to more complex electronic designs,
though all the essential ideas of modern computers are to be found in Babbage's analytical engine.
I would prefer seeing the jaquard loom system as the origin of automatizaton.
That is in another dimension, next door.
(brittanica) The best known person for using computers. Honored by: Turing award
What mathematicians called an “effective” method for solving a problem was simply one that could be carried by a human mathematical clerk working by rote.
In Turing’s time, those rote-workers were in fact called “computers,” and human computers carried out some aspects of the work later done by electronic computers.
The Entscheidungsproblem sought an effective method for solving the fundamental mathematical problem of determining exactly which mathematical statements are provable within a given formal mathematical system and which are not.
A method for determining this is called a decision method. In 1936 Turing and Church independently showed that, in general, the Entscheidungsproblem problem has no resolution, proving that no consistent formal system of arithmetic has an effective decision method.
May be not what has become mainstream computer science, code breaking. For sure the foundation for AI Artical Intelligence. To cite:
Turing was a founding father of artificial intelligence and of modern cognitive science, and he was a leading early exponent of the hypothesis that the human brain is in large part a digital computing machine.
He theorized that the cortex at birth is an “unorganised machine” that through “training” becomes organized “into a universal machine or something like it.
"e Turing proposed what subsequently became known as the Turing test as a criterion for whether an artificial computer is thinking (1950).
Information technology, 20th (I) century.
Architecture is the foundation to investigate on performance going to do tuning.
The term "von Neumann architecture" has evolved to mean any stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus.
This is referred to as the von Neumann bottleneck and often limits the performance of the system.
The design of a von Neumann architecture machine is simpler than a Harvard architecture machine—which is also a stored-program system but has one dedicated set of address and data buses for reading and writing to memory, and another set of address and data buses to fetch instructions.
(Yale edu) Best known for developping programming languages.
Did far more than that. Some of that in an era a lot was going on.
In addition to their work for the Navy, Hopper and her colleagues also completed calculations for the army and “ran numbers” used by John von Neumann in developing the plutonium bomb dropped on Nagasaki, Japan.
Being a lead in the programming, coining a word:
Although the term “bug” had been used by engineers since the 19th century to describe a mechanical malfunction, Hopper was the first to refer to a computer problem as a “bug” and to speak of “debugging” a computer.
As the number of computer languages proliferated, the need for a standardized language for business purposes grew. In 1959 COBOL (short for “common business-oriented language”) was introduced as the first standardized general business computer language.
Although many people contributed to the “invention” of COBOL, Hopper promoted the language and its adoption by both military and private-sector users. Throughout the 1960s she led efforts to develop compilers for COBOL.
Information technology, 20th (II) century.
Edgar F. Codd
Codd, the man who killed codasyl.
An English computer scientist who, while working for IBM, invented the relational model for database management, the theoretical basis for relational databases and relational database management systems.
He made other valuable contributions to computer science, but the relational model, a very influential general theory of data management, remains his most mentioned, analyzed and celebrated achievement.
The DBTG group, codasysl
, greatest person doing the data network modelling: Charles_Bachman
, was the DBMS standard before SQL. (wikipedia)
CODASYL, the Conference/Committee on Data Systems Languages, was a consortium formed in 1959 to guide the development of a standard programming language that could be used on many computers.
This effort led to the development of the programming language COBOL and other technical standards.
Almost forgotten, a network model database is a no sql one.
In October 1969 the DBTG published its first language specifications for the network database model which became generally known as the CODASYL Data Model. (wiki)
This specification in fact defined several separate languages: a data definition language (DDL) to define the schema of the database, another DDL to create one or more subschemas defining application views of the database;
and a data manipulation language (DML) defining verbs for embedding in the COBOL programming language to request and update data in the database.
No-sql databases are hot again because there are features not available in a relational approach.
Information technology, 20th (III) century.
The question on software quality by mathematical abstractian.
One of the most influential figures of computing science's founding generation, Dijkstra helped shape the new discipline from both an engineering and a theoretical perspective.
His fundamental contributions cover diverse areas of computing science, including compiler construction, operating systems, distributed systems, sequential and concurrent programming, programming paradigm and methodology, programming language research, program design, program development, program verification, software engineering principles, graph algorithms, and philosophical foundations of computer programming and computer science.
Many of his papers are the source of new research areas.
Several concepts and problems that are now standard in computer science were first identified by Dijkstra or bear names coined by him.
Strcutured programming, Jackson structured programming
Nassi Shneiderman diagram
Algol all were basic elements at education touching software design in the first years thereafter.
"The revolution in views of programming started by Dijkstra's iconoclasm led to a movement known as structured programming, which advocated a systematic, rational approach to program construction. Structured programming is the basis for all that has been done since in programming methodology, including object-oriented programming."
The software crisis in the 60´s, organizing conferences.
(brian randell) a beautiful document:
Mentioning E.Dijkstra and d´Agapeyeff´ Inverted Pyramid.
Dependicies in layers where you don´t want to be dependent. Disconnection by defining interfaces (middleware).
This is because no matter how good the manufacturer´s software for items like file handling it is just not suitable; it´s either inefficient or inappropriate.
We usually have to rewrite the file handling processes, the initial message analysis and above all the real-time schedulers,
because in this type of situation the application programs interact and the manufacturers, software tends to throw them off at the drop of a hat, which is somewhat embarrassing.
On the top you have a whole chain of application programs.
The point about this pyramid is that it is terribly sensitive to change in the underlying software such that the new version does not contain the old as a subset.
It becomes very expensive to maintain these systems and to extend them while keeping them live.
Stating Virtual machines, docker containers, are cheap is not correct. The cost is in supporting, maintaining what is on top of that. Nothing has really changed sinde those 1969 days.
d´Agapeyeff: (from Reducing the cost of software) Programming is still too much of an artistic endeavour.
We need a more substantial basis to be taught and monitored in practice on the:
- structure of programs and the flow of their execution.
- shaping of modules and an environment for their testing.
- simulation of run time conditions.
Summarizing history information technology.
Addition to performance & Tuning.
Knowing the time is will cost for some request optimizing is moving around:
⌛ in miminizing resouces that take the logest time.
🎯 better algorithm
⏳ trying to run processes parallel instead of serial.
🚧 preventing overload conditions in any resourced used in the chain.
🎯 load balancing
Using knowledge of the founders.
There is a lot of history having very good foundations to be reused and learning from those.
⚠ Reusing knowledge derived from others sounds sensible reasonible, there are many pitfalls.
Dijkstra has left many notes. Did have great distrust in doings things correct.
Edsger W. Dijkstra Archive
Found some text, the essence:
In IT, the adage as in no other sector is valid:
"We don´t have time to do it right, so we will do it over later".
And so the laws of the economy have determined with unrelenting cruelty that until the day of his death Dijkstra had to stare at his own right in the form of a relentless stream of messages about faulty software and failed automation projects.
Is used at:
👓 Design SDLC
Software Development Life Cycle.
👓 Design data
Data: modelling, streaming, flow.
Details to be found at: -not applicable-
There are many ways to exchange data between processes. A clear decoupling plan is helpful with creating normalized systems.
Normalized systems have the intention in an easy transition by some "application" in another.
Some well known ways to exchange data are:
- Text organized by fixed comlumsn in a dataset.
- Comma seperated files (or other char).
- a shared DBMS (Data Base) table.
- JSON files
- XML files
Ascii - Ebdic - Single byte
These are encodings: interpretation of a single byte 8 bits, 256 different values)
- Every byte can be processed by the computer as valid a valid byte / character.
- Not all interpretations are existing in defined Ascii tables or Ebcdic tables.
transcoding without loss of information is not always possible.
Unicode character representation - Multi byte.
Many versions several implementations. Unicode
- Not Every byte can be processed by the computer as valid.
- a character is made up in varying between 1-4 bytes.
- UTF8 - varibele 1-4 bytes, the lower 127, old Ascii interpretation.
The first 32 being control characters not being used as text characters.
- UTF16LE UT16BE 2,4 bytes. BE big-endian or Le little-endian.
the endianess is following the order of the preferred hardware chip architecture (LE) left to right or (BE) right to left.
- UTF32LE UT32BE 4 bytes. BE big-endian or LE little-endian.
Unicode is becoming the defacto standard.
Floating, Math in ICT.
Atbasic issues in ICT with math: inaccuracy with calculations, Floating numbers.
Using a slider you had to think about that and by that knowing the possible impact.
Using a computer everybody trust the results until the surprising wrong results getting complaints by feed back respsonses.
The SQL usage should be easy.
It is that difficult you need to have specialist to have achieve accpetable performance.
Even with simple queries a template how to solve a logical question is needed.
Statistics base to AI , 19th century.
(wikipedia) One of the founders for probablity.
Bayesian probability is the name given to several related interpretations of probability as an amount of epistemic confidence – the strength of beliefs, hypotheses etc. – rather than a frequency.
This allows the application of probability to all sorts of propositions rather than just ones that come with a reference class. "Bayesian" has been used in this sense since about 1950.
Since its rebirth in the 1950s, advancements in computing technology have allowed scientists from many disciplines to pair traditional Bayesian statistics with random walk techniques.
The use of the Bayes theorem has been extended in science and in other fields.
Laplace is more generic. Some of his theory being used at spectral signal processing science. What is called these days "Bayesian" is more likely coming from Laplace.
In 1812, Laplace issued his Théorie analytique des probabilités in which he laid down many fundamental results in statistics.
The first half of this treatise was concerned with probability methods and problems, the second half with statistical methods and applications.
Laplace's proofs are not always rigorous according to the standards of a later day, and his perspective slides back and forth between the Bayesian and non-Bayesian views with an ease that makes some of his investigations difficult to follow,
but his conclusions remain basically sound even in those few situations where his analysis goes astray.
The basics on statistics mostly practiced descriptive, the only predcition is extrapolation from a small sample size to a complete population.
Statistics base to AI, 20th century.
In 1925 he published Statistical Methods for Research Workers, one of the 20th century's most influential books on statistical methods.
Fisher's method is a technique for data fusion or "meta-analysis" (analysis of analyses). This book also popularized the p-value, and plays a central role in his approach.
Fisher proposes the level p=0.05, or a 1 in 20 chance of being exceeded by chance, as a limit for statistical significance, and applies this to a normal distribution (as a two-tailed test), thus yielding the rule of two standard deviations (on a normal distribution) for statistical significance.
Explainable AI, better understandable ML Machine Learning, automatic decisions is searched for but lacking.
Humans are using multiple sources to evalute what the direction of a decision is going to be.
Why is ML stuck by many input sources being input to a single outcome?
Having multiple intermediate (synthetic) leading to more explainable outcomes, combining those to an advice, would be more like human reasoning.
The term elephant test refers to situations in which an idea or thing, "is hard to describe, but instantly recognizable when spotted"
The yellow brick road.
Monetizing Data: Follow the Yellow Brick Road
While the tools have vastly improved, and the power of BI buttressed by AI and Machine Learning has helped greatly with incorporating challenges like unstructured and disparate data (internal and external),
that Yellow Brick Road journey still requires cultural and operational steps including empowerment of associated teams.
There is not a lot of room for autocracy in achieving the best results.
Foundational elements work best, and collaboration is a must.
These are high level considerations.
Switching context to more practice (devops) 👓.
What is not here: 👓 bpm in practice
📚 👐 🎭 index - references
© 2012,2019 J.A.Karman