Skip to content

Category: Technology

In this category I file blog posts about technology. If it is about the Internet of Things, agile development, a framework, a method, a pattern, or everything els technology relevant, I will post it here.

Was sind Digitale Assistenten

Was sind eigentlich Digitale Assistenten?
Ich hab mal ein kleines “Erklärungsvideo” produziert. Hier erfahrt ihr, was Digitale Assistenten sind, was sie nicht sind, was sie können und wofür ihr sie nutzen könnt.

Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Leave a Comment

Gitlab für Continuous Integration & Continuous Delivery

Ist Gitlab für Continuous Integration und Continuous Delivery (CI/CD) ausreichend? Das habe ich mich gefragt, als ich seit langer Zeit mal wieder ein halbwegs ernsthaftes Entwicklungsprojekt begonnen habe. Da ich keinen extra Jenkins aufsetzen wollte, habe ich mir die Funktionen von Gitlab angesehen. In diesem Sinne hier meine Meinung dazu. Disclaimer: ich muss sagen, dass ich mich nicht in epischer Breite damit befasst habe. Daher ist es eher eine Newbie-Meinung als Fachartikel.

Prinzipiell möchte ich die Software aus den Repositorys der einzelnen Komponenten

  • kompilieren,
  • die Tests ausführen,
  • ein neues Docker Image auf einer eigenen Docker Registry bereitstellen und
  • auf einem Staging-System deployen.

Funktional ist das für Gitlab kein Problem. Bis auf den letzten Punkt. Ein wenig.

Positiv

Was ich allgemein gut finde ist, sich Alles in demselben System befindet. Alles ist in einer Oberfläche, es gibt nur einen Login, die Repository und Build Informationen sind im UI miteinander verknüpft. Das ist doch viel einfacher zu handhaben als ich das sonst kenne. So habe ich mir das vorgestellt.

Das System verwendet Docker Images als Buildumgebung. Das ist vorteilhaft, denn man muss auf dem System nicht erst die Build-Tools (wie Maven, Java, npm, etc.) installieren, sondern kann entsprechende Images nutzen. Ein SSH-Login auf das Buildsystem oder die Worker-Nodes ist damit nicht notwendig, alles geht per Konfiguration im Git. (Zumindest, wenn die Kubernetes Nodes von jemanden eingerichtet werden.)

Negativ

Zur Konfiguration der Build Jobs (gitlab Pipelines) wird eine YAML Datei im Repository angelegt. In der Datei werden in entsprechenden Abschnitte die Build-Umgebung und die Build-Befehle angegeben. Ich finde da sehr unpraktisch. Ich will mich eigentlich nicht mit dem Befehlen und der Syntax für das Buildsystems beschäftigen, sondern einfach die Aufgabe einrichten. So ist es in etwa, als wenn ich Kunden im CRM per SQL Statement anlege. Eine dialogbasierte UI wäre um einiges angenehmer. Die Doku zu durchwühlen ist da doch um einiges aufwändiger als es sein müsste.

Für einzelne Repositorys kann man die Pipelines konfigurieren und wie oben gesagt, alle Schritte umsetzen. Ich habe jedoch keine Möglichkeit gesehen, abhängige Projekte zu bauen. Wenn ich also einen Service habe, der eine API für ein Frontend anbietet, dann möchte ich, bevor ich den Service auf eine Live Umgebung deploye, zunächst die Integration Tests des Frontends ausführen um zu sehen, ob alles läuft. Solche Abhängigkeiten oder auch Continuous Delivery Pipelines konnte ich nicht konfigurieren. Vielleicht habe ich aber auch nicht tief genug in die Dokumentation der YAML Files geschaut.

Fazit

Man kann Continuos Integration mit Gitlab machen, wenn man auf Config-Files steht. Für größere Projekte und Continuous Delivery hilft mir persönlich das System so erstmal nicht weiter. Da nutze ich doch lieber eine der Alternativen.

Hat jemand andere Erfahrungen?

1 Comment

