Tag Archives: it-for-non-it

IT explained

Vom Zynismus der IT-Leute

Jahresbeginn ist die Zeit der guten Vorsätze. Ich habe mir vorgenommen, etwas für die Verständigung zwischen “normalen” Menschen und Nerds zu tun, bzw. selbst ein wenig verständnisvoller zu sein. Aber alles der Reihe nach:

Ich höre immer wieder Beschwerden, ITler seien wahre Unmenschen, die den Büroalltag vieler Unternehmen mit Sarkasmus und Ironie überschwemmen. Von der gegnerischen Seite – gleichsam egal aus welcher Branche oder Position – höre ich, die jeweiligen DAUs seien besonders schlimm und grundsätzlich verständnislos gegenüber der IT.

Wie ich es erlebe, führt die geschilderte Situation zu Subkulturen innerhalb der Unternehmen. IT Profis fühlen sich dann dort grundsätzlich mehr ihren Projekten oder technischen Religionsbekenntnissen als ihren Arbeitgebern zugehörig. Ergebnis sind einerseits zwar Meilensteine des Humors, andererseits aber auch viel Konflikt- und Frustrationspotential.

Zynismus, wörtlich Hündigkeit, bezeichnet eine Lebensanschauung, die durch Spott und Missachtung von Konventionen geprägt ist. Dabei ist oft der einzige Hund, mit dem ITler zu tun haben, der Höllenhund Kerberos, ein Protokoll zur Authentifizierung über Netzwerke. Der Großteil von uns ist nämlich nett und beißt nicht;-) Foto: Mathias, Mosambik 2011.

Nun, viele Vorurteile mögen stimmen, das Pauschalurteil Unmensch will ich aber zurückweisen. Die IT-Leute, die ich kenne, zeigen soziales Engagement durch Freiwilligenarbeit oder überdurchschnittliches Spendeverhalten. Der Referenz-Nerd ist Pazifist, an tausenden Dingen außerhalb der IT interessiert, reist viel und ist grundsätzlich eher freundlich. Die komplette Industrie fußt dank Open Source auf dem Grundsatz gemeinschaftlichen, unentgeltlichen Teilens – in allen anderen Wirtschaftsbereichen wäre das eine reine Utopie.

Kurzum: Es gibt definitiv das oben geschilderte Problem, aber es ist kein charakterliches.

Ein Problem zweier Welten

Vielmehr bin ich der Überzeugung, dass es ein Problem zweier, stark unterschiedlicher Realitäten ist. Dies erzeugt ein Spannungsfeld, mit dem ITler tagtäglich konfrontiert sind. Auf Dauer ist so etwas aufreibend – die (verzweifelte) Reaktion ist dann oft sarkastisch.

Auf der einen Seite befindet sich die Welt des Unternehmens und des Managements; es ist die Bürowelt hierarchischer Ordnung mit (anscheinender) Beliebigkeit der Verwaltungsentscheidungen.

Im krassen Gegensatz dazu steht die technik-getriebene Welt der IT; hier sind gute Mitarbeiter unerreichte (aber auch unüberprüfbare) Experten auf ihren Gebieten – Entscheidungen basieren deutlich öfter auf Fakten oder, zumindest, technischer Notwendigkeit.

 +++ Spannungsfeld zwischen non-IT und IT +++
                  Bürowelt                IT
--------------------------------------------------------------------------
Entscheidungen    Fingerspitzengefühl     README.txt
der Weg dahin     Meetings                Konkurrenz und Evolution
Motivation        mission statements      das beste System bauen
Organisation      hierarchisch            (latent) in Task Forces
Qualität          langfristig nebulös     automatisiert überprüfbar
Fehler            Ausnahmen einführen     Totalabsturz
Fehlerbehebung    schwer                  STRG-Z
ArbeitsINPUT      skaliert mit Zeit       skaliert mit Konzentration
ArbeitsOUTPUT     linear zur Fallzahl     Zahl unterschiedlicher Fallarten
Projektmanagment  schwerfällig, genau     agil, trial & error
Planbarkeit       Excel                   Glaskugel
Umsetzung         Papier                  Code
Wartungsaufwand   Wartung?                hoch

