robot and human hand

Technology review – Japanese AI monk

A £700,000 (Y100 million) robot is now delivering religious teachings in multiple languages at the 400-year-old Japanese Kodaiji temple in Kyoto.

The android, dubbed Kannon, is based on the Buddhist deity of mercy. It stands at 77 inches (1.95 metres) tall and weighs 132lbs (59 kilograms).

The AI monk’s human colleagues predict that with artificial intelligence (AI), it could one day acquire unlimited wisdom.

“Buddhism saw a phenomenal spread in the world with the emergence of Buddhist images,” TenshoGoto, a priest at the temple in Kyoto’s Higashiyama Ward, told The Asahi Shimbun. “We are hoping that the Android Kannon will help Buddhist teachings reach the hearts of people today.”

Mindar and the monks

Source: INTERNATIONAL – JOURNAL

Tl; dr;

The result of a joint collaboration of Kyoto’s Kodaiji temple and Hiroshi Ishiguro, a professor of robotics at Osaka University, the AI monk dubbed, Kannon, hosted its first sermon ever at Kyoto’s Kodaiji temple.

Kodaiji Temple Administrator TenshoGoto wanted to spread the word of Buddhism to a younger generation losing touch with the tradition. That’s why he sought the help of a pioneer Professor Hiroshi Ishiguro, head of intelligent robotics at Osaka University, who has made a name for himself in robotic research on the world stage.

The AI Monk everyone has been talking about

The resulting android version of Kannon (Buddhist Goddess of Mercy), named “Mindar, had its head, neck shoulders and hands covered in a skin-like material made from silicone was introduced in the public this year.

Kannon is worshipped by thousands of temples in Japan as a deity who helps people in distress

Having been able to make eye contact with worshippers, Mindar has a video camera installed in the left eye, which allows it to focus on its subject.

The AI monk’s pre-programmed sermons come from the Heart Sutras (well known in Japan and Asia) in Japanese, with versions translated into English and Chinese for tourists, speaking in soothing tones.

It can also move its eyes, hands, and torso, make human-like gestures during its speech, and bring its hands together in prayer.

An android embodying the Goddess of Mercy, Mindar had special features designed to evoke both feminine and masculine qualities.

Kohei Ogawa, an Associate Professor of Intelligent Robotics at the University of Osaka and worked on the inception of Mindar with Ishiguro says that the images of deities that everyone see from relics and statues today have been set in stone by the imagination of different generations of monks in the past. But a new generation of monks sees robotics as a way to diversify how people see and worship these household deities.

“Everything depends on the person who is watching the robot,” Ogawa explains. “If someone wants to treat the android as a man, there will be some elements that represent a male form and vice versa.”

Features

mindar promotional image

A promotional photo of Mindar from the Kodaiji Temple

Other features of Mindar, include:

  • The AI monk can convey very complicated messages to visitors, which makes it easier for them to listen to the message.
  • Mindar answers in simple and plain Japanese, with English and Chinese subtitles displayed on the wall in a room where it is placed.

Summary

There are already ambitions enhancing the Japanese AI monk to respond to visitors’ questions and diverse personal problems despite critics comparing the android to “Frankenstein’s monster”.

By Tuan Nguyen

moving train on platform

Discussion – Is there any risks in operating driverless train?

News about driverless train technology isn’t new in the metro at all.

From London Underground‘s Victoria line in 1967 to the recently opened Pujiang Line in Shanghai, China in 2018, the autonomous train system has been improving and developing through the years in numerous countries.

With its development, issues about safety and regulation has been on the rise as well.

Cited in a recent article, arguments about whether or not railroad systems should be completely automated or still be assist by humans were rolled out in the US.

In the article, the Association of American Railroads argued that in order to improve railroad efficiency and capacity, automation in the industry is necessary. Fully automated trains, the association asserts, “are certainly in the future” and plausible, with or without human crews.

“The bottom line is machines can detect more, respond faster, and provide a larger window for action, than a safety system that is subject to the limitations inherent in human eyes, minds and hands,” the association said.

The association also pointed in its filing the safety data from the Department of Transportation that attributed more than a third of train accidents to human error.

