Saturday 16 November 2019

Numerology.

Sometimes people need Esoterics.

What is Esoterics?

In my case, it's spiritual ways other than Buddhism - both of development and fall - but still, i try more for development than for fall.


At fairly young age, i thought i understand world, i thought i understand reality well enough.

... then, it became something beyond my understanding, beyond my comprehension - both in complexity, as well as in its cruelty.

... i needed hope, without it ... i lack motivation to live, i lack will to even try.


Numerology is mathematics, spirituality & esoterics combined.


How to collect & store data about numerological preferences of people?

How to help / support those who have painful experiences with a certain number(s)?

1. One should understand numerology system of his / her own ... in my case it's in article: 'Power Numbers & Symbolic Meanings',
2. One should consider other numerology systems,
3. One should use software to process numbers, as for example: Factorization Tree,
4. One should consider using Database Management Systems - as for example - as in: Linda as Database Management System,
5. One should consider using web browsers' cookies analysis,
6. One should consider using internet robots for collecting data from internet,
7. One should consider using 'Weak AI',
8. One should consider using 'Stronger AI', a 'Weak AI' that can process reports from many 'Weak AI's'.
9. One should be wise and compassionate ... is ignoring internet privacy laws as RODO for example ... something wise?
10. One should walk away from computer-internet-world, see how world-reality looks 'outside the machine'.


My happy, lucky numbers are: 2, 7 & 14.

2: a pair, male & female,
7: luck, happiness,
14: a pair of 7's, a happy couple, happy together.


... if i live long enough, i have plans: to complete 'Double Ph.D' in Mathematics.


What is 'Double Ph.D' in my case?

1. Masters Degree in Mathematics, in Cryptography ... with it's quality & depth of understanding comparable to Ph.D,
2. Ph.D. Degree in Mathematics for Interdisciplinary Sciences, probably fairly-focused on Nanotechnologies.

... will 'Double Ph.D' combined with my Spirituality, Buddhism & Esoterics mean 'nuomenal numerology'?


Matrix.

Scientific Approach.

'Matrix' word is translated to a polish language as: 'Macierz'.

2D Matrix calculations / computations - two dimensional arrays, sets of equations - can be used to generate 3D graphics.

Calculating / computing such is a part of 'Geometry with Linear Algebra' Lecture, in Warsaw University - Mathematics, Informatics & Mechanics Faculty.

... does Mechanics include Quantum Mechanics ?

... how about Quantum Computing?


3D Array of Objects - '3D Matrix' - can be used to model spread of energy & matter in Reality, in 3D Space.


3D Matrix can be constructed as a Cube, or it's class constructor can use:
- a Set of Nodes,
  - with 3D-Space coordinates a part of these's state,
- a Set of Arrows ... members of this Set are:
  - first node, second node, arrow directed toward first node,
  - first node, second node, arrow directed toward second node,
  - first node, second node, bidirectional arrow.

... if there's no need to connect every node with every other node ... then some arrow-relations in 'Set of Arrows' can be skipped.


3D Matrix is not only 'data structure', it's a 'data structure with convenience methods'.

3D Matrix is a part of 'Ola' Programming Language.
... Semantics, probably Syntax as well.


     

-=- 'Geometry with Linear Algebra', a Lecture. -=-


                 

-=- 'Table of Contents' of 'Geometry with Linear Algebra'. -=-



Buddhist-Esoteric Musings & Entertainment.

... i'll also call 2D Matrix an 'Open Square'.

... how 'Sacred Geometry' is related?
... how 'Fractal Enlightenment' is related?

... what it means that 'Geometry trains Imagination'?
... where it leads?




How a Compass / pl: Cyrkiel / is related with Masonic Societes?



... i am not any 'Enterprise Software Architect' / pl: 'Enterpyzowy Architekt Oprogramowania ;) /.

... i am Architect of my own Death. ;)

... everyone will die someday ... but how to die Artfully? ... how to reincarnate better?



Sunday 8 September 2019

What is Syntax, what is Semantics?

Syntax.

Syntax is keywords, reserved words, building blocks of a programming language.

... but what is 'word', what is 'alphabet' ... what is 'pattern', what is 'grammar' ... in Computer Sciences?
... there's Lecture: 'Languages & Automatons' that answers these and other questions.

... beside keywords are variable identifiers, constants, etc ... that can't have the same 'names' as keywords.


Semantics.

Semantics is 'meaning'.

Instruction's semantics is what it precisely does ... how it 'works internally' ... what 'magic' occurs when instruction is executed ... 'method call' or 'method invocation' is also instruction, for example.

Magic is something that works ... somehow, not sure how ... sometimes not the way we want, sometimes there are errors or other problems ... but occasionally it works 'well enough', 'the way we prefer'.

Not many understand magic, esoterics, spirituality ... so many details, that make no sense to most.


