Seite wählen

NETWAYS Blog

Driving Your Waze

Normalerweise ist alltägliches fahren langweilig. Gerade wenn täglich mittlere Strecken zurückgelegt werden müssen, läuft dies normalerweise sehr routiniert ab. Jeden Tag die gleichen Baustellen, Staus. Hier und da auch mal ein Blitzer. Das Israelische Startup Unternehmen Waze Ltd. bringt seit 2008 ordentlich Abwechslung in die Tristesse. Es entwickelte eine GPS basierte Navigationssoftware für Community-Based Driving, welche als App auf den meisten Smartphones funktioniert.
Wie funktioniert es:
Man meint sich in einem Computerspiel zu befinden. So werden über eine kurz gehaltene Bedienoberfläche vom Fahrer streckenrelevante Ereignisse Dokumentiert und Bewertet. Das können Staus in verschiedenen Schweregraden sein, aber auch Baustellen, Straßensperren oder eine Gruppe von Herren mit grünen Mützen, welche am Straßenrand mit Laserpistolen hantiert. Durch das sammeln von Kilometern und Bewertungen erhält man Punkte und steigt in der Rangliste auf. Dadurch erhält man mehr Rechte zum editieren von Karten oder eintragen von Kraftstoffpreisen. Auch liegen hin und wieder Zusatzpunkte auf der Straße welche durch überfahren aufgenommen werden. Was allerdings passiert wenn man vorbei fährt, hab ich noch nicht ausprobiert.
Das hört sich jetzt vielleicht wie ein Witz an, funktioniert in der Realität wirklich sehr gut. Waze verwendet die Daten anderer Benutzer (Crowdsourcing) und lässt diese in den Routing-Algorithmus einfließen. Dabei kombiniert der Algorithmus Echtzeit-Geschwindigkeiten mit historischen Daten und bricht diese in Teile auf. Die Teile sind dann entweder bestimmte Zeitabschnitte (10-15 Minuten) oder Abschnitte bis zur nächsten Abzweigung. Bezogen auf die gesamte Route werden die Straßen bevorzugt wo die höhere Durchschnittsgeschwindigkeit gefahren wird. Das schließt alle Zeitverluste auf der Strecke mit ein: Ampeln, Verzögerungen bei Abbiegemanövern, Stoppschilder und einiges mehr. Das Endergebnis ist die optimale Route, die sich auch mal über eine Zeitlang durch Nebenstraßen windet oder kurze Schnellstraßenabschnitte nicht scheut.
Aber:
Natürlich birgt das System auch Nachteile. So geben Sicherheitsexperten zu bedenken, dass durch die Fülle von Informationen die Unfallgefahr ansteigt. Und man legt in dem System seine Daten offen mit denen präzise Bewegungsprofile erzeugt werden können. Weiterhin wurde das Unternehmen im zweiten Quartal 2013 von Google für schlappe 966 Millionen US Dollar aufgekauft – Das hat jetzt Vorteile – allerdings werden jedem die Nachteile ebenfalls klar sein.
Trotzdem:
Für mich überwiegen eindeutig die Vorteile: Die Wege sind wirklich genial und die Meldungen präzise. Manchmal entdecke ich sogar meine Stadt neu oder werde über unmögliche Wege geleitet die sich dann als geradezu brillant herausstellen. Die Fahrt wird kurzweilig und nach dem ich nach den ersten 2000km noch nirgendwo dagegen gedonnert bin halte ich das Sicherheitsrisiko für erträglich. Das einzige was ich mir wünsche: Mehr Leute in Nürnberg und Fürth für qualitative Daten!
In diesem Sinne: Waze On!

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

After "next generation floating" in HTML