On the other hand, the Transportation Division for the Sheet Metal, Air, Rail and Transportation Union claimed in their own comments to the Federal Railroad Administration (FRA) that there are a large number of tasks that humans complete using their “perception and judgement” that can’t really be substituted with automation, including spotting issues before they become problematic, checking track conditions, and identifying hostile actors in a way automated technology cannot detect.

In addition, SMART’s Transportation Division pointed out that separating a train in order to open a blocked road crossing is a two-person job.

“We know that it is vital that you have the eyes and ears of real people on these trains,” said John Risch, national legislative director of the SMART Transportation Division said.

At this point, we aren’t still on the verge in making fully automated trains the part of our increasingly populated urban cities, are we?

Tl; dr;

Driverless trains from the London Underground, Paris Metro, to Dubai Metro, we can now say that the future is near. They are fully operational without drivers and are moving under unattended train operation (UTO) mode.

The technology offers greater on-train presence without increasing staff costs, increases passenger capacity, and reduces operating costs.

Also, its energy efficient, fully monitored with CCTV cameras (inside or outside the train), and could be directly accessed by the control center in driverless mode with no human errors.

driverless train process flowchart

Source: CoMET and Nova Metro Benchmarking Groups

The Wonders of Driverless Trains

State diagram showing train activities

Source: Research & Reviews

Driverless trains are equipped with a control system programmed to make them follow a specific route. On such case, timings of the train and distances between stations are also predefined with automatically generated messages and warnings, announced to the passengers.

To understand more of how driverless trains work, let’s take a look on its grades of automation:

  • Driver-controlled mode. This involves human operation (driver) without any assistance systems. This is the most prevalent system in train commuting in major cities all over the world.
  • Partly-automated mode. The driver still has manual control over driving and braking the train. However, its speed is continuously monitored by a train protection system. In addition, statistical information on current movement orders of other trains in the network is continually displayed in the driver’s cabin, for assistance.
  • Semi-automated mode. The sole of job of the driver is just to start the engines, then the automatic driving system takes over after that. The system fully controls the train’s movement in between stations, its precise stopping at the platforms, and the opening and closing of its doors.
  • Driverless mode. The automatic driving system has complete control of the train’s departure, its movement in between stations,precise stopping at the platforms, and the opening and closing of its doors. However, an attendant is still present on-board to intervene whenever there are emergencies or out-of-the-ordinary situations occur such as system failures.
  • Unattended driverless mode. Train operations are entirely controlled and monitored automatically, just what driverless mode operations are done, except there is neither a driver nor a train attendant on-board.

Advantages and Disadvantages of Driverless Trains

With driverless trains, the possibilities that it offer are quite promising and outstanding.

In certain cases such as emergency brakes deployed by a passenger, it can be assessed by the control center with the aid of passenger area surveillance. In case of fire, smoke detectors inside the train and on the track directly reports to the control room to devise full emergency stop and quickly re-route the network.

For long-distance rail systems, these trains are capable of navigating inaccessible areas with its sensors and detectors, handling concerns such as animal encroachment, bad weather conditions, and automobiles obstructing the railway path.

For its disadvantage, driverless trains come with higher capital and operational costs, such as remote monitoring, passenger communications, and maintenance costs. In addition, handling total control over to an automated system may pose certain risks on passenger, because we are used to travel in public transports controlled by a trained driver who can respond to emergencies or unusual situations. There are cases that passengers can misuse the doors or systems integrate false alarms causing further delays.

Summary

Driverless trains are greatly improving its technology to provide greater comfort and efficiency in numerous urban cities all over the world.

But there are pros and cons surrounding the technology that needs to be addressed.

Whatever the outcome, the opinion of the masses and on the brilliant minds of the geniuses that would prevail at the end.

By Tuan Nguyen

smart home concept

Discussion – Does smart home make our life easier?

From mere ideas to science fiction films, gone are the days imagining of what automated or smart living actually is.

The technology we seek to experience is now right in front of us through the fulfilment of smart home.

Smart home technology is often referred to as house automation or domotics (derived from the Latin word “domus” which means home), allowing homeowners to control house devices through applications using their smart phones or any networking device.

As part of the popular Internet of Things (IoT), the technology also allows smart home systems and devices operate together, sharing consumer usage data among themselves and even automating actions based on the homeowners’ preferences/commands.

