Wednesday 5 September 2018

Linda & Tuple Space.

Introduction.

Linda & tuple space are work of Gelernter.

Linda is name derived from porn actress: Linda Lovelace, who later became 'a born again Christian' and a spokeswoman for the anti-pornography movement.




-=- Linda Lovelace. -=-



Linda is a language or notation that is used with tuple spaces, a mechanism that has uses in processes concurrency & synchronization.

There's one big and global tuple space. Processes communicate with each other by putting in the tuple space messages, and by retrieving from tuple space.

Processes are isolated, do not need to know anything about each other, processes do not need to exist at the same time. This helps to decouple objects, increasing software's quality.


'Tuple Space' has uses in the 'Token Game' - for modelling 'places', where tokens are stored, as well. Token Game uses Petri Nets idea, abstracted & concretized different way. Petri Nets are also called P/T Nets or Places / Transition Nets.


Tuple Type, Signature & State.

Tuple's signature is ordered list of data types stored in a tuple.

Tuple has statically determined length.

Tuple's state is it's values written in a binary format, concatenated.

In original work of Gelernter, tuple wasn's a type so a tuple could not contain tuples within. For 'Project Wraithstar's' purposes, tuple is a type.


Simple operations on the tuple space.

* Output(t)

Because of Linda being distributed asynchronous mechanism with the buffer of unlimited size, operation that puts a tuple into space is a nonblocking operation.

Tuple Space should be treated as a Multi-Set, that allows for putting multiple tuples of the same signature and state.

Operation Output(t) puts a tuple into a tuple space. If a tuple t is already present in the tuple space, another copy of t is put in the tuple space.


* Input(s)

A blocking operation that removes a tuple from space. Argument for this method is tuple's signature, for example:

Input(x: int32, c: char) / exact syntax in 'Ola' Programming Language is to be determined still /

If at a given moment there's no tuple with a given signature in the tuple space, then a process performing Input is blocked until requested tuple appears in the tuple space.

In original work of Gelernter, if tuple space contains many tuples with a given signature, then a choice of removed tuple is nondeterministic. There's a rule of fairness in original work as well, but for purpose of 'Project Wraithstar' - we'll assume that tuples with a given signature are put and removed as in a FIFO queue. Similarly processess that attempt to remove a tuple should use a timestamp associated with a request, as a part of UUID / Universally Unique ID /.


* Read(s)

Similar to Input(s), Read(s) retrieves a tuple with it's data from the tuple space - but does not remove it from tuple space.

Read(s) is a blocking operation, and depending on timestamps & UUIDs processess removing or retrieving tuple might be awakened in varying orders & amounts.


* Try_Input(s) and Try_Read(s).

Nonblocking versions of Input(s) and Read(s) methods.


Selective Choice.

There's option of specifying values of tuple's selected elements, of a tuple we wish to remove / retrieve from a tuple space.

For example we can remove a tuple with a signature (int32, char, int32) whose first value is 3. Appropriate instruction looks as follows:

Input(3, c: char, x: int32)


There are differencies between instruction semantics:
- Input (x, c)
- Input (x: int32, c)
- Input (x, c: char)
- Input (x: int32, c: char)


Gaps.

Linda has one more extension. In the tuple space, there can be stored tuples with 'gaps'.

'Gap' is a 'value' of a specified type, that 'matches' to any value of this type.

Gaps are noted as a star with a type.

For example, a tuple:

(3, * : char, 'a', * : int32)

Is a tuple with a signature:

(int32, char, char, int32)

Containing two gaps: on a second and fourth position.


Such tuple can be retrieved or removed from a tuple space, by performing any of given operations:

Input (3, 'c', x: char, 8)
Input (i: int32, x: char, 'a', j: int32)


Let's notice that every 'gap' has a strictly given type.


For putting gapped tuples into space, method Output can be used. In a gap-place we'll just write a type with a variable name, but variable name has no meaning here.

Output (3, c: char)

Will put into tuple space a tuple, that on a second coordinate has a type and is a gap.


Links.
- Linda as Database Management System,
- A written lecture about Linda, in a polish language,
- Linda & Concurrency,
- Tuple Data Type.

Sunday 15 July 2018

Software Development & Quality.

Introduction.

There are many methods for ensuring that software development proceeds smoothly, and there are methods for ensuring and measuring software artifacts' quality.

Artifacts are documents:
- design model,
- application code,
- automated tests code,
- documentation,
- configuration files,
- resource files as art or other data,
- ...


Code's Quality.

For a code quality's practices, see if You wish:
- A few thoughts on code quality...