4 Tips for development of Alexa Skills

In the last weeks, I have developed some Alexa Skills for different purposes. It is really cool to develop the skills with the Alexa developer console. Building and testing the dialogue model is fairly easy. But at some points, you may encounter some problems like me. Therefore, I would like to share some tips with you to improve the user experience of a skill significantly.

Tip 1: Use Default Slot Types

Let’s start with a simple topic. If possible, use the provided slot types from Amazon, like Amazon.FOOD or AMAZON.NUMBER. These Slots have a huge set of data in the background. They are already optimized for a good NLP understanding. Doing this on your own is a lot of work and fine-tuning the model. Save yourself many hours and use what Amazon provides you.

Tip 2: Use a proxy for local development

There are different ways to implement the logic for the service: AWS Lambda or (self-hosted) endpoint services. If you develop endpoints services, you need to redirect the requests from the Alexa skill to the development instance, usually running on the local machine. An important thing is, the service needs to provide a valid TLS certificate. The easiest way to get it running is a web-proxy system like ngrok. Ngrok routes requests via a public web URL to your local development instance. And the best thing is, it has an option to provide a valid Wildcard-TLS-Endpoint which will be accepted by Alexa. This saves you a heck of time to set up anything equivalent with DynDNS and creating certificates. ngrok - a good tool for developing Alexa Skills

Tip 3: Answer not only use-case questions

During the development of Alexa skills, you work a lot through the questions (utterances) you have in mind with regard to the use case. But, think about your users. They can just interact with your app by asking questions. They can not click through a mobile app or website to search and find things they need. It’s important to be prepared for simple and general questions such as:

  • “What are the opening hours?”
  • “What is the address of a store?”
  • “What is the maximum of items I can order?”

Think about how your customer will ask questions. Ask your friends to try the skill and listen to their natural type of questions and commands. You can also log questions in the FallbackIntent to find out what real people say.

Tip 4: Test Alexa Skill dialogue with many people

This tip continues the thoughts of the previous. Many people will formulate questions and commands differently. Since the skill is usually used by many people, you need to be prepared for different types of utterances. Add as many sample utterances as you can to improve the user experience for the skill.

These 4 tips will improve the user experience of your Alexa skill. Do you have any further tips? Let me know in the comments.

2 Comments

6 Tipps zu IoT Analytics mit der CumulocityIoT Plattform

IoT AnalyticsEigentlich hätte ich gestern auf der buildingIoT Konferenz meinen Talk zu “IoT Analytics – Stream und Batch-Processing” gehalten. Nun ja, es sollte nicht sein. Daher habe ich meine Takeaways hier zusammengefasst.

In IoT Use Cases werden oft Daten verarbeitet. Ab einer gewissen Menge an Daten gibt es einen nicht mehr zu erfüllenden Zielkonflikt zwischen Real-Time-Anforderungen und der Genauigkeit. Dieser lässt sich durch die Lambda-Architektur auflösen und in zwei Layern getrennt erfüllen. In SaaS Plattformen, wie der CumulocityIoT, stehen dazu oft Mittel wie Complex Event Processing (CEP) Engines und REST-Schnittstellen zur Verfügung. Im Falle der CumulocityIoT Plattform läuft die Stream Verarbeitung über die CEP Engine Apama. Es gibt jedoch ein paar Dinge für eine stabile und effektive Verarbeitung zu beachten. Daher hier meine 6 Tipps zu IoT Analytics.

Leave a Comment

AR oder VR? Welche Emerging Technology wird wichtiger?

 

Beispiel von Augmented Reality mit einem Tablet
Beispiel von Augmented Reality mit einem Tablet

Innovative Unternehmen suchen schon seit einiger Zeit nach Möglichkeiten, Augmented Reality und Virtual Reality zu nutzen. Der Pokemon-Go-Hype sagte eine neue Denkweise voraus. Vorbei sind die Zeiten, in denen diese Technologien als das Werk von Science-Fiction angesehen wurden. Jetzt werden App-Entwicklungsfirmen angezapft, damit diese Unternehmen alles lernen können, was sie zum Einsatz dieser Technologien wissen müssen.

