Monday, December 23, 2019

task oriented programming languages

Categorizing the thousands of programming languages that exist is no easy task, but software trends over the years have revealed two sovereign frameworks: imperative (object-oriented) and declarative (functional) languages.

Imperative: The programmer defines how to perform algorithms and how memory is accessed. Examples include C++, JavaScript, and Python.

Declarative: The programmer defines the composition of functions, and lets the run-time optimize algorithms. Examples include Haskell, Erlang, and OCaml.

A classic way to describe the distinction between declarative and imperative programming is that declarative languages let the programmer describe what to do, whereas imperative languages let the programmer define how to do it.

If we extend this idea to a third type of language that lets the programmer define why choices are made, then we have discovered task-oriented programming languages.

Task-oriented: The programmer defines desired states, and lets the runtime resolve the composition of actions. Examples include DMPL, PDDL, and DTProbLog.

The figure below summarizes these paradigms with glorious details about how languages have influenced each other over the years. The types of languages span all over the place, and it all started less than a century ago!  

Arrows between languages represent influence. Languages are placed in columns corresponding to their primary paradigm, even though some languages are multi-paradigm.

Wednesday, December 11, 2019

Microsoft & ethereum

Microsft announced a collaboration with the Enjin gaming system which saw a 50% rise in ENJ, ETH completed its latest hard fork.


Ethereum’s Istanbul hard fork went live at the end of the week. The fork is the third this year and is the latest upgrade as the network moves towards Serenity (ETH 2.0), Ethereum’s transition from its current proof of work consensus mechanism towards proof of stake consensus. The fork occurred as previously expected at block number 9069000.

Tuesday, December 3, 2019

life during the ice age

Cool interesting read.


edge or fog computing coming on strong in 2020

What is this edge or fog computing trend ? 

Both edge and fog computing provide similar functionalities where smart devices or items or sensors push data and analytics to cloud platforms.

Fog computing and edge computing are effectively the same thing." 

 Both are concerned with leveraging the computing capabilities within a smaller simpler server / gateway or sensor hardware device and process and share data via a localized network to carry out computation tasks that would ordinarily have been carried out in the cloud. More advanced AI and data processing still are done on the cloud.   

Both technologies can help organizations reduce their reliance on cloud-based platforms to analyze data, provide intelligent automation and analysis.

The main difference between edge computing and fog computing comes down to where the processing of that data takes place.

Edge computing usually occurs directly on the devices to which the sensors are attached or a gateway device that is physically “close” to the sensors. 

Fog computing moves the edge computing activities to processors that are connected to the LAN or into the LAN hardware itself so they may be physically more distant from the sensors and actuators. Think NB-IoT or LoRa or mesh networks and those types of IoT technologies.   

ABB sets course for sustainable river transport with ten all-electric Lisbon ferries – gCaptain

ABB sets course for sustainable river transport with ten all-electric Lisbon ferries – gCaptain : Press Release – ABB secures landmark contr...