Teamwork vs. Showoff.

Teamwork is Professional, needless showoff is NOT Professional.

Code should be written & documented in a simple way, so other co-workers can understand it with ease.

This friendly approach - of making teamwork easier helps the most newcomers - either beginner programmers, or programmers who worked with different Programming Language(s), Tools, Ecosystem, Technology(-ies).


Automated Testing.

For automated testing article, see if You wish:
- Automated Tests.


Design & Modelling.

Software models, often presented in a graphical way, are tools to look at software's design from a 'bird's view', to grasp whole picture.

Software modelling and design's goal is to abstract & simplify project.

Designs should be as simple and as abstract as possible - as this allows for easier code modifications as reality and customer's needs change.

... but of course modelling a single object with name 'idea' is too unreasonable interpretation of above words.

There are 'views' of a model as well - each view serves a purpose - each of views is a transformed model, both reduced and filled with details, to emphasize it's purpose.

For example we can have model consisting of every of car's parts, then we can produce a view of engine - fuel interaction. Unneccessary parts for this view are omitted, and more details about heat, and other aspects can be provided in view's documentation.

Models and views can be more or less exhaustive and detailed, and always should be unambiguous.

Tuesday 1 May 2018

Causal Notation.

Purpose.

This is a Causal Notation's initial draft, it's intended to have uses in Causal Proofs, Causal Analysis,
Causal Modelling, Causal Design, Causal Programming & Causal Automated Tests.


Additional practical notes.

This model is not detached from Reality, it applies to concurrent, non-realtime systems. Hence, we consider unknown delays in model & notation.

Are realtime systems detached from Reality?

Generally they are not - but for many solutions they are too expensive and slow to make. Hence, in many niches and solutions they are too unreal to be worthwhile.

Proving that programs or program parts will complete in a given maximum amount of time, is not possible using these tools. Using statistical-allowance of errors, including completion-time-related errors and forming contracts that way might be possible, but there's always a risk.

While time is counted very precisely by computer clocks, there are delays caused by code execution - every instruction takes a time to perform. Exact amount of delay depends on instruction(s), on processor(s) and on operating system and other software layers, if there are any.

Therefore, clock-events, objects creation and interaction are associated with delays, and response to clock-events usually is associated with delays.

Profilers, either built-in a programming language, or added manually or provided by thrid-party tools - are a good way of measuring average, worst and best delays statistically on a given hardware-software infrastructure unit.

See also, if You wish: Correctness.


Types.

Ca: a cause,
R: a result, an abstract object type that can evaluate to a boolean value,
De: discrete event, either a cause or result,
Co: a condition,
Te: a timeframe.
Cns: a conditions set,
B: a boolean expression,
Cto: a clock-events bound condition; it's state contains exact time of appearance and time of disappearance,
t: a time measured in milliseconds since beginning of year 1 A.D.
O: observer object - observes clock events, causes & conditions appearance, existence and disappearance, as well as origination, hold time, and cessation, then reacts with events that can result in cause(s) and/or condition(s) appearance and disappearance, as well as origination and cessation.


Definitions.

Cto := (t1, t2) - - Condition that appears at time t1 or a little later, and disappears at t2 or a little later,
Cto := (t, ...) - Condition that appears at a time t or a little later, and disappears when program stops,
Cto := (..., t) - Condition that appears during program's initialization, and disappears at time t or a little later,
Ten := Com - a timeframe Ten is defined as in-between of a condition Com appearance and disappearance.
Cnsn := Con1, Con2, ... - a conditions set Con is defined as a collection of conditions Con1, Con2, ...
Cnsn := Cnsm1, Cnsm2, ..., Cop1, Cop2, ... - a conditions set Cnsn,
  is defined as a collection of:
  * conditions Cop1, Cop2, ...,
  * conditions from conditions sets Cnsm1, Cnsm2, ...

Origination - an objects starts to affect Reality.
Hold - an object keeps affecting Reality.
Cessation - an object ceases to affect Reality.

Appearance - an object appears in Reality.
Existence - an object exists in Reaiity.
Disappearance - an object disappears from Reality.

In different sources - Buddhist or other - these ideas might be defined differently.

In many cases, but not all:
* appearance means origination,
* existence means hold,
* disappearance means cessation.

Can object exist and not affect Reality?
* depends on how we define a Reality,
* a part of Reality is also a Reality,
* we can play with ideas of objects with or without meaning,
* we can play with ideas of physical and nonmaterial objects,
* we can play with ideas of redefining what 'affecting' means, and with 'affecting threshold',
* does observation affect Reality?,
* ...