Vielleicht hilft ein Beispiel zur Verdeutlichung meiner Gedanken.

Als ich 2002 “richtig” zu arbeiten begonnen habe, wurde mein Mitarbeiter-Account in die Unix-Gruppe “edvz” gesteckt. Das EDV-Zentrum war zwar zu dieser Zeit bereits Geschichte, das zugrunde liegende IT-System ließ sich aber nicht mehr so leicht umbiegen. (Wozu auch?) Inzwischen gab es eine neuerliche Umbenennung von ZID in IT-S. Accounts sowie aber vor allem auch deutlich wichtigere Systeme machen solche Aktionen aber selten mit. Es entsteht ein Spannungsfeld zwischen “Realität” und dem, wie sie in Systemen abgebildet wird.

Als IT-Mitarbeiter ist man also täglich mit diesen zwei Welten konfrontiert. Einerseits hört man, wie etwas laut Management, Verkauf oder Gesetzgeber zu sein hat oder angeblich ohnehin bereits so ist, andererseits liegt vor einem das tatsächliche Regelwerk gegossen in Programmcode. Und dieser kennt keine Ausnahmen und duldet keinerlei Fehler oder Mehrdeutigkeiten. Das Problem zieht such durch alle betrieblichen Sphären (und erreicht bei HR seinen traurigen Höhepunkt).

Ich bin überzeugt, dass bei meiner Hausbank (zurzeit heißt sie übrigens gerade Bank Austria Unicredit AG) auch heute noch im Hintergrund die Abrechnungsprogramme, Clearing-Skripts und automatisierten Risikoanalysen der Zentralsparkasse mit denen der Creditanstalt konkurrieren. Die Hausbank, die sich – seit sie mich als Kunden hat – drei Mal umstrukturiert hat, besitzt mit Sicherheit auch zynische IT-Mitarbeiter. IT-Mitarbeiter, die ganz genau wissen, dass der Logotausch auf der Homepage noch keine andere Bank aus ihrem Unternehmen macht.

Klar, man könnte nun mit Kernprozessen und der reinen Hilfsfunktion von IT kontern. Aber wenn ich mir am Beispiel der Banken ansehe, woher die Konkurrenz kommt (Direktbanken, Mobilfunker und NFC, peer to peer finance), würde ich sehr schnell Information als Kernressource meines Unternehmens ansehen. Und damit wäre die IT wissensintensiver Unternehmen auf Augenhöhe mit dem Controlling – zugegeben, das ist nun wirklich eine Utopie…

Versöhnliches

Kommen wir zum versöhnlichen Abschluss, immerhin ist’s ja mein Neujahrs-Blog.

Ich stelle fest, Nicht-ITler haben oft keine Vorstellung davon, welche Tätigkeiten viel und welche wenig Aufwand auf meiner Seite bedeuten. Mit größter Selbstverständlichkeit wird da oft ein komplettes Datenbank-Redesign eine Woche vor dem Produktivtermin gefordert, beinahe ängstlich wird manchmal gefragt, ob man die Schriftfarbe jetzt überhaupt noch anpassen könnte.

In Zukunft werde ich die Komplexitäten meiner Arbeit besser darlegen. Vielleicht wird dann klar, dass auch ich kein so unguter Hund bin.

IT explained

Gestohlene GIS-Daten und was jeder tun sollte

Technik egal, gleich zum Musterbrief an die GIS springen.

Im “österreichischen Internet” geht es zurzeit ziemlich wild zu: SPÖ, FPÖ und zuletzt die Grünen wurden Opfer von Hack-Attacken, besonders großes Aufsehen erregte vor allem der Datendiebstahl bei der GIS.