Gang und gäbe ist mittlerweile der Gebrauch von umfließenden Container in HTML (float). Allerdings führt das oft zu Problemen wenn man z.B mit unterschiedlichen Abständen und Positionierungen hantiert. Außerdem ist dieses Modell einfach umständlich und grausig zu implementieren.
Mit einem W3C Vorschlag Ende 2013 hielt das „Flexible Box Layout Module“ Einzug in den CSS3 Standard. Die Idee hat man schon früher in der graphischen Programmierung. Innerhalb eines Containers wird eine unbestimmte Menge an Elementen untergebracht. Die Aufteilung der verfügbaren Breite erfolgt anhand von Anteilen.
Knapp ein Jahr später ist das Feature auch in den meisten Browsern verfügbar (Versionen später als November 2013).
Ein Beispiel
CSS:

.flex-container {
    display: flex;
}
.flex-item {
    flex: 1 1 auto;
    border: 1px #ff8000 solid;
}

HTML1 (gleiche Aufteilung):

Column 1
Column 2
Column 3

HTML2 (unterschiedliche Aufteilung):

Column 1
Column 2
Column 3
Column 4
Column 5

Weitere Informationen (z.B. Ausbreitung und Ausrichtung) findet man in den folgenden Links:
http://css-tricks.com/snippets/css/a-guide-to-flexbox/
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes
http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/
Fazit: Endlich geile Container 😉

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

PHP SPL: Heaps

Viele Daten im Nachhinein zu sortieren kostet Zeit. Seit PHP Version 5.3 gibt es in der SPL die Heap Klassen welche eine Sortierung on-the-fly erlauben. PHP stellt eine generische Heap Klasse bereit (hier im unteren Beispiel) um eigenen Datentypen zu vergleichen. Es gibt aber auch eigene Klassen für Min- und Max-Heaps.
Heap Strukturen eignen sich im Allgemeinen erst bei einer größeren Menge an Daten. So ist ein Max-Heap mit 1.000.000 Einträgen fast um ein drittel schneller als ein konventionelles Array welches anschließend eine absteigende Sortierung erfährt.

class TimestampMaxHeap extends SplHeap
{
    public function compare($array1, $array2)
    {
        if ($array1[0] === $array2[0]) {
            return 0;
        }
        return $array1[0] < $array2[0] ? -1 : 1;
    }
}
$heap = new TimestampMaxHeap();
$heap->insert(array(new DateTime('2014-01-04'), 4));
$heap->insert(array(new DateTime('2014-01-01'), 1));
$heap->insert(array(new DateTime('2014-01-06'), 6));
$heap->insert(array(new DateTime('2014-01-03'), 3));
$heap->insert(array(new DateTime('2014-01-05'), 5));
$heap->insert(array(new DateTime('2014-01-02'), 2));
foreach ($heap as $entry) {
    echo $entry[1] . ' ';
}
echo PHP_EOL;
Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

Crossing streams