This has uses in modelling, for example, as models are simplified representation of interresting Reality's parts.


Appearance, Existence, Disappearance, Origination, Hold & Cessation.

Can := App Dem - a discrete event Dem makes a cause Can to appear.
Can := App Com - a condition Com makes a cause Can to appear.
Can := App Cnsm - a conditions set Cnsm makes a cause Can to appear.

when Bn : Com - condition Com appears and exists for as long as Bn is true.

Rn := Ap Dem in Tep - a result Rn evaluates to true if a discrete event Dem appears in a timeframe Tep.
Rn := Ap Com in Tep - a result Rn evaluates to true if a condition Com appears in a timeframe Tep.
Rn := Ap Cnsm in Tep - a result Rn evaluates to true if a conditions set Cnsm appears in a timeframe Tep.
Rn := Dis Cam in Tep - a result Rn evaluates to true if a cause Cam disappears in a timeframe Tep.
Rn := Dis Com in Tep - a result Rn evaluates to true if a condition Com disappears in a timeframe Tep.
Rn := Dis Cnsm in Tep - a result Rn evaluates to true if a condition set Cnsm disappears in a timeframe Tep.
Rn := Ex Cam in Tep - a result Rn evaluates to true if a cause Cam exists in a timeframe Tep.
Rn := Ex Com in Tep - a result Rn evaluates to true if a condition Com exists in a timeframe Tep.
Rn := Ex Cnsm in Tep - a result Rn evaluates to true if a condition set Cnsm exists in a timeframe Tep.

Rn := Ori Dem in Tep - a result Rn evaluates to true if a cause Dem originates in a timeframe Tep.
Rn := Ori Com in Tep - a result Rn evaluates to true if a condition Com originates in a timeframe Tep.
Rn := Ori Cnsm in Tep - a result Rn evaluates to true if a conditions set Cnsm originates in a timeframe Tep.
Rn := Ces Cam in Tep - a result Rn evaluates to true if a cause Cam ceases in a timeframe Tep.
Rn := Ces Com in Tep - a result Rn evaluates to true if a condition Com ceases in a timeframe Tep.
Rn := Ces Cnsm in Tep - a result Rn evaluates to true if a condition set Cnsm ceases in a timeframe Tep.
Rn := H Cam in Tep - a result Rn evaluates to true if a cause Cam holds in a timeframe Tep.
Rn := H Com in Tep - a result Rn evaluates to true if a condition Com holds in a timeframe Tep.
Rn := H Cnsm in Tep - a result Rn evaluates to true if a condition set Cnsm holds in a timeframe Tep.



Links.

See also, if You wish:
* The 'Causal Programming Paradigm'.
* Causal Automated Tests.

Monday 30 April 2018

Causal Automated Tests.

About.

Automated Unit & Integration tests / pl: zautomatyzowane testy jednostkowe i integracyjne / are not proofs, but these are practical as well - reducing bugfixing costs extremely significiantly at a very small price. There are more benefits to using Automated Tests, for example Mental Harness of Unit & Integration Tests enables one to proceed more boldly, faster, thinking on higher abstraction levels without worryig about minor bugs, relying on tests to handle that. These also can use Invariants.

In the 'Causal Programming Paradigm', each of state changes, as well as methods entrances, having control within, and control leaving can cause conditions appearance, existence, and disappearance event notifications. Methods' leave events contain return values, if applicable.

In the 'Causal Programming Paradigm', causes appearances and disappearances can cause event notifications.

How automated tests are perfomed in this paradigm, then?

1. Test registers for neccessary event notifications,
2. Test runs a method to be tested - which can contain one or many objects/methods.
3. Test gets report of the events raised and analyzes their types, order of appearance and state.
4. Test returns a value - either true or false, which says whether it was success or failure.


Links.

See also, if You wish:
- Invariants,
- Causes & Conditions,
- The 'Causal Programming Paradigm'.

Correctness.

Introduction.

Proving code's correctness / pl: dowodzenie poprawności kodu / can be done, but is very difficult & expensive so far.

Depending on purpose, code's correctness proofs are neccessary / for example: the nuclear reactor's software, airplane controls /, or not / for example: a non-commercial webpage /.

In reality, automated tests are enough for many applications, and proofs are used only in mission - critical software parts, because of the costs measured in programmers' work time and in other resources.

Too often even the simple automated tests are omitted in programmers' work - as customers mistakenly think that it costs less to just pay for bugfixing, than to pay for quality. But customers often lack knowledge neccessary to check code's quality, so they prefer to not pay for quality, while expecting it still.


