Seite wählen

NETWAYS Blog

Brainstorming, aber bitte alleine!

Alex Osborn, ein Werbefachmann aus den USA veröffentlichte in den 50er Jahren folgende Idee: Brainstorming in der Gruppe führt zu geistigen Höchstleistungen. Osborn nahm an, dass Menschen in einer Gruppe mehr, und vor allem bessere Ideen hervorbringen. Dafür legte er bestimmte Regeln fest. Eine davon: Übe keine Kritik [1].
Diese Praktik der Ideenfindung wurde mittlerweile in einigen Studien überprüft, mit einem Interessanten Ergebnis: Keine der Studien konnte einen positiven Beleg dafür erbringen. Eher das Gegenteil war der Fall. In einer Gruppe von 2 Personen herrscht ungefähr Gleichstand zwischen Einzel- und Gruppenarbeit. Je größer die Gruppe ausfällt, umso verheerender fällt der Unterschied aus. Osborn ging damals von einer idealen Gruppengröße von 12 Personen aus. Das Ergebnis für ein Brainstorming dürfte katastrophal ausfallen.
Das eigentliche Problem: Die Gruppenmitglieder stehen sich selbst im Weg. Ideen entwickeln und gleichzeitig Zuhören ist eine Doppelaufgabe, die das Gehirn schwer bewerkstelligen kann. Dies konnte mit verschiedenen Experimenten nachgewiesen werden [2].
In einem Experiment wurden die Teilnehmer zur Ideenfindung aufgerufen:

  • Teil 1: Jeder durfte nur sprechen, wenn kein anderer sprach
  • Teil 2: Jeder durfte einfach drauf lossprechen

Die Gespräche wurden durch ein Mikrophon aufgezeichnet. Das Ergebnis: Im zweiten Teil war die Produktivität genau so hoch wie bei der Einzelarbeit, während der 1. Teil in der Produktivität deutlich schlechter abschnitt.
Im Alltag und in der Wirtschaft hält sich allerdings hartnäckig die Illusion, dass klassisches Brainstorming die beste Methode sei, um Ideen zu entwickeln. Schuld daran ist vermutlich der individuelle Vergleich: Natürlich produziert eine Gruppe mit 5 Teilnehmern mehr als ein einzelnes Individuum (subjektiv gesehen). Aber: Produziert eine Gruppe mit 5 Personen wirklich mehr Ideen als 5 Individuen in Einzelarbeit?
Abhilfe schaft hier z.B. die verstaubte Metaplan-Methode [3]. Jeder Teilnehmer schreibt seine Ideen auf eine Karte und hängt diese an die Wand. So findet ohne Blockade eine gegenseitige Befruchtung statt. Anschließend können die Ideen gemeinsam besprochen und geordnet werden.

[1] http://de.wikipedia.org/wiki/Brainstorming
[2] Prof. Dr. Michael Diehl, Universität Mannheim
[3] http://de.wikipedia.org/wiki/Pinwandmoderation

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.

Security Token für Jedermann: Der YubiKey

black_singleWie schützt man seine Daten am besten? Mit starken Passwörtern und genügend Entropie!
http://xkcd.com/936/
Besseren Schutz bieten zusätzliche Sicherheitsmerkmale wie 2-Faktor-Authentifizierung. Immer mehr Dienste bieten die Möglichkeit, sich mit einem zusätzlichen Einmalpasswort anzumelden. Dieses wird entweder auf einem anderen Medium dem Benutzer zugänglich gemacht (SMS, Abruf) oder wird von einem Token generiert. Tokens sind besonders spannend, da man jederzeit die Kontrolle darüber besitzt und unabhängig von Übertragungsproblemen ist (z.B. wenn man sich im Ausland aufhält). Nachteil: Teuer (z.B. SecurID) oder für Privatanwender zu aufwendig.
Mittlerweile bietet die Firma Yubico einen Token für $25 an. Günstig und viel Ausstattung. Die kleine Kunststoffplatte mit USB Kontakten ist wasserdicht und relativ unverwüstlich. Das Gerät wird vom System als Tastatur wahrgenommen und verschickt auf Knopfdruck verschiedene Strings, die zur Authentifizierung herangezogen werden können.
Der YubiKey kann selbst programmiert werden und unterstützt folgende Modi:

  • OTP (OTP YubiCloud oder OATH-HOTP)
  • Statisches Passwort mit 32 Zeichen
  • Challenge-Response