chromecastStreaming Clients sind im Moment ein gehyptes Thema. Jeder Namhafte Elektronik- oder Contentriese drück mit einer kleinen Box auf den Markt, die das Hör- und Sehvergnügen von uns Konsumenten ins unermessliche steigern soll. Ich reihe mich in die Riege der Poster ein, die fragen: Was gibts, was kommt und was bringts wirklich.
Kurz zu mir. Ich nutze gerne Angebote wie z.B. Maxdome oder Watchever. Leihe mir hier und da einen Film aus und hab keine Lust mir mit Festplatten den Keller zu füllen. Bei mir überwiegt die Musik, weshalb der eine oder andere Musik-Streaming-Dienst dauerhaft am Abend dudelt. appletv_smallsize
Starten wir mit dem Chromecast von Google. Jeder hat bestimmt schon irgendwo gelesen, dass hier ein clevere Konstruktion am werkeln ist. Goggle verbaut seine Streaming-Lösung in einem Dongle Design mit HDMI Anschluss welcher direkt in das Endgerät gesteckt wird. Versorgt man den Dongle mit externer Spannung kann man durch CEC seinen Fernseher ein- und ausschalten. Damit das Streaming funktioniert muss es die Applikation unterstützen und hier liegt im Moment der Knackpunkt: Es gibt zu wenig Apps die das können. Spotify verweigert im Moment noch die Umsetzung mit Ihrer Android Applikation. Einen Ausweg könnte die Browser Extension für Chrome schaffen. Diese kann Browser Tabs einfach auf den Fernseher spiegeln. Allerdings ist die Latenz so hoch, dass zappen durch Musik nicht wirklich spaß macht.
Der alte Hase mit seinem Apple TV liegt mittlerweile in der dritten Generation vor. Dank größerer CPU funktioniert er schnell und gut. Vor allem die Möglichkeit den Screen komplett zu streamen (Nur Mac devices oder Android AllCast) macht das Gerät besonders flexibel. Will man aber mehr als Stereo über seinen Mac streamen ist dann aber auch schon Schluss. Die vorinstallierten Apps leiten aber Dolby Digital einwandfrei durch. Ist die App seiner Wahl vorhanden, erhält man aber eine robuste und eigenständige Streaminglösung. Gerüchten zur Folge kommen bald Apps von Drittherstellern über den AppStore auf den Markt. Dann wird es nochmal eine Schippe interessanter.
Ziemlich neu kommt der Roku Stick (zumindest als Thema in Deutschland) daher. Aktuell gibt es ihn hier zulande noch nicht. Er wartet allerdings mit einem großen Angebot an roku_streaming_stick_3500RApps (Channels) auf, welche stark auf den englischen und amerikanischen Markt ausgerichtet sind. Viele sind in Deutschland nicht nutzbar, z.B netflix. Er kommt wie der Apple TV mit eigener Fernbedienung daher und verbraucht daher nicht ein eigenes Personal Device als Fernbedienung.
Für mich persönlich hat Apple das reifere Konzept und die beste Audio Qualität. Aber auch das teuerste von allen. Im Moment muss man genau überlegen für was man die Streaming-Lösung benötigt – Und das ist auch genau das Manko: Proprietät und Intransparenz. Kein Hersteller liefert vollständige Freiheit. Dienste sind beschränkt oder lokales Streaming erst gar nicht möglich. Auch bei der Qualität von Video- und Tonformaten muss man darauf achten das die eigenen Ansprüche erfüllt werden – Informationen sind spärlich zu finden und die Hersteller hüllen sich allzu gerne in Schweigen. Streaming-Dienst und Streaming-Hardware sind jung. Einige Hersteller drängen in Zukunft noch auf den Markt und da wird es wohl noch etwas rumpeln.
Wer unentschlossen ist, spart sich den Konsumstress und geht nach draußen, eine Runde wandern! Holadio.
(Bildnachweis: Herstellerseiten)

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

Frisch zur CeBIT: Vorschau auf Icinga Web 2

Bald ist es soweit und Icinga kann sein brandneues Webinterface veröffentlichen. Zur CeBIT wurden hier viel Blut, Schweiß und Tränen hinterlassen um einen gewaltigen Schritt nach vorne zu unternehmen. Eine Demo kann man sich bei uns am Stand ansehen. Allerdings möchte ich euch ein Bilder dennoch nicht vorenthalten:


Um selbst in den Genuss zu kommen benötigt man lediglich Git und Vagrant und kann sich seine eigenen virtuelle Demo Maschine selbst bereitstellen:

$ git clone git://git.icinga.org/icingaweb2.git
$ cd icingaweb2/
mhein@ws-mhein02~/Temp/icingaweb2 [git:master]
$ vagrant up

Die Maschine installiert sich selbst weshalb man ein wenig Zeit mitbringen sollte. Danach ist das Webinterface unter folgender URL erreichbar: http://localhost:8080/icingaweb (Login: jdoe/password)
Natürlich zeigen wir das euch gerne auf unserem NETWAYS Stand (Halle 6 Stand E16 (319)).

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.