Disruption in the SW industry

My son is in the third grade and in school he learns robotics by programming the robot to turn left, accelerate, turn right and the like. For example, he just realized what is the meaning of the “for loop”. I think that such knowledge is quite unnecessary (except to learn the discipline for problem solving).

Please see the link below – there is a big disruption in the SW industry because deep learning removes the need for large part of SW development.

Imagine this: you tell a computer system how the pieces move — nothing more. Then you tell it to learn to play the game. And a day later — yes, just 24 hours — it has figured it out to the level that beats the strongest programs in the world convincingly! DeepMind, the company that recently created the strongest Go program in the world, turned its attention to chess, and came up with this spectacular result.

Objavljeno u Nekategorizirano | Ostavi komentar

Java try-with-resource

Prior to Java SE 7, you can use a finally block to ensure that a resource is closed regardless of whether the try statement completes normally or abruptly. The following example uses a finally block:

Connection conn = connectionPool.getConnection();
try {
  // All uses of conn should go here
} finally {
  // If you forget this, then you leak the connection.
  // And if you don't have the try-finally or equivalent, an exception
  // in doStuff can still lead to a leak.
// At this point conn is closed, and attempting to use
// it results in an exception.

The exception thrown from the finally block would be propagated up the call stack, even if the exception thrown from the try block would probably be more relevant to propagate.

In Java 7 you can write the code from the example above using the try-with-resource construct like this:

try (Connection conn = connectionPool.getConnection()) { // All uses of conn should go here doStuff(conn); }

The Connection variable is declared inside the parentheses after the try keyword. Additionally, a Connection is instantiated and assigned to the variable.

When the try block finishes the Connection will be closed automatically. This is possible because Connection implements the Java interface java.lang.AutoCloseable. All classes implementing this interface can be used inside the try-with-resources construct.

If an exception is thrown both from inside the try-with-resources block, and when the Connection is closed (when close() is called), the exception thrown inside the try block is thrown to the outside world. The exception thrown when the Connection was closed is suppressed.

Some of the benefits of using try with resources in java are:

  • More readable code and easy to write.
  • Automatic resource management.
  • Number of lines of code is reduced.
  • No need of finally block just to close the resources.
  • We can open multiple resources in try-with-resources statement separated by a semicolon.

However, not every resource implements this interface.
In that case, lambdas and method references can be used to write more compact code.

The following example shows how SAP Java Connector JCoDestination class can be transformed into an instance of AutoCloseable using the method reference:

JCoDestination destination = (JCoDestination)session.getAttribute(“jco_destination”);
try (AutoCloseable jcodest = () -> JCoContext.end(destination) )
{ JCoContext.begin(destination);


Objavljeno u Nekategorizirano | Ostavi komentar

PostgreSQL Exercises


Objavljeno u Nekategorizirano | Ostavi komentar

Microsoft IoT Central



Microsoft IoT Central allows companies throughout the world to build production-grade IoT applications in hours and not worry about managing all the necessary backend infrastructure or hiring new skill sets to develop the solutions. In short, Microsoft IoT Central makes it so that everyone can benefit from IoT.

Devices in Microsoft IoT Central are live and actionable logical representations of your connected assets with their own defining attributes. The creation of a device happens directly on the cloud, inside the Microsoft IoT Central Application Builder, a low-code environment where users can define device attributes and visualizations via drag and drop from libraries of assets. Even before connecting a real device, users can experiment and test their application by simulating a device through the simulation service embedded in Microsoft IoT Central. Devices are templatized to make it faster and easier to provision device identities at scale and templates are versioned to support DevOps.

Microsoft IoT Central integrates Azure Time Series Insights – a fully managed analytics, storage, and visualization service for managing IoT-scale time-series – to enable users to explore and analyze billions of events streaming simultaneously from devices deployed all over the world. Microsoft IoT Central provides massively scalable time-series data storage and several ways to explore data, making it super easy to explore and visualize millions of data points simultaneously, conduct root-cause analysis, and to compare multiple sites and assets. Within an application, time-series visualization is available for a single device, for a Device Set – with the ability to compare multiple devices – and as a multi-purpose Analytics tool.

To explore all its features and capabilities, and appreciate the full potential of applications created, Microsoft IoT Central provides a 30 day free trial. You can connect, or simulate, up to 10 devices and leverage all the functionalities of the solution. You can start with a blank application to create your own custom solution, or start from one of the available templates, like the fully featured Contoso demo app. You can also start by connecting a developer board, such as a MXChip Azure IoT Developer Kit or a Raspberry Pi. 

You can find more information on the Microsoft IoT Central website or start your free trial.

Objavljeno u Nekategorizirano | Ostavi komentar

R packages for CLARA clustering

An obvious way of clustering larger datasets is to try and extend existing methods so that they can cope with a larger number of objects. The focus is on clustering large numbers of objects rather than a small number of objects in high dimensions.

The CLARA (Clustering for Large Applications) algorithm is fully described in chapter 3 of Kaufman and Rousseeuw (1990). Compared to other partitioning methods such as PAM (Partitioning Around Medoids), it can deal with much larger datasets. Internally, this is achieved by considering sub-datasets of fixed size (sampsize) such that the time and storage requirements become linear in n rather than quadratic.
Each sub-dataset is partitioned into k clusters using the same algorithm as in pam.
Once k representative objects have been selected from the sub-dataset, each observation of the entire dataset is assigned to the nearest medoid.

R package ‘cluster’ (https://cran.r-project.org/web/packages/cluster/cluster.pdf)
computes a “clara” object, a list representing a clustering of the data into k clusters.
The currently available distance metrics for calculating dissimilarities between observations are “euclidean” and “manhattan”.
Euclidean distances are root sum-of-squares of differences, and manhattan distances are the sum of absolute differences.

R package ‘ClusterR’ (https://cran.r-project.org/web/packages/ClusterR/ClusterR.pdf)
has the Clara_Medoids function with support for different distance metrics for calculating dissimilarities between observations such as “euclidean”, “manhattan”, “chebyshev”,
“canberra”, “braycurtis”, “pearson_correlation”, “simple_matching_coefficient”,
“minkowski”, “hamming”, “jaccard_coefficient”, “Rao_coefficient” and “mahalanobis”.
Also, it has a threads argument specifying the number of cores to run in parallel. Openmp will be utilized to parallelize the number of the different sample draws.

Objavljeno u Nekategorizirano | Ostavi komentar

Cloud Players Q3 2017

Slika | Objavljeno by | Ostavi komentar

Introducing AI in Healthcare That’s Just $1 Per Use

Zebra has been developing a platform that can automatically detect various medical findings in imaging scans. The Zebra deep learning engine can currently read scans for the automatic detection of liver, lung, cardiovascular, and bone disease. The new capabilities are constantly being released, based on medical review and acceptance – covering breast cancer, lung cancer, brain trauma, hypertension, and other clinical areas.

Zebra’s AI1 offering allows healthcare providers globally to access automated Radiology Assistant for $1 USD per scan. This is a completely new way of delivering a technology or service to the healthcare space.

You can learn more about AI1 at https://www.zebra-med.com/aione

Objavljeno u Nekategorizirano | Ostavi komentar