Diese Modi können in zwei Slots auf den Token programmiert werden. Die Slots werden durch den Druckknopf angesprochen: Weniger als 1,5 Sekunden für Slot eins und ungefähr 3 Sekunden für den zweiten.
Tools zum programmieren des Tokens gibt es für alle Systeme, jeweils in GUI oder CLI. Die GUI Version bietet praktischerweise auch den Upload des eigenen Keys in die YubiCloud an, was die Einrichtung deutlich vereinfacht.
Das OTP Modul für die YubiCloud erwartet auf der Gegenseite einen AES Key, welcher das eigentliche OTP Passwort entschlüsselt und dann auch validiert. Die ersten 6 Bytes des gesendeten Strings sind dabei der Public Identifier des Tokens. Anhand diesen Keys, kann der Schlüssel auf der Gegenseite identifiziert werden, um das eigentliche OTP zu entschlüsseln.
Alles weitere befindet sich in der ausführlichen Dokumentation von Yubico. Hier ist auch der Background und die Funktionsweise der Validierung und Provisioning von YubiKeys beschrieben.
Schön ist zu erwähnen, dass die Unterstützung des YubiKey stetig steigt: LastPass, Google, PAM, Radius, Windows Login, PayPal, KeePass et cetera.
Bleibt zu hoffen, dass es noch dauert bis jemand die erste Sicherheitslücke findet 😉


Bild Rechte v.l.n.r: CC-BY Marius Hein, (c) 2013 Yubico

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.

Aus 4 mach 2 – Spaces

Heute schließe ich mich meinem Kollegen Eric Lippmann mit seinen Sed Tricks an. Heute heißt es: „Aus 4 mach 2“. Der Wechsel von Spaces in Einrückungen funktioniert nicht überall reibungslos. Entweder ist die Änderung mit Codestyle verbunden (tools) oder ich brauche spezielle, oberflächen-behaftete Software (vi o.ä.).
Mit Sed ist dies mit einem Einzeiler möglich – Und damit integrierbar in alle meine find und git hacks ;-):

sed -i .BAK 'h;s/[^ ].*//;s/    /  /g;G;s/\n *//' /path/to/file

Mit der Operation -i wird die Datei gleich geändert und das Original also file.BAK abgespeichert.
 

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.

GIT – aus eins mach viele

Software Projekte starten meist mit einem SCM Repository. Nach einem gewissen historisch bedingten Wachstum hat man dann auf einmal eine Sammlung unabhängiger Komponenten. Diese gehören aber in eigene Repositories. Gerade wenn unterschiedliche Versionen in der Produktion zum Einsatz kommen sollte man tunlichst darauf achten. Sonst wird es schwer unabhängig voneinander zu entwickeln ohne Kompatibilität zu brechen.
Leider hat man es zu spät gemerkt. Was tun um die Historie nicht zu verlieren? In den dunklen Ecken von GIT findet sich git-filter-branch. Ein mächtiges Tool wenn es darum geht am kompletten Baum etwas zu verändern. Aber beginnen wir von vorne:
1. Repository auschecken:

$ git checkout git@git.foo.bar:repository.git && cd repository

2. Entfernen aller anderen Verzeichnisse bis auf das gewollte

$ git filter-branch --prune-empty --subdirectory-filter path/to/component -- --all

Mit dem obigen befehl wird alles entfernt was nicht im Verzeichnis ‚path/to/component‘ vorkommt. Normalerweise werden hierbei leere commits erzeugt welche nichts mit dem Filter zu tun haben. Um dies zu vermeiden gibt es die Option ‚–prune-empty‘.
3. Anlegen eines neuen Repositories und setzen eines neuen Ziels