Software Berater können ein Unternehmen auf verschiedene Weise unterstützen

App-Entwickler sind nicht immer in der Lage, einem Unternehmen bei der Auswahl der besten Technologie für seine Bedürfnisse zu helfen. Dies gilt insbesondere dann, wenn es um Augmented Reality und Virtual Reality geht. Leider denken einige Unternehmen, diese Technologien wären austauschbar. Um die Zukunft, die vor uns liegt, und die Unterstützung, die die App-Entwickler und Integratoren zu bieten haben, zu verstehen, ist es für die Unternehmen unerlässlich, die Unterschiede wirklich zu verstehen.

Leave a Comment

Cybersecurity Slam 2020 – Unterhaltung durch Nerds?

Experten für Cybersecurity gefragt
Experten und Nerds für Cybersecurity gefragt.

Cybersecurity ist ein Thema, das alle angeht. Schließlich bedienen wir jeden Tag elektronische Geräte, die mit dem Internet verbunden sind. Das Risiko in die Fänge von Cyberkriminellen zu geraten ist real. Allerdings wird Cybersecurity sehr schnell technisch und kompliziert. Normalerweise sind da Nerds unter sich (Stichwort CCC). Wie kann man ein solches Thema der breiten Öffentlichkeit näher bringen? Das CASSIS und der Cybersecurity Cluster Bonn haben dazu ein Format gefunden: den Cybersecurity Slam!

So fand am vergangenen Donnerstagabend der 2. Cybersecurity Slam im Fritz Café der Uni Bonn statt. In einer Form des Science-Slam haben fünf Slammer eine 10-Minütigen Performance auf die Bühne gebracht. In einer unterhaltsamen Form sollte das jeweilige Thema aus dem Bereich der Cybersecurity dem Publikum erklärt werden. Ich hatte das Vergnügen einer dieser Slammer zu sein. Dazu habe mein Know-How aus dem Internet of Things in den Slam: “Sicherheit im Internet der Dinge oder: wie hacke ich meinen Nachbarn” verwurstet.

Losglück

Sicherheit im IoT
Sicherheit im Internet of Things (IoT)

Zu Beginn der Veranstaltung wird die Reihenfolge der Slams ausgelost. Ich hatte mich daher schon vorbereitet als erster zu performen. So kam es dann auch, dass mein Name als erster genannt wurde. Also schnell Mikro-Verkabelung und ab gehts. Im Vorfeld war ich schon etwas nervös und hatte wiederholt mein Intro geprobt. Das ging mir dann recht gut über die Lippen. Dann aber der Schock! Der Präsenter für die Folien funktioniert nicht 😱. Panischer Blick in Richtung Regie. Hektischer Tumult dort, keine akute Hilfe. Kurze Info ans Publikum und weiter gehts. Improvisierte Handzeichen helfen für den Wechsel der Folien und den Start der interaktiven Inhalte, die ich so intensiv mit Timings vorbereitet hatte. Als das Publikum dann wie erhofft auf die witzigen Elemente reagiert, sehe ich: Es läuft. Im Nachhinein fand ich es eigentlich gut, erster zu sein. Durch das Warm-up des Moderators Taner Ekici war das Publikum noch in bester Laune. Mit den letzten Worten meines Slams war ich dann richtig glücklich. Ich war in den 10 Minuten fertig und hatte alles gut rübergebracht. Der ein oder andere Zuschauer wird nun mit mehr Bedacht an den Betrieb seiner Smart Home und IoT Geräte gehen.

Cybersecurity für Alle

Mit den weiteren Slams ging es dann weiter:

  • Pascua Theus mit “Bitte entschuldigt!” zum Thema Passwörter
  • Marian Corbe mit “Kritische Infrastrukturen: der Motor unserer Gesellschaft?!”
  • Daniel Jedecke mit “Auf der Mauer auf der Lauer sitzt ne kleine Attacke” zum Thema Social Engineering
  • Holger Reichert mit “Wie ihr den Cyberraum zu euren Gunsten krümmt”