Causal Proofs.

... i think that with coming of the 'Causal Programming Paradigm', proving code's correctness might become easier, automated testing as well.

With this paradigm, software analysis will be similar to observing a space - play, a play of causes & conditions.

Computation is calculation with side effects, depending on hardware & software, machines can compute either well or not so well.

In the Causal Programming Paradigm, cause's result appears when cause appears and conditions exist for long enough after cause's appearance.

Program's result is achieving certain results - either once, or continually, over a given time.

Idea of algorithm's correctness proof, therefore, is proving that a proper cause will appear, and proper conditions will exist for long enough, in a given timeframe.


See also, if You wish: Causes & Conditions.


Concurrency & Real Time.

Timeframe can be counted either using Real Time Clock, in case of Realtime programming languages, or defined as 'within brackets' of causes, countercauses, conditions and counterconditions appearance, existence or disappearance - in case of programming languages without Realtime mechanisms, as for example: 'Ola' Programming Language.

In a Nonrealtime Concurrent Systems, Real Time Clock can be used as well, but not so precisely.

Concurrency is not the same as Realtime Support Mechanisms, and considering either or both is not a small cost when proving program's correctness. In simpler words: Nonrealtime Concurrent Systems are faster usually than Realtime Concurrent Systems, but lack the Hard Pessimistic Time Constraints - often work faster, but occasionally are too slow. Realtime systems, when written correctly, do not fail at all - but are slower on average.

Nonrealtime Concurrent Systems are also cheaper and easier in making than Realtime Concurrent Systems, and market niche for these languages is much larger. People do not need expensive and over-ambitious solutions for most of simpler tasks, afterall.

Both the Realtime Concurrent Systems, as well as the Nonrealtime Concurrent Systems can work in Real Time, can have user interface that affect their behaviour. The 'Starcraft 2' Computer Game by Blizzard Entertainment is an example of the Nonrealtime Concurrent Program masterpiece - it works smooth and fast, but occassinally 'hiccups' - slows down for a while. Being a Nonrealtime Program it's much cheaper, and is faster on average.

'Starcraft 2' is the game of the 'RTS' - 'Real Time Strategy' Computer Games Genre, as it works in Real Time, Concurrently coordinating software parts. By the Computer Sciences Linguistics it is not a Realtime System, however, as it doesn't adhere to Pessimistic Time Contraints of the Realtime Systems. There's the difference between Computer Science's 'Realtime' meaning and the Common Sense's 'Real Time' meaning. The RTS Computer Game Genre illustrate this difference well enough, i think.


Quality & Professional Practices.

In formal proofs of program's correctness, minimalism is important too, code should have as little of side-effects as possible - only desired ones, if possible - as unwanted side effects, causes & conditions, can complicate proofs or interfere with results.

'The less code the better', SOLID, DRY / 'Don't repeat yourself' / & other ideas are important when considering 'Code Quality Metrics'.


Links.

See also, if You wish:
* Invariants,
* Causal Notation.

Sunday 22 April 2018

The 'Causal Programming Paradigm'.

Programming Paradigm is the way of thinking about programming, there are many programming paradigms, both lesser and greater.

Greatest Programming Paradigms are:
- Object Oriented Paradigm,
- Functional Programming Paradigm,
- Programming in Logic.

Programming Languages offer more or less support for programming with paradigms. Java, for example, offers support for Object Oriented & Functional Paradigms. Prolog, for example, offers support for Programming in Logic.

The Object Oriented Paradigm is a great tool for handling large-scale, complex software projects.

The Object Oriented Paradigm was meant to enable people to think about programming in a more abstract way than in the imperative programming, was an attempt to emulate a way of 'how mind works'.

i wish to build on Object Oriented Programming, to make programming even more alike to 'how mind works'.

i wish to create 'Causal Programming Paradigm' / pl: 'paradygmat programowania przyczynowego' /.

... it's both textual and visuospatial method, as one should be able to model objects graph using 3D modelling tools, then fill with code, or just write a code in a purely textual way. Visual Programming can transform to a purely textual code, elegant even - using the automated tools, anyway.

'Ola' Programming Language with its 'Token Game' semantics & nice syntax should enable the 'Causal Programming Paradigm', in a simple, easy, and cost-efficient way. Other important & useful programming paradigms should be supported, as well.

Software created with 'Causal Programming Paradigm' should react to events of causes and conditions appearing, existing and disappearing.

i think it's possible to use 'Causal Programming Paradigm' in the most of modern Programming Languages - at varying costs, however.