'this technology is black magic to me'.



Hardware, Operating System, 'internet configuration', etc, ... many more factors do affect how the same instruction works on different machines.

'it works on my computer'.
'u mnie działa'.

... ;)

Saturday 7 September 2019

Energy Currency Musings.

... i think its wise.

... an old idea, to move from coins & valuable papers to energy as currency.

... at first - i think - electric energy, then perhaps other energy forms.

... perhaps cryptocurrencies as bitcoin, ethereum, etc ... blockchain ... can also be used, perhaps cryptocurrencies related with energy markets ... but not only markets.

... let's be wary of incoming 'cipher crisis', however.

... perhaps competent energy chemistry, physics, economy, informatics, mathematics, ..., specialists can think about proper 'accumulators', 'wallets', other infrastructure as well.

Monday 2 September 2019

Advanced Mathematics & Software Tools.

... there are many tools.

i think that Skilled Mathemathicians solve challenging problems, far quicker, far more precisely than less skilled mathematicians and/or computer programmers.

i suspect that using Basic Tools with Abstract Methods of Advanced Mathematics can outperform crude software automations by far.

... i think Knowledges, Theories, Experiences, Theorems, Proofs, Lemmas, etc. - are also Tools, 'Mental Tools'.

... i think not only Strict Sciences - as for example: Mathematics, Computer Sciences, etc. - can have 'Mental Tools'.

... can 'complex integrals' be solved better using Algebraic Structures as Rings, Groups, etc ... with/or without other Mathematics Tools ?

... i supsect it's possible & efficient.

... etc.

There are Software Tools as Wolfram Mathematica, MathWorks MatLab, Microsoft Excel, probably more.

... i know so little, but i suspect that there are 'extension points', 'plugins', 'scripts', etc.

... should we investigate?


... i think Wolfram Alpha should be mentioned as well, it's more than 'Mathematics Search / Computation Engine'.

Sunday 25 August 2019

GNU & Related.

GNU is an operating system and an extensive collection of computer software. GNU is composed wholly of free software, most of which is licensed under the GNU Project's own General Public License / GPL /.

... if some drastic change didn't happen since i heard:
- GPL is 'General Public License',
- GPL is in short a license for free software,
- GPL-licensed tools can be used non-commercially,
- solutions made with GPL-licensed tools are required to use GPL license as well.

... if some drastic change didn't happen since i heard:
- LGPL is 'Lesser General Public License',
- LGPL-licensed tools can be used commercially.

GCC is short for GNU Compiler Collection.

... there's more to GNU as well, more GNU tools, etc.

... composing GPL wasn't a meek achievement, it's one of greatest efforts made for free software producers protection.

The license was originally written by Richard Stallman of the Free Software Foundation for the GNU Project, and grants the recipients of a computer program the rights of the Free Software Definition.

... for many GNU tools, licenses, etc ... are 'holy'.

... i think GNU & FSF / Free Software Foundation / should be given proper respects.

Saturday 10 August 2019

'Memory Map'.

... there are abstraction levels, high & low.

High abstraction levels are useful to plan, to experiment, to prototype, to handle complexity, ... to implement as well.

Low abstraction levels are useful foundation, allow to use hardware extremely efficiently, but usually costs are too extreme, costs measured in time, money & other resources.

... years ago a friend borrowed me 'Atari ST Memory Map'. More than list of memory adressess, where to put which digit so certain results can be achieved.

... if i remember correctly, it was a lot of theory and graphical models, not only 'electronic circuits', also theoretical-scientific models, explaining theory that resulted in many electronic circuits, and many other solutions - both hardware and software.

'High abstraction level approach to low abstraction level solutions'.

... why i inform about this on Project Wraithstar?

... it's just an idea to consider - should we - including me, or without me - serve society that way, as well?

Saturday 3 August 2019

Objects Graph, Model of a Program.

In this article we consider 'interactive' applications, uses of 'improper algorithms'.


Directed Objects Graph can be a model of a program, or can be data model as well.

Values of Objects' references/pointers/handles/etc ... are also a part of state, as any variable's value is, as well.

... in a Directed Graph we have 'dots & arrows', 'nodes & arrows'.

... in a directed object graph, objects are 'dots/nodes', references/etc are 'arrows'.

Graphs can be either 'directed' or 'undirected', but in this article we don't need to use 'undirected graphs'.


Classes are something as 'objects blueprints', a part of application's static resources.

After Classes are written & ready, objects can be created.


... i call objects graph's construction, including initial state's set-up: 'Configuration', 'Application Configuration', 'Object Graph Configuration'.

... resources as graphic image files, dvd iso files, localization text files, etc ... are also a part of application's static configuration, can be used in objects graph as a part/whole of objects graph's initial state.