$ git remote add target git@git.foo.bar:component.git

4. Explizites pushen des master branch in das neue Ziel

$ git push target master

Neues Repository wird mit der gefilterten Historie gefüllt. Allerdings ist der alte Code noch im ehemaligen Repository vorhanden
5. Neu auschecken und redundanten Code entfernen
Lokale Kopie von der Platte entfernen (Schritt 1) und mit folgendem GIT Befehl weiterarbeiten

$ git filter-branch --tree-filter ' rm -rf path/to/component' HEAD

6. Repository pushen und aufräumen
Wir haben die Timeline geändert und unsere Änderungen passen sich nicht mehr in die Historie ein:

$ git push -f

Mit der Option -f wird alles Remote überschrieben, egal ob es passt oder nicht. Man tun gut daran kurz inne zu halten und den Branch zu überprüfen.
Danach können wir die alten Reflogs löschen um Speicherplatz frei zu geben:

$ git reflog expire --expire=now --all && git gc --aggressive --prune=now

Pa-Tsching – fertig!
Natürlich ist das nicht die ganze Wahrheit und passt auf einfach Anwendungsfälle. Mit unterschiedlichen Release Tags und verzweigten Branches wird das extrahieren etwas aufwendiger. Allerdings ist dies dann keine Standardfall mehr und genau auf das Projekt zugeschnitten (Namensschemata usw.).
Detail Informationen finden sich auf der Manpage von GIT.

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.

Aussenseiter Linux

HibiscusLeider ist es immer noch so, dass es bei spezialisierter Software Linux der klare Aussenseiter ist. Viele Lücken gibt es hier bei Business relevanter Software, z.B. Projektplanung, Zeiterfassung oder Musikproduktion. Das heißt jetzt nicht dass es überhaupt gar keine Software gibt. Meistens machen es die Schnittstellenaus, welche die Interoperabilität zwischen den globalisierten Betriebssystem Giganten einschränken oder schier unmöglich machen. Gezwungenermaßen steigt man dann für einen bestimmten Anwendungsfall auf ein anderes Betriebssystem um. Klassische Vertreter dieser Art sind Steuerprogramme oder Banking Software. Wobei durchaus davon auszugehen ist, dass der gemeine Linuxuser hin und wieder seine Steuern zahlt oder eine Überweisung tätigt.
Für eine Überweisung bin ich neulich auf Hibiscus gestoßen – eine ordentliche Banking Software mit HBCI Unterstützung für die üblichen Geschäftsvorfälle. Unterstützung gibt es hier bis HBCI/FinTS Version 3 mit Chipkarte, Schlüsseldiskette und Pin/Tan (optisch und SMS). Das Interface ist aufgeräumt und bietet einiges an Auswertung und Kategorisierung für seine Transaktionen an. So kann man besonders schön am Monatsende sehen wo das Geld eigentlich versiegt und eventuelle Gegenmaßnahmen einleiten.
Kurz und knapp:

  • Java basierend (HBCI4Java basierend)
  • GPLv2
  • Linux, MacOS, Windows
  • Quellcode bei GitHub
  • Bulk Abruf
  • Sammel-Überweisungen / -Lastschriften
  • Export und Import von Daten
  • Reporting
  • Jameica Architektur: Basierend auf Plugins / Headless Betrieb als Server

Die Basisfunktionalitäten kann man natürlich auch im Webinterface der Bank erledigen, wer allerdings die Umsätze über einen längeren Zeitraum aufheben möchte oder eine ordentlich Volltextsuche in Transaktionen/Gegenkonten, kommt um einen ordentlichen Fat Client nicht drum rum.
Ordentliches Teil, übersichtlich und tut genau das, was man braucht. Vielen Dank dafür!


(Bildquelle: http://www.willuhn.de)

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.