Tl; dr;

Smart homes provides greater security, convenience, comfort, and energy efficiency, making every childhood fantasy into a reality.

Consider making your doors lock automatically whenever you leave the house and open them when you return, or having all of your appliances (coffeemaker, alarm, lights, heater, microwave oven, television, etc.) or even your car be connected and communicate at the same time to accomplish some tasks for you. Just use your smartphone or any networked device.

These amazing smart home features provide immense benefits for the elderly, handicapped, and busy-people.

Smart living with smart homes

smart home components

Source: W.E. Brown, Inc.

Maintaining home is NOT an easy task. There are a lot of tasks to that require much time and effort to accomplish.

To make our lives easier, convenient, and more efficient, smart home systems are created.

Gartner, Inc. recently, forecasts that 20.4 billion connected things will be in use worldwide by 2020, these includes smart home products at that sense.

Components of a smart home

Smart homes can integrate a huge part in your daily living:

  • Weight management. With smart scales, you can regulate your weight and general fitness. These smart scales can connect and communicate with other apps/devices to monitor your weight loss/gain with comprehensive information and notification about your fitness progress.
  • Centralized heating systems. Through syncing apps, you can now control your home’s heating and water system. Location alerts enable you to know if you’ve left the heating system when you’re already away from home and easily turn off its switch through the app.
  • Smart surveillance. If you are always away from home arranging some errands or on a holiday vacation, you can use applications in your phone connected to your smart home cameras to keep your belongings safe.
  • Smart lighting. This essential piece using mobile applications gives you a complete control of your house lighting even when you are away from home and schedule them to turn on/off accordingly to pretend that you are at home.
  • Smart cookers. Cooking can be hectic and needs prior planning whenever there are events or a family-get-together. With smart cooking, you can leave your food unattended in the cooker because you can control it or time it whenever you are away. So it is energy efficient and time convenient.
  • Smart garage. Using your smartphone, you can open and close your garage doors.
  • Smart doorbells. Doorbells with built-in video cameras shows you inside who’s knocking.

Summary

Smart homes provide better way for you to do and manage day to day tasks. From just switching lights on/off, managing your fitness goals, monitoring for safety, and even saving costs on utility bills, everything is far beyond what we think of a smart home can do with just a powerful control from your smartphone or any networked devices.

By Tuan Nguyen

internet of everything

Technology review – What is Internet of Everything?

The Internet of Everything (IoE) is a broad term integrating people, process, data and things into networked connections.

In contrast with Internet of Things (IoT) that defines communication with physical objects, IoE lies in the intelligent connection includes all concepts (i.e. people, process, data, and things) together to a more unified system.

Thus, the Internet of Everything advances the power of Internet further to improve business and industry outcomes, and make people’s lives better by adding to the progress of IoT.

The fairly new term was recently developed by Cisco, an IT and networking company, believing that IoE brings people, data, and things together to make networked connections more relevant and valuable.

Its goal is to have “new capabilities, richer experiences, and unprecedented economic opportunity for businesses, individuals, and countries.”

Tl; dr;

Considered to be a superset of Internet of Things (IoT), IoE is basically IoT combined with data from humans, business processes, and data structures.

As what Cisco elaborated:

“The “Internet of Everything” builds on the foundation of the “Internet of Things” by adding network intelligence that allows convergence, orchestration and visibility across previously disparate systems.”

IoE is seen in health monitors, fitness trackers, smart cars, and smart watches, becoming a huge potential for future growth and development.

Internet of Everything and Beyond

internet of everything components

Source: Cisco Blogs

Through intelligent connection, the Internet of Everything (IoE) binds all concepts (i.e. people, process, data and things) into a cohesive system.

It is considered to be the next wave of Internet growth that includes user-generated communications and interactions associated with the global entirety of networked devices.

The actual IoE applications range from digital sensor tools/interfaces, industrial machine learning systems and other types of distributed hardware that have become more intelligent and automated recently.

IoE features fall under two (2) main categories:

  • Input. Allowing analog/external data to be put into a piece of hardware.
  • Output. Allowing a piece of hardware to be put back into the internet.

The IoE Pillars