... different versions of application are just different objects graphs, with different initial state. Different versions sometimes do not need to be backward-compatible, sometimes are wholly different software - more than functionality reductions and new functionality additions. Code should be reusable, usable in many projects.

... initial state can be static, 'hardcoded' or dynamically loaded from input/output devices as keyboard, mouse, graphic tablet, eye-retina scanner, a file from persistent memory, a data from database indirectly acquired via DBMS
/ Database Management System /, or a report from 'web-service' acquired via the internet socket, etc.

'Initialization Phase' has to complete fully, before application can enter different 'mode/state' in which it starts working, doing it's job.


Objects graph configuration can be done manually - in one of 'entry points' to application, or tools as Java's
'Spring Framework' with it's 'xml configuration' can be used.

After objects graph is configured, we can 'launch' a proper entry point / for example: one of main(...) methods /, so application starts.


Here we can use 'root object' as 'entry point', 'but root object' can also be referenced, we can have 'cycles/loops' in our graph.

We can have many 'entry points', and many 'root objects' ... but eventually we might need to choose which 'entry point' to use at that moment, which 'application/version' to run this time.


Summarizing, object-oriented application's development & launch goes through following phases:

Minimum requirements:
1. Write Classes,
2. Construct Objects Graph, setting-up initial state using 'hardcoded' data and 'static resources' as well.
3. Launch one of Entry Points, providing values to arguments if neccessary.
4. Application starts, can enter 'Dynamic Initialization Phase' - if needed,
5. Applicaion switches to 'Running Phase', starts doing it's job,
6. ...

Other considerations:
1. As a part of writing classes: documentation, testing, reports and other quality procedures should be used,
2. Do we need a 'Shutdown Phase', a 'Resource Deallocation / Reporting Phase'?
3. Error handling should be considered,
- for example: what if/when a 'web service' doesn't answer connection attempts / requests? This can occur both in 'Dynamic Initialization Phase', 'Running Phase', as well as in 'Shutdown Phase',
...

'Application Deployment' is something more than 'Application Launch', however.


Concurrency needs:

When one designs objects graph, concurrency needs are to be addressed somehow: 'objects multiplication', 'monitors' and 'router / load balancer with waiting queue' comes to mind at first.

Router queue size & related errors need to be considered as well.

... dynamic 'spawning' and 'despawning' of 'objects' is possible, perhaps managed by 'router / load balancer'.

... 'stateless objects', and 'idempotence' can be useful as well.

... i suspect this amounts to standard java's approach to writing both distributed, as well as in-memory applications.


What's state?

... state can be defined many ways.

... i'll use 'defensive' approach this time:

Phase-approach:
- what we'll configure in static way is 'compile-time object graph' - ready at phase's end,
- what we'll configure in a 'dynamic initialization phase' is 'dynamic-init-time object graph' - ready at phase's end,
- what happens in a 'runtime' is 'runtime object graph' - 'timestamped-snapshot runtime object graph',
...

Infrastructure approach:
- in-memory object graph,
- network objects graphs - with defined internet adresses, port numbers and process names in these nodes,
/ for example: 'ProcessName:myProc1,IPv4:84.108.84.108,Port:108;' /,
...

What about objects created inside method(s) scope(s)?
- scope state(s) are part of object state,
- networking makes data redundancy an issue - not sure how to handle it yet - probably it's wise to consider/include many ways, different tools for different 'situations'.

What's static, what's dynamic?
... dynamic programming allows applications to change without restarting, as well.
... in this case, any modification to application - including editing included resource files - implies static resource.

... perhaps example will help to understand:
- java applications are 'archived' in .JAR files, in .WAR files, in .EAR files, etc. ; to modify application, one has to 'unpack', or just use source code and generate new 'archive'; ... anything within 'archive' is static ... everything else is dynamic data,


What's next?

... events queues can be used as well,
... 'Token Game' can be used as well.

Monday 29 July 2019

Linda as Database Management System.

Database is data, Database Management System / DBMS / is software that keeps and manipulates database.

There are many Database Management Systems, from Relational Database Management Systems / RDBMS /, to Object Oriented Database Management Systems / OODMBS /, to Hierarchical Database Management Systems, perhaps more.

SQL, language-interface with RDBMS is so holy, as RDBMS have STRONG Roots in Mathematics, Relational Algebra.

... in a way it's powerful, but still complex and unelegant, i think.

... there are Views / pl: Widoki /, PL/SQL, Events - Triggers / pl: Zdarzenia - Wyzwalacze /, Transactions, / pl: Transakcje /, ACID properties, Transaction Isolation Levels / pl: Poziomy Izolacji Transakcji /, Normal Forms at various 'levels' / Pierwsza Postać Normalna, Druga Postać Normalna, ... /, ... Database Tuning / pl: Strojenie Baz Danych / , ... far more.

... i even heard a complaint that someone preferred to store 'XML files in database' instead of proper handling data in relation tables, as a consequence of software-database operations complexity & frustration.