Causal Programming Paradigm should keep all of the tools of Object Oriented Paradigm.

i think Causal Modelling, Causal Analysis and Causal Design should also appear with time, as complementaries to Causal Programming Paradigm.


See also, if You wish:
- Causal Analysis: Causes, Results & Correlations,

'Ola' Programming Language.





There's a lot of programming Languages on market, why create new?

Why not settle for just a programming library in one of succesful programming language products?

Just as a handyman needs lot of tools, different types of screwdrivers & other, different programming languages fill different niches.

Every programming language has it's niche, does some things better, some worse.

Some things are done cheaper, some more expensively, some can't be done at all.

Programming Languages have advantage over libraries that they offer simple notation, nice syntax - so coding is easier, cheaper, faster.

Programming Languages offer paradigms, thinking patterns, and idioms - good programming practices.

... what's inside a programming language, it's inner mechanisms affect what can be done at what cost when using it - affect it's meaning.

... this blog's author is creating a programming languge as well: 'Ola' Programming Language, a 4th Generation Programming Language / 4GL /.


Formerly know as 'Ola AH', we've changed name of this programming language from to 'Ola'.


-=- a temporary logo of 'Ola'. -=-
-=- ... she looks similar to a Buddhist woman i Love, with whom i meditated in a Buddhist Center. -=-

-=- ... perhaps this logo will be changed, or perhaps this logo will stay. -=-




-=- Red Flowers. -=-

-=- ... for a Buddhist woman i Love. -=-



This initial draft, while worthwhile start and a source of ideas to consider - should be far from complete design. More ideas should follow, less important ideas should be removed, and - most significiantly - quantum informatics and perhaps quantum physics should be included in language's semantics. This should affect niches & syntax of 'Ola' Programming Language significiantly.



-=- Ada Lovelace. -=-

-=- Author of the first computer algorithm. -=-

-=- One of the Programming Languages was created and named after her.

-=- Examples of systems where Ada is used include avionics, railways, banking, military and space technology. -=-


Thursday 12 April 2018

Token Game.

About.

Originally 'Token Game' is a board game, an educational board game related with petri nets - rare and precious, at least in some circles.

... in a context of this blog, 'Token Game' is a theory, software modelling & construction methodology.

... it's the most ambitious theory in Project Wraithstar, from the Advanced Mathematical Computer Sciences perspective.

... inspired by abstracted Petri Nets, concretized different way, taking advantage of object orientation, can be used to model causes & conditions quite efficiently.

Software built using the Token Game / pl: gra w żetony / should react to events of causes and conditions appearing, existing and disappearing.

it has uses in esoteric, visuospatial programming / pl: ezoteryczne, programowanie wzrokowo - przestrzenne /, with modelling objects graphs in 3D then filling them with code. Objects graph is a model of a program, can be run.

Design goals for Token Game is to be very easy to use, but offer a great paradigm to work with, great idioms set.

There's focus on seeing more, thinking more, typing less.

... fitting 'a complete code part' on a 'single screen' can make easier overview, simplifies thinking, increases code quality, as i learned when i studied on MIMUW - Warsaw Univesity, ZSI Informatics Faculty.

There's support for concurrency mechanisms & typed data flow, built-in.


... see also, if You need or wish: Befunge, esoteric programming language, visuospatial - at least in a way, i think.

Petri Nets Conference.

   

- i participated as well, when i studied at MIMUW, Computer Sciences, when i worked at XPro sp. z.o.o. -
- i got a few of free days from work, and sponsoring from Michał Kłeczek, XPro's owner. -

- this conference set karma in motion, i think ... deeply inspiring, even if i barely understood. -


Credits:
- Susanna Donatelli, for her participation in the Sieldce ATPN Petri Nets Conference & support.
- Carl Adam Petri on Wikipedia.


Links.
* Linda & Tuple Space.


Literature.



... bought this ebook on www.amazon.com, kindle edition - will read when we need, as much as we need, if i can.




... downloaded this document as well.

Wednesday 11 April 2018

Invariants.

Intro Poem.

'Welcome to the informational age
We're enjoy the world of technology
Never felt this modern world could emerge
Magical world with braveness and courage.'


-- See also, if You wish: 'Welcome' on Hello Poetry.


Computer Sciences.

Invariants are cornerstone of Mathematically Proving Algorithm's Correctness.

Automated Unit & Integration tests / pl: zautomatyzowane testy jednostkowe i integracyjne / are not proofs, but these are practical as well - reducing bugfixing costs extremely significiantly at a very small price. There are more benefits to using Automated Tests, for example Mental Harness of Unit & Integration Tests enables one to proceed more boldly, faster, thinking on higher abstraction levels without worryig about minor bugs, relying on tests to handle that. These also can use Invariants.

