Während unser erster Blog-Artikel zum Thema MQTT eher theoretischer Natur war, möchten wir uns nun dem praktischen Teil widmen.

Alles was wir dazu benötigen ist eine MQTT-Client Library sowie einen Broker. Eine große Auswahl an verschiedenen Client- und Broker Implementierung bietet das Eclipse Paho Projekt. Zur Zeit stellt es Implementierungen für C, Java, Javascript, Python, Lua, C++, Embedded C und bald auch Objective-C bereit. Als Broker empfehlen wir die kostenlose Lösung von Mosquitto. Wer Probleme mit der Installation hat, sollte sich diesen Link zu Gemüte führen: Guide to Installing Mosquitto MQTT. Zu Demonstrationszwecke oder einfachen Versuchen, lohnt es sich allerdings die sogennanten Public-Brokers zu verwenden. Eine kleine Auswahl an solchen ist hier zu finden: Public Brokers.
Weiterlesen

Internet of things: Viele haben schon mal was davon gehört, aber nur wenige können so richtig beschreiben was es überhaupt ist… dieses “Internet of things”? Wikipedia beschreibt es folgendermaßen:

The Internet of Things refers to the interconnection of uniquely identifiable embedded computing like devices within the existing Internetinfrastructure. 

Weiterlesen

Was ändert sich, wenn man Objective-C Code in Swift umschreibt?

In meinem letzten Artikel Von Objective-C zu Swift: Table Views, habe ich den umgeschriebenen Code eines Table View Menüsystems verglichen.

In diesem Artikel nehme ich das Einlesen von JSON Daten als Beispiel und verwende folgende Daten: Weiterlesen

Swift, die neue Programmiersprache von Apple ist da und steht mit Xcode 6 als Beta zum Ausprobieren bereit.
Wir haben einige typische Lösungen aus der Objective-C Welt in Swift umgeschrieben, um zu sehen was passiert.

In diesem Artikel zeige ich beispielhaft den umgeschriebenden Objective-C Code eines Menüsystems in Form einer TableView: Weiterlesen

Die Galaxy Gear von Samsung ist eine Smartwatch, die neben “Classic Bluetooth” auch “Bluetooth Low Energy” unterstützt. Leider funktioniert die Uhr ausschließlich mit einer Hand voll Samsung eigenen Geräten.

Eine Kopplung mit dem iPhone wäre also eine echte Bereicherung und in Verbindung mit ANCS ergeben sich schöne Nutzungsmöglichkeiten. Wir haben uns daher ein paar Uhren besorgt und gleich begonnen Android Test Applikationen zu schreiben.

Weiterlesen

Wir befinden uns an einem Punkt in unserer Entwicklung, in der wir jeden Tag unvorstellbar große Mengen an Daten absichtlich oder unabsichtlich produzieren. Selbst dieser Mausklick oder der gerade geführte Telefonanruf produzierte einen Datensatz.

Diese Datenmengen nehmen exorbitant zu — ein Problem für jeden Systemadministrator (Stichwort Redundanz, Backup, Aktualität, Performance). Deshalb ist es an der Zeit, eine Speicherplatz/Nutzen Analyse zu machen. Welche Daten werden denn überhaupt benötigt, welche können aus anderen Daten generiert werden (Redundanz) und welche sind komplett überflüssig?

Weiterlesen

Der Apache Traffic Server (TS abgekürzt) ist ein stabiles und zuverlässiges Tool, um einen Reverse Proxy zu realisieren. Wir nutzen dieses Tool für alle Arten von HTTP(S) Routing und Mapping zwischen externen URLs und internen Services. Auch komplexere Einstellungen wie das Verwalten von mehreren SSL Zertifikaten pro Domain oder präzise HTTP Method Filter wird von TS unterstützt und bleibt auch unter Hochlast performant. (Der Apache TS war ursprünglich ein kommerzielles Produkt von Yahoo!, wurde aber im Nov. 2009 an die Apache Foundation gespendet)

“Handling over 400TB a day at Yahoo! both as forward and reverse proxies, Traffic Server is battled hardened.”

 

Weiterlesen

Arbeitsabläufe und Workflows zu automatisieren bzw. so weit zu vereinfachen wie möglich, ist uns ein großes Anliegen. Aufgaben, die ein Script übernehmen kann, müssen nicht wie ein Mantra wiederholt werden. In unserem Continuous Integration System wird Sourcecode automatisiert compiliert und zu einem installierbaren Paket geschnürt. Einer der Trigger ist das Anlegen eines Tags in der Versionsverwaltung. Wird ein neuer Tag angelegt, wird die Software automatisch in dieser Version compiliert. Weiterlesen

“Mal schnell ein Script geschrieben” — Das ist im ersten Moment trivial. Ein oft wiederholender Task soll automatisiert werden, eigentlich keine große Sache. Das Script ist schnell erstellt und läuft die ersten 2 Wochen ohne Probleme.

Doch dann ändern sich die äußeren Einflüsse geringfügig; Ein Ordner wird umbenannt, eine Server-IP ändert sich, eine Datei enthält Leerzeichen oder Sonderzeichen, die Festplatte läuft voll, oder die Netzwerkverbindung zum Backup-Server ist temporär nicht vorhanden. Fälle, die im ersten Moment nicht bedacht wurden, führen bei Shell-Scripts nicht selten zu weitreichenderen Problemen als man anfangs vermutet. Weiterlesen