Was ist da genau passiert?

Der Angriff bei der GIS lief über eine so genannte SQL-Injection. Wikipedia erklärt’s genauer, aber die Kurzversion lautet etwa so: Browser kommunzieren mit Webservern via URLs – jeder geklickte Link und jedes ausgefüllte Formular sind schließlich Webadressen, also URLs.

Wer sich die URL-Zeile des Browsers schon mal genauer angesehen hat, der erkennt alle Formen von Parametern. Onlineshops müssen beispielsweise wissen, welche Produkte sie anzeigen sollen. Im Onlineshop von biohelp etwa, geschieht dies über den Parameter id mit dem Wert 8:

http://www.biohelp.at/biohelp_h/index.php?option=com_content&task=view&id=8

Es lässt sich nun wohl leicht erraten, welche IDs es sonst noch so gibt… Das Austauschen von Paramtern wird URL-Manipulation genannt. Man kommt dann vielleicht auf Seiten(-kombinationen), die so nie gedacht waren – beispielsweise zum Erotikfilm in der Produktkategorie Priesterzubehör -, aber ein böser Cracker sind wir dadurch noch lange nicht.

Der Befehl id=8 landet irgendwann jedenfalls in einer Datenbank, wo das entsprechende Produkt gespeichert ist. Datenbanken werden mit SQL abgefragt. Auch ohne Datenbankkenntnisse ist wahrscheinlich klar, was hier geschieht:

SELECT name, preis
  FROM produktkatalog
 WHERE produkt_id = <URL:id>

Was wir soeben im Trockentraining gebastelt haben, nennt sich dynamische Webseite. In Abhängigkeit vom Wert id aus dem URL liefert die Datenbank unterschiedliche Ergebnisse. Und diese werden schließlich auf der Produktseite präsentiert.

Do it yourself SQL-Injection

Was ist nun bei der GIS passiert? Nun, der Wert wurde durch etwas ausgetauscht, was deutlich mehr als einen Datensatz liefert, 214.000 um genau zu sein. Man injiziert weitere Befehle in den URL, und daher kommt auch der Name SQL-Injection. Dies könnte etwa so funktionieren:

http://www.biohelp.at/biohelp_h/index.php?option=com_content&task=view&id=8 OR 1=1

Die Eingabe wird in der Datenbank zu:

SELECT name, preis
  FROM produktkatalog
 WHERE produkt_id = 8 OR 1 = 1

Und da 1 immer gleich 1 ist, kämen so alle Produkte der Datenbank retour. Man wäre nun sogar in der Lage, noch gefährlichere Kommandos einzuschleusen, die deutlich mehr Schaden anrichten würden usw.

Der  Gärtner meines Vertrauens (biohelp) ist jedenfalls gegen SQL-Injection abgesichert, und so sind es inzwischen alle halbwegs vertrauenswürdigen Websites – von hochsicheren online-banking Anwendungen bis hin zum Forum der örtlichen Schrebergartenvereinigung.

Die GIS allerdings, sah im Jahr 2007 (Neuentwicklung der Webseite) jedenfalls keinen Anlass, mehr als 200.000 Kundendaten gegen so ein Angriffsszenario zu schützen! Ansich wäre hier mein Artikel zu Ende gewesen, hätte ich gestern nicht nochmal zur Zeitung gegriffen:

Herr Menedetter, mir kommt das Kotzen

Man sollte sich das Interview der Presse mit Herrn Menedetter, Geschäftsführer der GIS, wirklich nicht auf nüchternen Magen zumuten. Hier die beiden Highlights:

“Wir haben die Daten nicht verloren, sie sind uns von einem kriminellen Hackernetzwerk gestohlen worden.”

“Wir (…) weisen darauf hin, genau auf Kontoauszüge zu achten. Der mündige Konsument muss auf seine persönlichen Daten achten.”