Zum Abschuss musste dann durch das Publikum der Sieger ermittelt werden. Pascua Theus holte sich verdient den Sieg und kann sich über die 500 € Prämie freuen.

Aus meiner Sicht funktioniert der Science-Slam sehr gut zur Vermittlung technisch komplexer Themen. Das anwesende Publikum war bunt gemischt. Die Gestaltung der Slams haben die Zuschauer auf jedem Niveau abgeholt und mal mit mehr oder weniger Humor zu einer Conclusio geleitet. So konnte jeder etwas zum Thema Cybersecurity mitnehmen.

Vielen Dank an Philipp Ackermann vom CASSIS und Christian Schmickler vom CSC Bonn für die Idee und Organisation. Ich freue mich schon auf die nächste Veranstaltung dieser Art.

Leave a Comment

Review of the Predictive Analytics World Business Conference

Estrel Hotel Berlin
Event Location of Predictive Analytics World Business

The last two days I was at the Predictive Analytics World Business Conference in Berlin. The event happened inside the Estrel Hotel, a nice and good managed location. In the talks of day one, little was in for me. The deep dive tracks were too deep for me. The use case tracks too superficial. At least it looks like presenting companies are using AI/ML in production. This is in contrast to the Industrial Data Science Days in Dortmund earlier this year, where Companies are using AI/ML in scientific PoCs, far from production.

At day two, the talks were much more interesting. My personal highlight was the talk (with the very long title) “Data Science Development Lifecycle – Everyone Talks About It, Nobody Really Knows How to Do It and Everyone Thinks Everyone Else Is Doing It” by Christian Lindenlaub und René Traue. They summarized their learnings from using Scrum and other methods in Machine Learning projects. They showed how to combine different agile methodologies to run successful machine learning + production software projects. Very inspiring for our own projects too.

The following talk “How to Integrate Machine Learning into Serverless Workflows” delivered also some helpful insights for some of Tarent’s current projects.

In the end, a good conference with some points I took home. See you next year? I don’t know yet. We will see.

Leave a Comment

Herausforderungen im Industrial IoT

Nachdem wir einige Industrial IoT (IIoT) Projekte umgesetzt haben, war es an der Zeit die Erfahrungen zusammenzutragen. Spannend sich da natürlich auch die Lösungen, die sich dazu bieten. Beides habe ich in einem Vortrag “Herausforderungen im Industrial IoT” zusammengetragen, den ich zuerst auf dem IoT Rhineland Meetup im Juni 2019 gehalten habe. Wir haben eine Aufzeichnung davon auf dem tarent YouTube Kanal veröffentlicht. (Die Produktion der Videos optimiere ich)

Die Herausforderungen im Industrial IoT:

  1. Viel Technik
  2. Vielfältigkeit der Schnittstellen und Ökosysteme
  3. Datenqualität
  4. Datenverarbeitung
  5. Plattform / Cloud – Ökosysteme

Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Leave a Comment

Good Bye Deutsche Telekom – Hello Tarent Solutions

Exciting news: after 7+ years I will leave the Deutsche Telekom to join tarent solutions as Head of Emerging Technologies. All in all, my time at Deutsche Telekom was a journey of continuous learning. Besides all the quirks of a large enterprise, I was lucky to join great teams, do exciting projects and push products like the Cloud of Things. But time has come to CHANGE. Tarent solutions is a technology service provider with offices in Bonn, Cologne, Berlin and Bucharest. Developing innovative software solutions for more than 20 years, as well as integrating them into complex IT infrastructures. With the growing number and complexity of information technology and technology in general, it becomes more challenging to keep up with and focus on certain technologies. This is my new and continuing mission: “to explore strange new worlds, to seek out new life [tech] and new civilizations [communities], to boldly go where no one has gone…

1 Comment