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.
With information technology today we can easily get any kind of information someone is interested in. Whether you want to know how the weather will be tomorrow or how to cook your favorite cake, you can find out almost anything today. But as a user it’s getting more important to gain information quickly, and in a comfortable way. Google for example did just that. If you are using Google’s search engine, then you either type in what you are searching for or you can just say it. With spoken language this feature can be used easier and the response you get is quicker.
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.
In diesem Blogpost möchte ich auf die Gefahren, die Predictive Policing verursachen könnte, eingehen wenn es als wissenschaftlich fundiert angesehen und bedenkenlos eingesetzt wird.
Predictive Policing bedeutet ‘vorausschauende Polizeiarbeit’ und ist nicht erst seit dem Zehn-Punkte-Plan von Martin Schulz und der SPD ein beliebtes Buzzword im Zusammenhang mit Wohnungseinbrüchen. Dabei wird versucht, bei Delikten Muster zu erkennen und anhand derer Vorhersagen für die Zukunft zu treffen. Dafür werden unterschiedliche Daten erhoben und mittels Statistik und Sozialforschung Wahrscheinlichkeiten berechnet.