To better understand the concept/philosophy of IoE, let’s dive into its core parts:

  • People. Connecting people in more relevant, valuable ways, humans through utilizing connected devices to deliver insights about their personal and professional self. These insights that include preferences, interests, personal health, etc. are needed to provide valuable data for business-related prospects.
  • Process. Making the best use of big data in delivering the exact information to the right person/machine at the right time, data is more of an insightful information or an action rather than seeing it as just random chunk.
  • Data. Converting data into intelligence to make better decisions, classifying of information and analyzing it bring valuable insights. Here, data itself is nothing but once integrated with analytics and analysis this new data can help enterprise industries to implement tactical decision making and better manage their organization.
  • Things. Having the fundamentals of the Internet of Things, inter-connectivity among physical objects and devices allows sending and receiving information across the internet generates valuable data to be collected, summarized and analyzed efficiently.

Advantages of the IoE

A futuristic technology that interconnects network or devices to the proposed internet, there are a lot of expected advantage of IoE. Few are the following:

  • Inter-connectivity among IoE platforms create vast amounts of data when analyzed and used intelligently. It allows organizations to engage with their customers in variety of ways to create new business models.
  • Upon creating new business models that are specifically to build customer loyalty, businesses can be able to bridge emotional brand connections (thus making experiences personalized) with target offerings based on the data generated from the IoE platforms.
  • In connection to that, governments can revolutionize the way they do business:
    • Real-time data generated among citizens’ smartphones provide better insights regarding power outages, road conditions, and crime sightings.
    • Educators and administrators can intervene and personalize the learning experience among students.
    • Smart meters allow cities to track usage and identify any leaking.
    • Sensors attached to public transportation vehicles and private cars allow authorities to manage traffic flow and prevent accidents.
    • A more pervasive broadband network is enabled in all cities.

Summary

Connecting the internet to the physical world such as people, process, data, and things, IoE possibilities are just mind-blowing.

The concept/philosophy is geared towards increasing customer value and better business insight having all the devices communicate with each other.

With IoE, allows businesses to engage with their customers in a whole new ways to create new business models; build customer loyalty and also governments can enhance their services to citizens.

By Tuan Nguyen

internet of things

Technology review – What is Internet of Things?

Internet connectivity goes beyond the usual.

Put the concept of connecting any device with an on and off switch to the Internet and / or to each other in that sense.

From your washing machines, lamps, cellphones, coffeemakers, wearable devices, and anything you can think of, forming a “smart home”.

This also applies to components of machines like a jet engine of an airplane or the drill of an oil rig.

But how can these things possible?

It is through the Internet of Things.

Tl; dr;

The Internet of Things (IoT) is a giant network of things “connected.”

It involves relationships that are between people-people, people-things, and things-things.

Now, organizations from different industries are using to operate more efficiently, understand their customer better, improve decision-making, and increase business value. It is also used at homes for better comfort and luxury.

With IoT, it extends the capability of the internet to be much innovated and valuable in every human aspect.

According to Gartner, an analyst firm, there will be over 26 billion devices connected by 2020.

The IoT possibility

internet of things possibilities

Source: manufacturing-operations-management

Through utilizing the Internet of Things, it will just dramatically change how we do routines every day because anything that can be connected will be connected.

Consider having your alarm clock wakes you at 6 am and then notifies your coffeemaker in the kitchen to start brewing coffee for you? Or you are on your way to an important meeting but the traffic heavy, so your car knows the best route to take, at the same time, notifies your colleagues at the office that you will be late.

The bottom line is that the Internet of Things allows virtually endless opportunities and connections to take place.

Internet of Things or simply IoT was first mentioned by Kevin Ashton, the co-founder of the Auto-ID Center at MIT, in a presentation he made to Procter & Gamble (P&G) in 1999.

He used the term to bring the bring radio frequency ID (RFID) to the attention of P&G’s senior management by simply calling his presentation the “Internet of Things”to integrate the cool new trend of 1999 – the internet.

Even though Ashton was the first one to coin the term “internet of things,” the idea of connecting devices has been around since the 1970s under the names of pervasive computing and embedded internet.

An example would be the first internet appliance, known to be a Coke machine at Carnegie Mellon University in the early 1980s.

How the system works?

internet of things system

Source: Micrium

