...by Daniel Szego
"Simplicity is the ultimate sophistication."
Leonardo da Vinci

Wednesday, March 29, 2017

Notes on machine assisted software services

PowerBI, it is awesome,
PowerApps, it is awesome,
Microsoft Teams, it is awesome,

However, actually the next releases will be much better. The next releases will probably have the possibility to create BI reports, Apps and communication best practices in a fully automated way based on artificial intelligence. 
And the idea is basicaly simple, put relative simple quasi freemium service onto the market, train your AI on the data (yes you can do it without actually seeing the data, without having problem with any data protecton regulations) and in two years you can launch the next release of your software fully automated based on machine intelligence trained on a huge amount of industry best practice data.

Welcome to the dawn of the machine assisted report generation and machines assisted software applications.

Friday, March 24, 2017

Notes on digital business process management and corporate identity

from a practical point of view some business process management implementations have got three phases:

1. setting up digital processes to support cooperation of people and speeding up the company.
2. due to fluctuation, new people learn the company processes actually through the set up digital processes. 
3. the digital processes are getting the core part or fingerprint of the company as people are replaceable by standardized job descriptions.

It is a weird thing but in these cases the corporate identity is not really defined as a set of people who work there but rather as a set of processes that are implemented. 

Monday, March 6, 2017

Blockchain, consensus and modal logic

From a logical point of view transient data state of the individual nodes of a Blockchain could be regarded as possible wolds of a modal logical system. In this sense it might make sense to write expressions with a specific modal logic to describe different characteristics of a smart contract or a specific consensus mechanism.  

Notes on object oriented machine learning

As systems with machine learning and data mining are getting more and more wide-spread, the need for integrated object oriented machine learning systems are increasing. Such system is required to integrate machine learning with the classical object oriented representation at least in three ways: 

1. Implement machine learning on complex objects: Everyday problems usually can not be represented by simple atomic values, like real numbers, but rather on complex information objects on which some kind of an automated association must be carried out. In this sense important part of such systems would be to work somehow with structured data. 

2. Some machine learning transformations of the system can be better represented as a kind of a data flow of objects. Like a simple machine learning algorithm usually has some kind of a pre- transformation phase, a real learning phase and some kind of a post transformation phase. These phases can be easily represented as a flow of transformation objects. 

3. Complex systems are usually not based only on machine learning algorithms, but rather machine learning is a part of the whole systems. In this sense, it would be important to model the machine learning really as an integrated part of the system not something that is totally separated. Possibilities might be self adaptable types, properties, entities or even associations between different objects or types. 

To sum it up, machine learning is usually imagined pretty much independent from the classical object oriented systems or highly structured knowledge representations systems. However, it is not necessarily the best approach. Instead integrated approaches should be available, to be able to easily design hybrid systems both having machine learning and strucured knowledge representation parts.  

Saturday, March 4, 2017

On the supply curve of the IT goods

Supply goods of the different IT goods work actually differently from the classical material goods. The major different is that an IT good, software or service can usually be replicated to an infinite number of copies without efforts or costs. As a consequence the supply curve of a classical IT good is far from linear, it has rather the characteristic of having a "tipping point" or singularity point at which it is already profitable to produces, so the practical zero supply becomes infinite (Figure 1).

Figure 1. Supply curve of IT goods. 

Certainly, real life markets are more complicated, they usually do not only have one suppliers both usually many who can provide several differentiated products and services on different price niveau. Despite we would expect that if the market is well characterized and homogeneous enough, there is a small singularity area where the practically zero supply becomes very fast infinite.

Friday, March 3, 2017

Notes on hybrid machine intelligence systems and system design

What is sometimes missing from the machine intelligence systems is that machine intelligence is an integrated part of the system design. Let we think of a complex IT system. It could be pretty much systematically designed in a way that certain parts are self-adaptable entities, meaning that they can be systematically trained and other parts are rather fixed. It is a  general system design question as well which parts of the information system can be trained or for which parts of the information system  make sense to be trained. 

So as a basic system model let we imagine something object oriented system in which we have several objects or entities that practically contain some properties functions or constraints. As the most simple case let we imagine a self-adaptable entity as a set of {P1,P2, .. PO} general properties and a set of {F1,F2, .. FO} functions, in which each function maps some input parameters to some output ones based on the general properties. These functions are however not fix implemented but they are trained with some measured data. There might be a continuously learning designed, however it is probably a better system design to make a separation between different stages, like:
-  performing phase: in which the system is working with static functions.
-  learning phase: in which the system is adapting based on some measured or generated data.
-  new performing phase: the result of the previous learning phase is used as static function, implying practically a new release of the system.

The functions themselves might follow different machine learning patterns, ranging from classical stochastic functions via artificial neural networks to more symbolic decision tree learning algorithms.

The model can be approved further to consider not just self-adaptable entities but self-adaptable connections between different entities or even inheritance between entities.

The future of custom software development

The industry of custom software development shall fall. 

In 90% of the cases no project manager, business analyst, tester, scrum master an not even software developers are required. 
What is necessary: conveyor chains, platforms, plugin markets, machine intelligence, robo-advisors and semantic software engineering. 

The rest is just bullshit.

#Digital disruption, #Towards unmanned software development