Howdy, Geeks! Ever frustrated by public transportation around Stuttgart?
Managed to get up early just to find out your train to university or work is delayed… again?
Yeah, we all know that! We wondered if we could get around this issue by connecting our alarm clock to some algorithms. So we would never ever have to get up too early again.
Well, okay, we’re not quite there yet. But we started with getting some data and did some hardly trustworthy hypothesis of prediction on it. In the end it’s up to you if you gonna believe it or not.
To give you a short overview, here are the components that are involved in the process. You will find the components described in more details below.
A view parts in short:
1. crawler and database – get and store departure information
2. visualization – visualizes the delays on a map
3. statistical analysis – some statistical analysis on the delays over a week
4. continuous delivery – keep the production system up to date with the code
New data is created every second. Just on Google the humans preform 40,000 search queries every second. By 2020 Forbes estimate 1.7 megabytes of new information will be created every second for every human on our planet.
However, it is about collecting and exchanging data, which then can be used in many different ways. Equipment fault monitoring, predictive maintenance, or real-time diagnostics are only a few of the possible scenarios. Dealing with all this information, creates certain challenges for stream processing of huge amounts of data is among them.
Improvement of technology and development of big scaling systems like IBM Bluemix it is now not only possible process business or IoT data, it is also interesting to analyze complex and large data like sport studies. That’s the main idea of my application – collect data from a 24-hour swimming event to use real time processed metrics to control event and athletes flow.
In this article explains how to integrate and use the IBM tools for stream processing. We explore IBM Message Hub (for collecting streams), the IBM Streaming Analytics service (for processing events) and IBM Node.JS Service (for visualization data).
Since the internet boom a few years ago companies started to collect and save data in an almost aggressive way. But the huge amounts of data are actually useless if they are not used to gain new information with a higher value. I was always impressed by the way how easy statistical algorithms can be used to answer extremely complex questions if you add the component “Machine Learning”. Our goal was to create a web service that does exactly that thing: We realized Weather Forecasts using Machine Learning algorithms.
The Application can be split in four parts:
- The website is the final user interface to start a query and to see the resulting prediction.
- The server connects all parts and hosts the website.
- The database stores all important data about the weather.
- IBM Watson is used to calculate the forecasts with the data of the database.
In the following I will explain the structure more detailed and show how we developed the application.
During the Lecture “Software Development for Cloud Computing” I decided to develop a Cloud based Chat Application with the help of IBM’s Bluemix.
The Application consists of 3 separate Applications:
- Chat Server: Allows Clients to connect to it, manages the Chat-Channels/Users and relays messages sent from a client to the other clients in the same channel.
- Chat Client: The Client consists of a GUI where the User can connect to the Server and chat with other Users.
- Chat Backend Database: A simple Database which records and provides the chat history of a given Chat-Channel via REST.
In our final application, we have put together a solution consisting of four different modules. First, we have again the Raspberry Pi which raises and sends the sensor data using the already presented Python script. We changed the transfer protocol in the final application to MQTT, which gives us more possibilities in different aspects, but more on that later.
As already stated in the introduction to our project, we decided to create a Cloud Foundry-Application in IBM Bluemix. We used the boilerplate called “Internet of Things Platform Starter”. Using this boilerplate Node Red is deployed initially.
Node Red is a software tool for graphical dataflow programming. It was developed by IBM and is open source since 2016. Providing a browser-based flow editor it enables to wire together hardware devices, APIs and online services.
Introduction to the project
As part of the lecture “Software Development for Cloud Computing” in summer term 2017 we primarily wanted to work on a project that has something to do with the Internet of Things. In more detail we decided to measure air quality using a Raspberry Pi with the MQ135 Gas sensor and send this data to our self-built cloud application to analyze it.
We started out by getting IBM Bluemix student accounts. Playing around with different Bluemix Services we found the IBM Watson IoT Platform which can display data you can send to it from other devices out of the box. Despite displaying the data in charts it is also possible to create rules and send alerts based on them and to authorize other Bluemixusers to manage your devices as well.
IBMs artificial intelligence ‘Watson’ on the IBM Bluemix platform offers a wide range of cognitive services like image and audio analysis among other things. During our semester project in the lecture ‘Software Development for Cloud Computing’ we integrated useful Watson services into a Telegram chat bot to provide a convenient form of direct access to those services right out of an ongoing chat conversation.
Our goal was to create an intelligent Telegram bot with services like Tone Analyzer for audio messages, Visual Recognition for analyzing sent images, a Speech-To-Text functionality to be able to get spoken text inside audio messages and a translation service. Working both with a Telegram bot and IBM Watson services we came up with the name combination ‘Botson’.
In this blog post you’ll learn the basics on how to create and configure a Telegram bot as well as why we recommend creating several bot instances when working in a team. Afterwards we’ll provide an overview of the IBM Watson services that we used, what you should keep in mind when creating them in IBM Bluemix and the problems that we were facing along the way. Another part of the IBM Bluemix chapter covers how we configured the Continuous Delivery service, why we struggled to connect our existing GitHub repository to it and how we solved that among other problems.
Adversarial machine learning and its dangers
The world is led by machines, humans are subjected to the robot’s rule. Omniscient computer systems hold the control of the world. The newest technology has outpaced human knowledge, while the mankind is powerless in the face of the stronger, faster, better and almighty cyborgs.
Such dystopian visions of the future often come to mind when reading or hearing the latest news about current advances in the field of artificial intelligence. A lot of Sci-Fi movies and literature take up this issue and show what might happen if the systems become more intelligent than humans and develop their own mind. Even the CEO of SpaceX, Tesla and Neuralink, Elon Musk, who is known for his innovative mindset, has a critical opinion towards future progress in artificial intelligence:
If I were to guess what our biggest existential threat is, it’s probably that. So we need to be very careful with the artificial intelligence. […] With artificial intelligence we are summoning the demon.