Internet connectivity doesn’t only sit in an idea of having to connect a device from a WiFi spot as what all the traditional devices (i.e. laptop computers, smartphones, and tablets) are.

In a statement, Matthew Evans, the IoT programme head at techUK, says:

“IoT offers us opportunity to be more efficient in how we do things, saving us time, money and often emissions in the process,” Evans says. It allows companies, governments and public authorities to re-think how they deliver services and produce goods.

Thus, IoT describes a world where anything can be connected and communicate in an intelligent fashion.

Connected to an Internet of Things platform, devices and objects with built in sensors integrate data from the different devices and applies analytics to share the most valuable information with applications built to address specific needs.

For instance, if I you are the owner of a car manufacturing business. I might need to know things like which optional components (i.e. leather seats or alloy wheels) are the most popular. With Internet of Things technology, you can:

  • Utilize sensors to detect which areas in a showroom are the most popular, and where customers linger the longest;
  • Dig into the available sales data to determine which are the fast selling components; and
  • Align sales data automatically with supply, so that popular items do not go out of stock.

Benefits of the IoT

May it be on establishments, offices, homes, vehicles, or on public spaces, the benefits of the IoT in the near future are incomparable as to what our life is now.

With IoT:

  • Smart thermostat at home can help us heat our homes before we arrive back and also could help us save energy by cutting heating costs;
  • Businesses can monitor overall operations, improve customer experience, save time and money, enhance productivity among employees, make better business decisions, and generate more revenue;
  • Hospitals, can closely monitor their patients through generated data and analyze it, by allowing them to have wearable devices;
  • Smart cities having IoT sensors and deployments, can help alleviate traffic , conserve energy, and even address environmental concerns such as pollution;
  • In agriculture, IoT enabled farming system, can help monitor, light temperature, humidity and soil moisture of crop fields. It is also instrumental in automating irrigation systems.

Summary

With Internet of Things, everything and anything can now be connected. Things that we think impossible to make.

From your ordinary coffeemakers, lights, electric stoves, heaters, simply communicates to make our lives better and easier.

IoT can help save time, money, and energy, makes businesses foster through data analytics for better decision making, helps hospitals to monitor patients closely, helps farms to operate efficiently and effectively, and many more.

By Tuan Nguyen

Katalon logo

Software review: What is Katalon?

One of my friends was looking for an end-to-end testing framework to integrate with his stack, and suggested that Katalon was something that he had been considering.

Let us take a quick look into it and deduce some of its advantages as well as disadvantages.

 

Tl; dr;

Katalon will not be my first choice when it comes to E2E testing. I think if I have a choice to rewrite my end-to-end testing code, I would choose a framework like cypress or puppeteer. Mainly because I am heavily tech oriented.

Some pros that I uncovered:

  • Non-technical oriented.
  • What you see is what you get.
  • Can use different browsers (Firefox, Chrome, etc.).
  • Less work to create test cases to start testing.

And some cons, of course:

  • Usage of versioning to keep track of updating/creating test cases are not straightforward. I have more thoughts into this below.
  • Big application size.
  • Unknown backward compatibility for created projects.

 

Installation

Katalon is free to download and use. You can easily get it from https://www.katalon.com.

This step really takes me back to the old day when software applications didn’t come with an installation file, instead they came with just a zip archive and after extracting the file. Boom!!! You got the ready to run software.

Only thing that I personally feel a bit uneasy is the size of the software. The archive file is about 331.5MB, and after extraction, the whole thing takes approximately 500MB. Big application size can sometimes slow down your CI/CD process, since it takes some time to download and therefore delays other dependent tasks to run.

 

First look

Katalon first look

Looking quite simple. To start using Katalon, you just need to open the application, and create a project. Then, click on Record web button to start working on your first test.

 

“Writing” your test

Not really writing though, the brilliance of Katalon is that you can interact with the website normally, and it will record all your activities, step by step. Then you will need to add your own conditions into the test to verify that the workflow is doing what you want it to do.

Let’s see a simple workflow below.

You can see that just in a few clicks, I already have a simple test case to test whether the login failed text displays. This is super useful for non-technical background people, since they can just interact with the website and do little editing, they can already test the website.

 

Some thoughts…

The documentation seems to be detailed. Most of the information that I need to have a quick look-around is in there. They clearly have spent quite a bit of time into documenting and make our lives easier.