Invariant / pl: niezmiennik / is a holy word in this Project, important part of Advanced Mathematical Computer Science.

Invariant is something that holds, in observable moments.

Example 1: during method's m1 execution variable's v1 value is never less than 0.

Example 2: during method's m1 execution, conditions: Co1, Co2 and Co8 hold.

Example 3: during a given timeframe T1 cause Ca1 appears.

Example 4: after entering method m1, before reaching code line n, a cause Ca1 appears and conditions Co3 and Co5 hold.

See also, if You wish: Causes & Conditions.

That are examples of invariants.


Preconditions / pl: warunki wstępne / and Postconditions / pl: warunki końcowe / are also examples of Invariants, there are method and class-level Invariants / pl: niezmienniki na poziomie metody i klasy / - for details, consult Object Oriented Programming & Invariant Theory.

Invariants can be used in forming the Software Contracts.


Buddha & Love.

There are Invariants of Love as well, should be fought for keeping and restoring when these fail.

Otherwise Love would fall apart.

Should Invariants of Love hold only in Observable Moments?

Good Question, but there's Buddhist Awareness / Consciousness Theory that explains that Consciousness is composed of a serie of discrete Awareness Moments, with delays in-between.

... it's something worthwhile to think & meditate on, i think.

... in Buddhism, we are not bodies - we are Mind. Mind has body, and surpassess death, Reincarnating after death in a new body.

... There's 'ego barrier' as well.

... it's a part of Karma, the Timeless Law of Cause & Effect, Causal Science.


Links.

See also, if You wish:
- Correctness.

Friday 6 April 2018

Causes & Conditions.

A definition.

What's the difference between cause and condition / pl: przyczyna i warunek / in Buddhism?

A cause is a discrete event which occurs before a result.

A condition is not discrete, it is continuous, and must remain true in order for things to arise in dependence upon it.

An appearance of a result of a cause, can be a cause.

A continuous serie of causes appearing without any gap in a serie of observable moments can be seen as a condition.

A condition can also be a cause. / for example: a condition Co1 holding during whole timeframe T1 causes Ca1 to appear /.

A cause can also make condition(s) to appear for a given time. / for example: 'i wish for gravity to cease in my room for 1 second.' - perhaps it's not so impossible as the Science advances, but consequences would still be terrible anyway. ;) /.

Usually we do not know when karma ripens, when cause's effect realizes, becomes a part of our reality.

Causes can create, support or abolish conditions, can counter other causes as well.

... there are more of nuances in the Causes Science, as well.


An example.

If I drop an apple, there are a mixture of causes and conditions relating to the apple falling.

Causes include me picking up the apple, me letting go of the apple, and so forth.

Conditions include the existence of gravity, the lack of any physical obstruction underneath the apple, the apple having mass.

Some of those conditions are very slow to change, and some are not. When the apple hits the ground, the condition of there being no obstruction underneath it will cease, and so the freefall of the apple will cease due to a dependent condition ceasing.

Source: An article in Quora, and more.


Glossary:

- condition: warunek,
- precondition: warunek wstępny; warunek początkowy,
- postcondition: warunek końcowy,
- invariant: niezmiennik,
- neccessary condition: warunek konieczny,
- sufficient condition: warunek wystarczający, warunek dostateczny,
- conditions hold: warunki utrzymują się w mocy,
- conditions satisfied: warunki spełnione,
- conditions evaluate to truth: warunki wyliczają się do prawdy,
- observable moment: obserwowalny moment.

... see also if You wish or need: 'Necessity and sufficiency on Wikipedia'.

... is it glossary or a dictionary? / an english-polish dictionary /.


WARNING.

... unfortunately, there are people who abuse words of science.


... does science want 'priority queues' to be excuse leading to abusing someone, certain group(s), etc.?

... what's true purpose of 'simple queue systems' architecture? / en: 'simple queue systems' = pl: 'proste systemy kolejkowe'. /

... what's connection between 'completion phase' of meditation and satisfied conditions? / in a polish language, 'completion phase' is 'faza spełniająca'. /


Causes & Computer Science.

When a cause appears, or disappears, originates or ceases - an event should be raised, so other software part(s) can be notified.

Cause's ripening can be conditioned.

... for example, a wish: 'i wish to clean my room tomorrow' translates to a cause for cleaning room, with condition that this must occur in a given timeframe.

