Visuelle Verfahren zur Orts-, Aktivitäts- und Kontexterkennung
Durch die rasante Entwicklung und Verbreitung mobiler Endgeräte, wie z.B. Smartphones, Tablets und Wearables, ist die Anzahl ortsbezogener Dienste enorm angestiegen. Viele Anwendungen ortsbezogener Dienste sind nicht mehr aus unserem Alltag wegzudenken. Sie sind Teil unseres Lebens geworden und beeinflussen unsere zukünftigen Entscheidungen und Verhaltensweisen. Dabei nutzen wir z.B. die Wetter-App am Morgen, um zu schauen ob wir den Regenschirm brauchen, schauen in die Verkehrsanbindungs-App, um den schnellsten Weg zur Arbeit zu finden, und informieren uns in der lokalen Nachrichten-App über aktuelle Themen. Überall begegnen uns Situationen, in denen wir diese Dienste aus Informationsbedarf oder Zeitvertreib immer wieder nutzen.
Ganzen Artikel lesen...

Alexa Skill mit Node-RED und IBM Bluemix entwickeln
Sprachsteuerung und Chatbots sind in aller Munde. Neben Siri, Google Now und Cortana ist inzwischen auch Amazon Alexa in Deutschland verfügbar und erfreut sich steigender Beliebtheit. Die Entwicklung dafür ist kein Hexenwerk - dieser Artikel gibt eine kurze Einführung für die Umsetzung. Dazu benötigen wir: Amazon Alexa Wir verwenden im Büro ein Amazon Alexa Dot - die kleine Variante bietet ausreichend Möglichkeiten und lässt sich für einen besseren Klang einfach mit einer Bluetooth-Box verbinden. Weitere Informationen sind auf Amazon zu finden. Alexa Skills Kit Das Alexa Skills Kit bietet die Spracherkennung. Auf Basis von Beispielsätzen lernt Alexa die Absichtserkennung und liefert diese Absicht mit vielen weiteren Optionen an ein beliebiges REST-Interface. Node-RED Als Serveranwendung verwenden wir Node-RED. Damit lässt sich auf einfache und schnelle Art und Weise die Annahme von HTTP-Requests realisieren, über bestimmte Funktionen können einfach und schnell API-Calls gesendet und das Ergebnis als einfache HTTPS-Response zurückgemeldet werden. IBM Bluemix Für Hosting mit einfachem Deployment verwenden wir IBM Bluemix. Die PaaS-Lösung bietet einfaches Hosting von Node-RED-Anwendungen und skaliert bei Bedarf einfach mit den Anforderungen mit. Bluemix kann auch 30 Tage kostenlos getestet werden, natürlich ist aber auch jede andere Hosting-Möglichkeit…
Ganzen Artikel lesen...

Jira – Start eines Jenkins-Builds per Webhook
Mit diesem Artikel stellen wir eine Lösung vor, mit der sich ein beliebiger Jenkins-Job starten lässt, sobald in JIRA eine neue Version freigegeben wird. Mit der Verknüpfung zwischen dem Release-Management in Jira und einem automatischen Deployment verbinden damit mehrere Vorteile: die Release-Entscheidung obliegt dem Projektmanager automatisches Deployment garantiert einen erfolgreichen Prozess bzw. einen definierten Abbruch im Fehlerfall jedes Deployment wird zusammen mit den passenden Tickets in JIRA sauber dokumentiert Zum Einsatz kommen JIRA in der Version 6.4 und Jenkins in der Version 2.19. Die Lösung ist, soweit möglich mit dem neuen Pipeline Konzept von Jenkins umgesetzt. Dies erlaubt es den größten Teil der Konfiguration von Jenkins als Code in einem Source Code Repository (z. B. GIT) zu verwalten. Das ist deswegen erstrebenswert, weil so eine Historie der Konfiguration gespeichert wird und auch ähnliche Projekte schneller konfiguriert werden können, als über die Jenkins Web-UI. Grundsätzlicher Ablauf Zunächst wird beim Release einer neuen Version in JIRA ein Webhook auf eine bestimmte URL auf der Jenkinsinstanz aufgerufen. Dadurch wird ein zu erstellender Job (JIRA Release Job) ausgeführt, der detaillierte Daten zum JIRA Release und Project über die Web…
Ganzen Artikel lesen...

Automatisierung mit Jenkins 2 und dem Pipeline Plugin
Als agil arbeitendes Unternehmen gehört es in der Virality zur Tagesordnung, Software zu veröffentlichen und möglichst früh Kundenfeedback in die weitere Verbesserung des Produkts einfließen lassen zu können. Dabei haben sich im Laufe der Zeit Best-Practices durchgesetzt, die uns - durch Build-Tools und Konsolenskripte unterstützt - schnell zu einem Release führen. Diese manuellen Releases funktionieren zwar meist gut, haben aber auch Probleme: Genannt sind hier in erster Linie Fehler bei der Ausführung des Ablaufs, weil Schritte vergessen oder bewusst übersprungen werden. Die manuelle Ausführung hat zudem den Nachteil, dass kein Protokoll von dem Deployment gespeichert wird, sodass im Fehlerfall nicht nachvollzogen und verglichen werden kann, was schief gegangen ist. Nicht zuletzt können lokale Builds auch nicht sicherstellen, ob diese auch auf anderen Maschinen ausgeführt werden können. Um diese Probleme zu beheben, setzen wir Jenkins ein um möglichst viele Schritte im Build- und Deploymentprozess zu automatisieren. Das behebt nicht nur obengenannte Probleme, sondern spart auch Zeit und motiviert: repetitive Aufgaben müssen nichtmehr durch Entwickler erledigt werden sondern funktionieren einfach! Wichtig beim Einsatz von Tools, speziell auch im Kontext von Jenkins ist uns, dass diese Tools unsere nicht Abläufe…
Ganzen Artikel lesen...