Workflow is simple and visual. Personally if I am not technical oriented, this will be my first choice to learn about E2E testing. However, comparing to other frameworks like cypress or puppeter, we need to commit the whole project and note down the version of Katalon so that we can replicate the project in another machine. This can cause incompatibility and inconsistency. With other frameworks, we can create a git repository and simply push all test cases code to it. With npm, it is easy to reinstall in another machine.

Imagine that you created a project in version X, then later on decided to upgrade Katalon to version Y. There are unknown compatibility issues that may happen, which we will need to read the actual test cases code to resolve the problems. I think it defeats the purpose if we need to actually write/edit the code for Katalon, even though they offer an option to do so.

 

Epilogue

Well that is my 5 cents on Katalon, and how would I use it to test a website. There are so many features that I have not touched yet. There is a high possibility that it offers something extraordinary that defeats other frameworks. However for a quick look, it does not appeal to myself as a technical person.

Write automated script with Tampermonkey and Webpack

Recently I was pulled into an old web-based game called Ghost Trapper. The gist of it is, after a period of time, I can click on a button to trap a ghost, then a count down appears and I have to wait for the count down to stop until I can hunt ghosts again.

Then it hit me, why don’t I automate the process so that I don’t have to spend so much time to play anymore.

Here’s a screenshot of the game.

Ghost trapper screen image

Note the top left count down. Once it reaches 0, I can click that button again and continue hunting ghosts.

I look around for a solution for automating the process. There are quite a few options:

  • Python’s scrapy
  • Phantom.js or Casper.js
  • Puppeteer
  • Tampermonkey (Google Chrome only)

I have some experience in Scrapy, Phantom.js; so I was thinking, why not utilize what I have already known?

… Or I can jump into new things and learn how to do it.

 

I decided to go with the second option, and I chose Tampermonkey to do the work.

 

So I quickly wrote a small script to check if the button is active, and if so, click on it.

setTimeout(() => {
  if (!$('#huntBtn').hasClass('disabled')) {
    $('#huntBtn').trigger('click');
  }
}, 3000);

Simple, isn’t it?!

The problem is, I would like to have the script runs on multiple machines, and I want to synchonize the code in all machines, so if I update the code I’ll just need to do it once.

I ended up with the following structure:

  • A github project to host the code
  • Tampermonkey’s ability to refer to external javascript resources.

My Tampermonkey script

// ==UserScript==
// @name         ghost-trapper
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Ghost Trapper auto
// @author       lightbringer
// @noframes
// @require      https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @require      file:///Z:/nodejs/ghost-trapper/ghost-trapper.js
// @match        http://www.ghost-trappers.com/fb/*
// @grant        GM_setValue
// @grant        GM_getValue
// ==/UserScript==

My ghost-trapper.js

class GhostTrapper {
  constructor() {
    // do stuff
  }
  
  hunt() {
    if (!$('#huntBtn').hasClass('disabled')) { 
      $('#huntBtn').trigger('click'); 
    }
  }
  
  run() {
    setTimeout(this.hunt, 3000);
  }
}


var gt = new GhostTrapper();
gt.run();

 

Looking good, however, the script requires 2 files, one from jquery CDN. one from my local machine. And the speed is not very nice (took me a noticeable time before the hunt click happened).

I thought, why can’t I combine them into 1 file? I have experience in Webpack, so let’s try it out.

 

First I installed necessary packages

npm i --save jquery
npm i --save-dev webpack webpack-cli babel-core babel-loader babel-preset-env

Then I created webpack config file

// webpack.config.js

const path = require('path');

module.exports = {
  entry: './src/main.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'ghost-trapper.bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: "babel-loader",
        },
      },
    ],
  },
};

Then I create a main file for webpack to point to.

// src/main.js 
import $ from 'jquery'; 
import GhostTrapper from './GhostTrapper'; 

const gt = new GhostTrapper(); 
gt.run();

 

After all this, I compile webpack config. And voilà, the bundle is ready for me to include into tampermonkey, and it runs exactly what I wanted.

From then on, I added multiple features to my automation tool. The ease of webpack’s watch mode really helps me during development, as I just need to refresh the page and the new code is already deployed.