Auch dieses Semester haben HPI-Studierende im Rahmen des mittlerweile achten Hack ’n’ Tell in gewohnt entspannter Atmosphäre ihre Hard- und Software-Projekte gezeigt. Von der Partizipationsplattform über den smarten Spiegel bis hin zum selbstgeschriebenen Kernel wurde dabei eine hohe Bandbreite an Themen aufgegriffen.
Node.js und C++-Performance – geht das?
Juni 2016, Alfsee. Knapp 440 Athleten kämpfen bei einem 24-stündigen Mountainbike-Rennen um den Sieg. Dabei werden insgesamt über zwei Millionen Messpunkte mit GPS-Koordinaten und Zeitstempeln aufgezeichnet. In Racemap, einem Node.js-basierten Hobbyprojekt von Norman Rzepka, werden anschließend all diese Messwerte auf einer interaktiven Karte für Fans, Trainer und die Sportler selbst dargestellt. So weit, so gut – aber Norman dachte sich: »Geht das nicht besser?«
Ihn packte die Idee, die Messwerte noch während des Rennens live auf der Karte anzeigen zu können. Da die bestehende Node.js-Implementierung jedoch knapp zwei Minuten für das Verarbeiten der Messpunkte brauchte, schrieb Norman für die performance-kritischen Prozesse native C++-Module, die mittels node-gyp zu Node.js-Modulen kompiliert wurden. Außerdem stieg er von der Datenbank MongoDB auf den persistenten Key-Value-Store RocksDB um.
Das Ergebnis: Statt vorher 100 Sekunden dauert die Verarbeitung der Daten nur noch 0,2 Sekunden. Diese 500-fache Beschleunigung sorgt dafür, dass jetzt schon während des laufenden Rennens die Positionen der Sportler live auf einer Karte angezeigt werden können.
Crowdsourcing gegen Fremdenfeindlichkeit
Im Jahr 2015 gab es in Sachsen 728 fremdenfeindliche Demonstrationen, 146 Facebook-Seiten, die diese Demos organisierten und mindestens 285 rassistisch motivierte Straftaten. Nicht wegschauen, sondern darauf aufmerksam machen wollen Jan Kossmann und das Team von Straßengezwitscher. Auf einem zentralen Twitter-Profil posten sie journalistische Dokumentationen von ebensolchen Demonstrationen. Unter Einsatz ihrer eigenen Sicherheit machen sie kritisch auf Hetze und Populismus aufmerksam und wurden u. a. mit dem Grimme Online Award 2016 und von Martin Schulz, dem Präsident des EU-Parlaments, geehrt.
Wie aber macht man das Ganze skalierbar? Zusammen mit dem Team von Straßengezwitscher stellte sich Jan dieser Herausforderung und entwickelte Crowdgezwitscher, eine Web-App, die auf einer Karte bisherige und zukünftige Kundgebungen und Demonstrationen anzeigt. Die angezeigten Termine und Orte werden dabei dabei per Crowdsourcing gesammelt, also von Besuchern der Seite anonym eingetragen und redaktionell geprüft. Zusätzlich ist eine PGP-gesicherte Kontaktaufnahme möglich.
Hört sich spannend an? Dann melde dich bei Jan! Sein Team von Crowdgezwitscher freut sich über alle, die Lust haben, mit Angular und Django gegen fremdenfeindliche Hetze zu kämpfen.
»Spieglein Spieglein an der Wand, wer hat die meisten Informationen an der Hand?«
Wer kennt es nicht – man steht vor dem Badspiegel, putzt sich die Zähne und schaut auf dem Smartphone nach, wann die nächste Bahn zur Uni fährt. Oder man checkt noch schnell den Wetterbericht, prüft seine Kalendereinträge oder liest eine E-Mail. Könnte man nicht die Scheibe vor sich nutzen, um diese Informationen dezent und optisch ansprechend anzuzeigen?
Genau dieses Ziel verfolgen die Magic Mirror Builder. Aus besonderen halbdurchlässigen Spiegeln, Bildschirmen und zum Beispiel Raspberry Pis bauen sie Spiegel mit integrierten Informationsmodulen. Eine von Node.js und Electron getriebene Website wird dann vom Raspberry auf dem Bildschirm angezeigt. Die dabei eingeblendeten Module können beispielsweise mithilfe der standardisierten MagicMirror-Bibliothek ausgetauscht und einfach konfiguriert werden.
Joseph Bethge hat für seine Wohnung gleich einen ganzen Schrank mit einem entsprechenden Spiegel gebaut. Außerdem hat er eine Fernsteuerung in Form einer Web-App entwickelt, mit der man vom Smartphone aus Module an- und abschalten und konfigurieren kann. Aber aufgepasst – wer morgens zu lange an der Konfiguration herumspielt, verpasst am Ende noch die Bahn …
Außerdem dabei:
Multivariate Modeling with scikit-learn
Jonathan Striebel sagt aus der Zahl der vollendeten Semester nicht nur den voraussichtlichen Studienabschluss, sondern zusätzlich auch noch das spätere Gehalt voraus.
Down to Bare Metal. Unikernel Experiments
Alexander Meissner führte seine Entwicklung am eigenen Betriebssystem Symatem (vgl. HPImgzn 17) weiter und schrieb u. a. einen Bootloader und mehrere Software-Stacks.
Rundfunk Mitbestimmen
Robert Schäfer zeigt auf der Seite rundfunk-mitbestimmen.de, wie man die Kontrolle über öffentlich-rechtliche Rundfunkanstalten ein Stück weit in die Hände der Nutzer geben kann.