... i am very far from Database Admin expertise levels - it's quite Ambitious & Unappreciated Way ... but still ... it's not my way.

... i don't know anything about Data Warehousing / pl: Hurtownie Danych /, BIG DATA, Data Mining, etc.

... i think Database Tuning is optimization, of either whole Database/DBMS, or it's parts. There are many aspects to optimize - optimizing one/few things at cost of other thing(s).


There are important abstractions over RDBMS, as Java's Hibernate - for example - important bridge between 'Object Oriented Solutions' and RDBMS.

... but i think 'bridge' is not enough, we need simpler ways.


Linda has potential for being new DBMS tool as well, among it's other uses - perhaps many other uses.

Both Linda, as well as Relational Database Management Systems use the idea of a Tuple / pl: Krotka /.

... i think it's important to emphasize that without Transactions Support, any of Database Management Systems is lacking, not good enough to be used commercially ... so Linda also needs Transactions Support if it is to be used as DBMS.

Compared with RDBMS systems, Linda is far simpler, and has very elegant & nice, scientific notation - which can motivate computer programmers, can make their work easier, more enjoyable, quicker.


... in my approach to Linda implementation, Tuples can contain nested / pl: zagnieżdżone / Tuples as well, at theoretically any depth(s) - thanks to that it can store object graphs, with precisely defined state ... and can have many other uses as well.

... but let's not lay / lie so lazily in that 'nest', anyway. ;)

... is including 'lazy evaluation' so lazy?


... i think we should consider both cyclic and acyclic objects graphs if we want this idea to be realized - an idea of using Linda as DBMS.

Perhaps cyclic graphs should have sorted map data structure 'attached', data structure where object names are keys and references to objects are values. That way, as we 'search' through objects graph, we can 'store aside' information about names of objects visited - and avoid proceeding into infinite loop.


Considering Linda-based DBMS requirements - to be able to store object graphs correctly - abstraction, concretization, and inheritance hierarchy issues should be considered as well.


... i think 'read' operation should be fast, it should be one of most important, or perhaps even the most important objective ... then search operation speed can be quite fast.

... is avoiding/defeating data redundancy / pl: redundancja danych, powielanie danych / more important than read/search speed?

... what is more important - addressing 'data redundancy' or addressing 'single point of failure' issues? ... are solutions to these issues mutually exclusive?

... what other needs people require from this 'project'? ... i am open to wishes, suggestions, requests - not only from computer scientists & engineers.

... by serving people that way, i'll try to create market needs - so don't worry about asking, i'll benefit from that as well.

... let's be wary about 'abuses', 'unneccessary intermediaries', 'poisonous people', 'non-symbiotic parasites', etc, ... however.


... see also, if You wish, need, ... : Linda & Tuple Space.

Friday 17 May 2019

Success Metrics & Risk Management in Software Development.

Software projects are considered success when:
1. Completed on time,
2. Without exceeding resources budget.

In software development there are many unknown factors.

Developers do not know which software parts work well with which software/hardware parts.

In theory, anything can be done - but at differing time/resource costs.

Worst risks to time/resources should be addressed first:
1. Business/Development Team should organize a meeting and consider dangers/risks - not only from technological/scientific perspective,
2. Dangers/Risks should be analyzed and prioritized, from worst to least,
3. Unknown factors are risks as well, the less we know - the worse risk/danger potential,
4. Research & Prototyping are tools for assessing whether something can be done within given time/resources budget costraints. This should be one of the first phases of development.

Without these steps, unhandled risks can backfire in form of excess of resources needed, and/or in form of software development time exceeding the deadline(s).

As time flows, reality changes and customer requirements might change as well.

This is also risk, usually handled by extra time and resources allocation to project's total costs - as well as by adopting iterative development methods / as opposed to outdated 'waterfall' model, in which customers' requirement changes are not allowed by business contract /.

High quality projects should also offer 'limited warranty' time - where bugfixing and minor corrections are included in project's cost, for a given time - after closing the project.

Software quality procedures allow for faster and less expensive changes - both bugfixing and functionality changes - but customers usually do not know how to assess software's quality, and prefer to not overinvest in quality procedures they can't understand.


Sunday 24 March 2019

'Immobilizer' Software Protection Method.

... i got a hint of this secret high-tech project during my professional career.

Basics of making it work are:
- Connection to server(s). Without it software/hardware 'freezes' and activity is logged in persistent memory.
- Part of code downloading from server.
- Cooperation with a detective agency, in case of suspicious activity detected by AI.

Breaking it is hard, requires reverse-engineering and provides only a 'snapshot' of software, denying updates.

Perhaps using Events is a good idea for decoupling objects and propagating lockdown state across parts of the protected application.


--
Obfuscators are also good tools that help to protect software.