When conditions for this cause's ripening hold in a given timeframe, this cause ripens in a given timeframe.

When conditions for this cause's ripening do not hold in a given timeframe, this cause is purified, and is never realized.


Conditions & Computer Science.

In Computer Sciences, in Object Oriented Programming, objects consist of:
- state, variables' values,
- methods.

But i think it's useful to add conditions, as a part of object's state - as worthwhile to empahize.

Conditions have boolean values - are either true or false.

Conditions are affected by variables' state changes, so code that maintains condition's state should be in the appropriate accessor method(s).

When variable's state changes, and condition's state changes from false to true, condition origination event is raised.

When condition's state is true, condition holds. Otherwise it does not hold at this moment.

When variable's state changes, and condition's state changes from true to false, condition cessation event is raised.

There can also be conditions for a method entrance, for control being within a method, and for method leaving - on the processors/cores or/and a processess/threads levels.

Method's leave events should contain method's return value in their state - unless method does not return any value. In this case this information should be a part of method's leave event's state.


Interdependence.

'if this exists, that exists; if this ceases to exist, that also ceases to exist'.


Emptiness.

'Whatever arises dependently
Is explained as empty.
Thus dependent attribution
Is the middle way.

Since there is nothing whatever
That is not dependently existent,
For that reason there is nothing
Whatsoever that is not empty.



See also if You wish:
* Emptiness, Interdependence, Equanimity & Illusory Nature of Reality,
* Pratītyasamutpāda on Wikipedia,
* Causal Notation.


Wednesday 4 April 2018

Karma: the Law of Cause and Effect.

Intro Poem.

'A Kindness

Why I lift you up-
Someone, unknown, lifted me-
Karma moves forward-'


-- Source: 'A Kindness' on Poetry Soup.


Quote.

'Karma (Tib. Ley): action.

The law of cause and effect, through which one experiences the world in accordance with the impressions stored in mind.

These impressions were created through one's actions of body, speech and mind.

This means that beings decide their own future with their present actions.'

-- Quoted from 'Buddha & Love' book by Lama Ole Nydahl.


Commentary.

Study of Karma is important part of Buddhism, as is investigation of the causes of happiness and suffering.

Cause and Effect law is a very vast study field, causes can be found and addressed to everything - from love to physics, economics, weather, esoterics, and more.

Certain events such as stock market crash or weather change have the vast amount of causes - so this study is extremely complex endeavour.

This study involves both root causes as well as intermediary causes.

Not only causes are needed for certain phenomena to arise and hold, there are more permanent conditions as well.

With time reality changes, conditions crumble and rise, causes appear and disappear - so there's the difference between the Timeless Karma Science and Conditioned Karma Study.

Strict sciences based on the Timeless Karma Science are very deep and solid, however - effects of applying such sciences are very infailible and can last for a very long time, considering one's Reincarnation as well.


The Causal Love Science.



... for those interrested in the Causal Love Study, i think there is abstract / focusing on root causes & on high abstraction level, without too many of details / book - 'Buddha & Love' by Lama Ole Nydahl.

Words in this book might seem detached from reality to those who read and do not know Buddhism, but these work - often after many years of waiting, fight and work.

Lama Ole Nydahl studied Philosophy, so can think abstractly, and provide abstract, far reaching solutions even that many do not see whole chain of cause and effect at first. In my opinion this book is far more than good wishes, positive vibes and good impressions - even that it includes these as well.

Philosophy means 'Love of Wisdom', it's Wise book about Love & Buddism.

When someone really cares for Enlightened Love, he or she should certainly try it in my opinion.

Lama Ole Nydahl succeeded and succeeds in Love, many others who follow him as well - even if this seems hopeless at first, even if it's long and difficult fight.

The root causes are provided as well as guidance how to live, then intermediate causes & results appear as well.

Topics in this book include not only wishing for / creating that way / causes of Love, but also 'how partnership succeeds', forging bonds, 'purifying karma that causes pain', and much more.

There are abstract explainations of important Buddhist concepts as well, as for example 'Four Immeasurables'. In my opinion thse shuld be analyzed, experimented with and included in one's view and practice.

i recommend.


--
(Article perhaps will be edited, as guided by Open/Closed principle from Computer Sciences, a part of SOLID methodology - article is open for elaboration & extension but closed for changes that would contradict truth).

Tuesday 3 April 2018

Intro.

Intro Poem.

'Aspirations are free
But don’t get stuck on the mere possibility
Yea, anyone can dream
But so few wanna take responsibility'


-- See also, if You wish: 'Aspirations Are Free' by Fixedonsuccess on Allpoetry.