Diese Verlogenheit muss bestraft werden. Erstens ist das, was ich oben beschrieben habe kein hochkomplexer Angriff irgendwelcher Kriminellen, wie man sie aus Spionage-Filmen kennt. SQL-Injection auf Webseiten zu ermöglichen, ist grob fahrlässig! Aber anschließend auch noch auf die Mündigkeit der Konsumenten, die so wie ich die Produkte gar nicht kaufen wollen! – hinzuweisen, ist die Höhe.

Kurzum, das österreichische Datenschutzgesetz erlaubt nach §26 ein Auskunftsrecht. Zur Nachahmung wird ermutigt, es kostet eine Briefmarke:

Musterbrief an die GIS

GIS Gebühren Info Service GmbH
Operngasse 20 B 1040 Wien

Sehr geehrte Damen und Herren,

dem Interview der Tageszeitung Die Presse mit Ihrem GF Herrn Menedetter (29. Juli 2011) entnehme ich, dass seiner Darstellung nach, die GIS Opfer eines kriminellen Hackernetzwerks wurde und keinerlei Schuld am Datenverlust trägt. Herr Menedetter wörtlich: “Der mündige Konsument muss auf seine persönlichen Daten achten.”

Da meiner Ansicht nach die GIS gegen §14 Abs. 1 DSG 2000 (Datensicherheitsmanßnahmen nach technischer Möglichkeit und wirtschaftlicher Vertretbarkeit) verstoßen hat und ich mich als mündigen Konsumenten sehe, fordere ich Auskunft über die Ihnen vorliegenden persönlichen Daten zu meiner Person. Insbesondere will ich wissen, was die GIS über mich speichert, und woher Sie diese Daten beziehen. Weiters fordere ich Namen und Anschrift aller Dienstleister, die Sie zur Verarbeitung meiner Daten heranziehen.

Zum Nachweis meiner Identität liegt eine Kopie meines Führerscheins bei. Ich weise Sie höflich auf die lt. Gesetz achtwöchige Frist zur Beantwortung meines Begehrens hin.

Mit freundlichen Grüßen

Mag. Mathias Frey

IT explained

Alternative zu Office-Dokumenten

Kürzlich habe ich über mein grundsätzliches Problem mit Office gebloggt. Dabei ging es mir nicht um ein Microsoft-Bashing, weil mir MS Office nicht gefällt. Nein, mir gefällt das Konzept von Office Dokumenten grundsätzlich nicht. Eine Suche nach “Office Alternative” liefert mit Open Office & Co. lediglich die Konkurrenten der Suite aus Redmont, nicht aber das was ich im Auge habe. Ergo:

“Wenn mir ein Badeurlaub in Griechenland nicht gefällt, fahre ich ja auch nicht im kommenden Jahr an die türkische Riviera. Ich mache eine andere Art von Urlaub.”

Paradigmenwechsel an der Tastatur

Diese grundsätzlich andere Art von Dokumentenerstellung hat viel mit den Konzepten zu tun, die für Softwareentwickler das tägliche Brot bedeuten: Abstraktion von Problemstellungen sowie Trennung von Design und Content. Zuviel der vielen Worte, hier also ein Beispiel.

Beginnen wir mit dem, was jeder kennt: Powerpoint. Die fiktive Aufgabenstellung ist das Visualisieren eines einfachen Prozesses anhand eines Flußdiagramms. Keine fünf Minuten später ist das Ergebnis fertig.

Ein Flussdiagramm ist schnell zusammengeklickt

Die gänzlich andere Herangehensweise ist die Abkehr von WYSIWYG. Anstatt im fertigen Dokument herumzuklicken, strukturiert man die Daten in einer einfachen Textdatei.