Project title's meaning.


'Spooky action at a distance'.
'Upiorne oddziaływanie na odległość'.



... Einstein spoke about 'Spooky Action at a Distance'.

Wraiths / pl: 'Upiory' / are spooky.

So, the title: 'Project Wraithstar' is a form of a tribute to A. Einstein & other great Scientists, not all of them well known.

... it's related with Advanced, Modern Physics: Quantum Physics & Quantum Entanglement Phenomena.

... for a more, check this Wikipedia article.


Also, word: 'Wraith' makes me think of J.R.R. Tolkien's Ringwraiths / pl: 'Upiory Pierścienia' /, Nazgûlzs. Hence, a tribute to the Literary Arts as well, not only to the Sciences.


Modern Sciences and Quantum Computing.

Modern Science is far more Advanced than most of Society can imagine, i think.

Computer Sciences are important, Quantum Computers are important as well ... i've read that Quantum Computers are built to model 'Quantum Reality', so are well-suited to answer Quantum Physics needs. While there are successes and uses, while limited versions were constructed already and still serve science efficiently - Quantum Computers didn't reach 'The Critical Breakthrough Milestone' yet ...


About.

Project Wraithstar / pl: projekt upiorna gwiazda / is about Advanced Science & Technology composed of Advanced Mathematical Computer Sciences, Advanced Mathematics, Advanced Physics & Scientific Nanotechnology mostly, as well as of few other Sciences including Electronics to a lesser degree.

... which of the Art Styles i should include?

... initially i aim for impressionism for colours and feelings, art deco & cubism for geometic shapes and bright colours of vivid voxel graphics, also early barocco with it's simplicity, and gothic romanticism - related with Ada Lovelace, first computer programmer and daughter of Lord Byron, the romantic poet.

... but perhaps this will expand or change in future.

... i imagine this will amount to a style of the 'joyful dystopian feelings'.

it's Buddhist, Esoteric, Artful & Scientific Project in making.

Based on the Law of Cause & Effect, including Scientific Causes & Conditions Theory.

Design goals for this blog are to focus on Theoretical Science far more than on Practical Technology - but still include it significiantly.

Since youth i wished to code with professional quality, with indents & professional practices, to speak using minimalistic, simple, clear and elegant, casual / pl: potoczny / and causal / pl: przyczynowy / english language. When i studied at Warsaw Uniwersity, it was important for me - and Warsaw University has people that care for this, for beautiful & professional computer sciences language, as well. i wish to be one of them.

> [ Polish - English - Polish: a Dictionary ].


Project Wraithstar should use these wishes and a Beautiful Art with Style that makes one think of Futuristic Technological Advantage, Nuomenal Science, Dreams, Energies, Night & Starlight, Spectral Cosmic Wraiths of Unknown Space, of flowers and more.

Buddhism, Occult & Esoterics should be part of this blog, but used in non-cheap, beautiful, deep, spiritual, well-refined and very subtle ways. Scientific parts of Buddhism & Esoterics, as for example Causes & Conditions Theory, as well as Numerology do not have to be so subtle, however. Occult is the Spiritual Science, as well, and more. Esoterics is spiritual paths other than Buddhism in my case, of both rise and fall. i have a darker side, but i believe in Spiritual Ascent more than in fall, however.

i don't know when i am ready to continue writing this blog, for now i lack in Arts, as well as in Advanced Mathematics, Advanced Physics and Advanced Mathematical Computer Science apparati. Without these Nanotechnology of course is just a dream.

While i am not a materialist, technology & science will be for sale probably - probably most of it not for myself. i wish to earn in nondirect way, probably using courses & tutorials, Science & Technology is for Lama Ole Nydahl & for a Buddhist woman i Love.

i think Marketing effort will benefit from Art, but that won't be goal for Art & Style. it's a way of expression, i am Artist & Scientist, Buddhist & Esoteric afterall.

At this stage this blog is just idea & design.

... feel free to meditate for this project, including on ways to benefit from it for yourself, me & others.




Dear Lama Ole, i hope You accept this gift - for as many lives as it's Enlightening - offer stands even after death - Lama Ole Nydahl can accept it in this and/or in next lives. The same with a Buddhist woman i Love - she can accept in this and/or in future lives.


... i hope these articles will be worth of blogs, of a chalk & board, someday.




Lama Ole Nydahl's 80th birthday will be on 19 march 2021.

He was born on 19 march 1941.


(to be continued in future, probably after i earn Masters Degree in Mathematics on Warsaw University - after i meet a Buddhist woman i Love again).