digraph {
  "Urlaubsantrag anlegen" -> "Genehmigung";
  "Urlaub auswählen" -> "Genehmigung";
  "Genehmigung" -> "Urlaub fix buchen";
  "Genehmigung" -> "Vertretung zum Blumengießen suchen";
}

Ein Programmpaket namens Graphviz übernimmt anschließend das Layoutieren. Ich habe mich also auf die Daten konzentriert, die Anordnung der Knoten und Kanten übernimmt die Software.

Die Alternative mit Graphviz. Vielleicht zu Beginn nicht ganz so schön, aber die Vorteile kommen noch...

Wer nun ästhetische Bedenken hat, soll sich die Graphviz Gallery ansehen, die gleichzeitig auch der beste Startpunkt zum selbst Experimentieren ist. Spielstand im Match Powerpoint gegen Graphviz bisher also eins zu eins.

Und hier beginnen die Vorteile

Die entscheidenden Vorteile beginnen bei nun folgenden Änderungswünschen. Angenommen wir müssen einen weiteren Prozessschritt zwischen “Urlaubsantrag anlegen” und “Genehmigung” schieben. In der Office-Lösung bedeutet das, dass der Benutzer mit dem Verschieben der Kästchen beginnt, mühsam die Pfeile nachzieht, früher oder später ernsthafte Probleme mit der Positionierung bekommt, da Graphen ja meist dort wachsen, wo ohnehin kein Platz mehr zu sein scheint. (…)

In der alternativen Lösung ist lediglich eine Zeile Text zu ändern.

digraph {
  "Urlaubsantrag anlegen" -> "Beten" -> "Genehmigung";
  ...
}

Bei umfangreicheren Dokumenten führt der Office-Approach zu zahlreichen Problemen wie etwa höherem Arbeitsaufwand mit repetitiven Herumgeklicke. Auch das Vergleichen von Versionen ist mit der Graphviz-Lösung kein Problem. So gibt es es zahlreiche Tools, die eine Synopse (ein sogenanntes Diff) von Textdateien visualisieren. Bei Powerpoint heißt es dann eher “Nimm’ die Version, wo das Hackerl dort noch angeklickt  und die Farbe auf das zweite Hellgrau von unten gesetzt war”. In der Welt von Word führt das Vergleichen von Dokumentenversionen zu so unglaublich komplexen, verwirrenden und letztlich unbrauchbaren Features wie der Änderungsnachverfolgung – ich kapier’ diese zumindest bis heute nicht.

Der Weg in eine bessere Bürowelt ist frei!

Kurzum: In vielen Situationen liegt die Komplexität nicht beim einmaligen Erstellen eines Dokuments, sondern in der Frage, wie man mit Änderungen (oft durch mehrere Benutzer) langfristig umgeht. Wann immer das der Fall ist (und das ist es fast immer!), empfiehlt sich ein Lösungsweg abseits von Office-Dokumenten. Hier also ein paar Startpunkte:

  1. Für Graphen (wie etwa das Flussdiagramm oben) verwende ich Graphviz.
  2. Für Textdokumente aller Art verwende ich LaTeX.
  3. Protokolle, Projektpläne und ähnliche Daten liegen ohnehin besser in Form von Wikis vor.
  4. E-Mails sollten in Klartext gesendet werden. Damit bleiben die Inhalte durchsuchbar und auf allen (mobilen) Devices lesbar.
  5. Tabellenkalkulationen braucht man grundsätzlich nicht! Entweder man verwendet ordentliche Datenbanken, Programmierumgebungen oder einen Taschenrechner. (Über den Spreadsheet-Virus, der die Betriebswirtwelt befallen hat, werde ich vielleicht nochmal bloggen.)
  6. Für Berechnungen oder Diagramme empfehlen sich Programmiertools wie R, Processing oder Python.
  7. Bleiben Präsentationen und Bildverarbeitung: Hier ist der WYSIWYG-Ansatz wahrscheinlich der Richtige. Also keine Belehrung von meiner Seite;-)