Freitag, März 31, 2006

SNA: Introduction to Social Network Methods

Ich bin beim Stöbern im Netz auf ein sehr gutes offenes Buch gestoßen: Introduction to Social Network Methods. Ich versuche gerade, die besten Stellen daraus ins Deutsche zu übersetzen. Wer mitmachen will, kontaktiere mich bitte. Allein kann ich es nicht schaffen.

Mittwoch, März 29, 2006

COM: Kommunikation ist alles...

...doch gesagt ist das leichter als getan.
Es gab in letzter Zeit einige technische Probleme mit meiner Anwendung, so dass ich diese sogar kurzfristig sperren musste (Grund war ein Bug im MS SQL Server: die Datenbank hat sich x-mal pro Sekunde neu gestartet...). Danach habe ich eine Mail rumgeschickt, dass die Anwendung wieder in vollem Umfang genutzt werden kann. Kurze Zeit später kamen Nutzer zu mir und wollten die Gründe für die Sperrung wissen und wie ich die Probleme gelöst habe. Das war kein motzen, sondern aufrichtiges Interesse. Dabei dachte ich immer, dass diese technischen Details keinen meiner Kollegen interessieren. Ich habe als Reaktion darauf eine Seite eingerichtet und im Hauptmenü verlinkt, in der ich die aktuellen Änderungen, aber auch Probleme, erkläre.

COM: Gebrauchtsoftware

Heute habe ich einen Artikel in der Computer Zeitung gelesen, der den aktuellen rechtlichen Stand zum Thema Weiterverkauf von Software diskutiert hat. Das ist ein interessantes Thema und der Autor, Prof. Bartsch, in Fachkreisen kein Unbekannter. Allerdings scheint er einen kleinen Substantivierungsfimmel zu haben: "Für die Bindung der Weiterverkaufbarkeit von urheberrechtlich geschützten Gegenständen an ihre Verkörperung in Sachen gibt es einen guten Grund". Verstanden? Ich übersetze: Es ist sinnvoll, dass urheberrechtlich geschützte Gegenstände nur dann weiterverkauft werden dürfen, wenn sie in einer Sache verkörpert sind.
Doch nun zum Inhalt: Der Grund ist, so liest man weiter, dass der Hersteller keine Kontrollmöglichkeit mehr hätte. Insgesamt bedeutet dies also, dass Original-CDs problemlos weiterverkauft werden können (natürlich muss der vorherige Besitzer alle verkauften Inhalte bei sich löschen), der Weiterverkauf von Lizenzen mit anschließendem Download aus dem Internet ist aber fraglich.

Dienstag, März 28, 2006

Event: Webmontag Köln

Informatik-Praxis bedeutet auch, sich über neue Entwicklungen auf dem laufenden zu halten. Und wie geht das am besten? Indem man sich mit Gleichgesinnten austauscht. Zu diesem Zwecke habe ich also einmal den Kölner Webmontag ausprobiert - und ich wurde wahrlich nicht enttäuscht.
Die Vorträge waren interessant, keine Frage. Allerdings war die soziale Komponente für mich wichtiger. Denn so viele Freaks zum Thema Web sind selten auf einmal anzutreffen.
Als nächstes plane ich, einmal an einem Treffen der Kölner Regionalgruppe der GI teilzunehmen. Da sind wahrscheinlich weniger Techies und dafür mehr Leute von der Business-Fraktion - ich bin jedenfalls gespannt.

Sonntag, März 26, 2006

Sonstiges: Gebt mir meine Daten zurück!

Ich habe schon seit einiger Zeit das Gefühl, nicht mehr Herr meiner Daten zu sein. Ob bei Amazon, Ebay, OpenBC oder meiner Bank. Überall habe ich Daten hinterlassen: eine richtige Spur durch das Web. Das Problem ist, dass es nur sehr schwer möglich ist, diese Daten zu überwachen. Ich hätte gern ein Programm, vielleicht ein Browser-Plugin, welches mir hilft, einen besseren Überblick zu bekommen, wer was (offiziell) über mich weiß. Toll wäre, wenn es ein offenes Protokoll gäbe, so dass in der Übersicht Accounts und damit Daten auch direkt gelöscht (zurückgefordert) werden könnten. Eine Webanwendung wäre mir für diesen Zweck übrigens zu heiß (ich will ja nicht, dass der Admin auf meine Rechnung shoppen geht).
Natürlich könnte man Missbrauch dadurch nicht verhindern. Aber trotzdem wäre das ein wichtiger Beitrag zum Datenschutz, denn aus besserer Übersicht folgt für die meisten Anwender bestimmt auch: bessere Datendisziplin!

Samstag, März 25, 2006

IMG: Animierte Banner - Eye-catcher oder Abschreckung?

Ich überlege gerade, ob es sinnvoll ist, auf meiner relativ puristischen Webseite einen Banner zu verwenden. Stößt das schon aus Prinzip ab? Oder zieht ein schicker Banner, vielleicht sogar animiert, immer noch an? Laut Wikipedia werden Werbebanner kaum noch beachtet, bzw. sogar als störend empfunden.
Mir fehlt auch irgendwie noch eine gute Design-Idee. Einen prolligen Aufmacher hätte ich aber schon :-)

Banner Mazanek

War eigentlich ganz einfach mit The GIMP zu erstellen, wie genau beschreibt beispielsweise Rebell im gimpforum.

Montag, März 20, 2006

IMG: Respekt den Graphikern

Ich dachte immer, dass man für die digitale Bildbearbeitung vor allen anderen Dingen viel Geduld braucht. Das stimmt schon. Natürlich ist es auch ohne eine ruhige Hand, Kreativität und Wissen um die Bedienung einer guten Bildbearbeitungssoftware so gut wie unmöglich, zu guten Ergebnissen zu gelangen. Dass allerdings auch ein nicht zu unterschätzender Anteil höherer Mathematik dabei ist, war mir nicht so bewusst. Ich bin beim lesen der Hypermedia Image Processing Reference aus dem Staunen gar nicht mehr raus gekommen. Da ist von Gaussian Smoothing die Rede, einer noch recht "harmlosen" Filteroperation. Weiter geht es mit Frequency Filters unter Nutzung von Fourier Transformation zur Abhilfe bei zu starkem Rauschen.
Meine Hochachtung vor der Graphikerzunft ist jedenfalls enorm gestiegen. Allerdings habe ich das dumpfe Gefühl, dass die meisten Graphiker die Mathematik nicht gerade parat haben, sondern einfach durch langjährige Erfahrung die richtigen Tools auswählen.
Wer Bildbearbeitung probieren möchte ohne ein teures Programm kaufen zu wollen, der ist bei The Gimp genau richtig aufgehoben. Es braucht etwas Einarbeitungszeit, aber wenn die Basics klar sind, entstehen sehr schnell brauchbare Ergebnisse.

Weblinks:

  • Grokking the GIMP: ein Superbuch, dass auch die theoretischen Aspekte nicht zu kurz kommen lässt

  • Gimp-Forum: Erstklassige deutschsprachige Unterstützung auch bei den ersten Schritten

Dienstag, März 14, 2006

COM: Informatik-Stammtisch

Bei mir in der Arbeit gibt es, über die Abteilungen verstreut, gar nicht so wenige Informatiker. Das Problem ist: Wir wissen nicht viel voneinander. Dabei könnten wir uns gegenseitig wahrscheinlich enorm beflügeln. Denn viele Ideen, die im eigenen Kopf entstehen, gewinnen in der Diskussion mit anderen erst so richtig an Fahrt.
Ich glaube, ich werde versuchen einen Informatik-Stammtisch zu gründen, mir muss nur noch ein guter Aufhänger einfallen.

Montag, März 13, 2006

Event: CeBIT - meine Highlights


  • Live Hacking (Sebastian Schreiber von SySS): Theoretisch war es mir schon klar, dass mit diversen Tools Hacking wohl nicht so schwer sein kann. Schließlich kriegen das ja auch die sogenannten Script Kiddies hin. Bekommt man die Angriffe jedoch einmal live vorgeführt, erhalten sie eine ganz neue Perzeption. Konkret vorgeführt wurde, wie sich anfällige Handys via Bluetooth kapern lassen (der Angreifer kann sich dabei beispielsweise als Headset ausgeben). Oder wie leichtsinnig etliche Webshops implementiert sind (Preise, Passwörter, etc. werden nicht selten sogar in der URL übergeben). Aber auch Angriffe auf ungepatchte WinXP-Systeme oder sogar Man-in-the-Middle-Attacken via DNS-Spoofing wurden gezeigt.

  • Kopf oder Zettel (Oliver Geißelhart): Viele Tipps und Beispiele wie man sich Vokabeln, Namen, Begriffe, ToDo-Listen etc. besser merken kann, hauptsächlich durch Vorstellung merk-würdiger Bilder im Kopf. Sehr interessant und inspirierend.

  • Rechtskonformer Umgang mit E-Mails der Arbeitnehmer im Unternehmen (Sven Tschoepe): Ein Überblick über die aktuelle Rechtslage. Kurz: Als Arbeitgeber hat man deutlich mehr Probleme, wenn man private Nutzung von E-Mails erlaubt. Aber selbst wenn diese verboten ist, dürfen maximal die Verbindungsdaten ohne weiteres eingesehen werden und nicht das geschriebene Wort (dieses nur bei Verdacht auf Preisgabe von internen Informationen oder Straftat etc.). Am besten sollte der Umgang mit E-Mails verbindlich und präzise vorgeschrieben werden, denn ohne Vorschriften gilt privates Mailen als ok. In Vereinbarungen auch unter Beteiligung des Betriebsrates können individuelle Lösungen, z.B. Einsicht bei Krankheit etc. erarbeitet werden. Der Vortrag hat für mich geklärt, dass Organizational Network Analysis via E-Mail ok ist, da nur die Verbindungsdaten genutzt werden.

  • Selbstmanagement (Heinz Schulz-Wimmer): Eigentlich kennt man die Probleme (und Lösungen) beim Umgang mit der Zeit ja nur zu gut. Aber: Es schadet nicht, Tipps für gutes Zeitmanagement immer wieder zu hören. Vielleicht setzt man sie ja dann sogar eines Tages um. Kurz: Termin-, Aktivitäten- und Informationsübersicht erstellen und pflegen, Workflow digitalisieren, Aufgaben priorisieren und feststellen, welche wichtig bzw. wenn nicht wichtig, dann wenigstens dringend sind, Posteingang zu festen Zeiten checken, usw.

Freitag, März 10, 2006

WWW: Why webwashing matters

Dinge gibt es, die glaubt einem niemand.

Ich nutze in der Arbeit das Paket itextsharp zum generieren von PDF-Dateien. Und da aufgrund eines Server-Updates die alte DLL aus irgendeinem wilden Grund nicht mehr funktioniert hat, habe ich ein Update dieser Bibliothek durchgeführt. Nur: Auf einmal gab es diverse komische Compilerfehler, z.B. dass die Methode getInstance nicht vorhanden ist usw. Ich habe also in der Doku nachgelesen, da stand es aber genau so drin, wie ich es gemacht hatte. Sehr strange. Dann habe ich auf der Produktdownloadseite von sourceforge ein Paket mit neuerer Doku gefunden, aber(!): Es befand sich aus einem mir absolut unerklärlichen Grund eine WMF-Datei in dem Doku-Archiv. Also hat unser toller Webwasher das ganze Archiv gleich nicht durchgelassen. Und da stand ich nun. Ich habe also mühsam im Quellcode der Bibliothek nachgeschaut und was musste ich feststellen? Irgendein Scherzkeks hatte die Groß- und Kleinschreibung verändert, weg von der Kamelnotation hin zur, ja wie nennt man das denn, sagen wir, WikiNotation.

DB: Böse Spritze

Da bin ich doch kürzlich fast auf einen alten Hut reingefallen. Und da das so leicht ging, möchte ich an dieser Stelle eine kleine Warnung aussprechen, um zusätzlich zu sensibilisieren. Es geht mir um SQL-Injection, eine Angriffsmöglichkeit, die in ihrer Schlichtheit und Nachvollziehbarkeit überrascht, in ihrer Gefährlichkeit aber kaum zu hoch eingeschätzt werden kann. Ein erfolgreicher Angriff kann im leichtesten Fall Eingaben manipulieren oder Daten ausspionieren, ebenso einfach ist es jedoch, die Datenbank in ihrer Struktur zu kompromittieren oder sogar Zugriff auf andere Systemressourcen zu erlangen.

Die Funktionsweise ist rasch erklärt. Werden im Quellcode der Webanwendung Datenbankanfragen aus den Eingaben leichtfertig zusammengesetzt, etwa in der Form

UPDATE Projekte SET ProjName='" + projname + "' WHERE ProjID='" + projid + "'"

so kann ein Angreifer mit SQL-Kenntnissen und Wissen um die Datenbank-Struktur durch geschickte Nutzung von Sonderzeichen eigene SQL-Befehle einschleusen.

Was tun?

Eine grundsätzliche Regel sollte es sein, keine System-Fehlermeldungen nach außen sichtbar werden zu lassen. Eigentlich selbstverständlich, da man die Nutzer ja damit nicht belasten will. Durch Provozieren solcher Fehlermeldungen kann ein Angreifer nämlich die nötigen Kenntnisse über Datenbank und Quellcode erlangen und dadurch seinen Angriff ohne viel Probiererei durchziehen.

Dem Angriff selbst kann widerstanden werden, indem die Nutzereingaben genau überprüft und dabei SQL-Sonderzeichen maskiert werden. Es gibt Bibliotheken für alle gängigen Systeme, die genau diese Funktionalität unterstützen.
Ein weiterer richtiger Schritt ist der Einsatz von STORED PROCEDURES und damit die Übergabe der Verantwortung für Parameter an den Datenbank-Server.

Weblinks:

Montag, März 06, 2006

SE: Makros - verdammt und nützlich zugleich

Office bietet schon zu viele Funktionen, als das man sie sich alle merken könnte. Diese Funktionen dann auch noch erfolgreich von VBA aus ansteuern? Da braucht es schon ein kleines Wunder... Oder einfach die Funktion "Makro aufzeichnen". Denn die Makros werden nicht in einer eigenen Makrosprache abgespeichert, sondern direkt in VBA umgesetzt (zumindest gilt dies für Excel). In dem auf diese Weise generierten Quellcode findet man dann leicht die nötigen VBA-Befehle. Aber Vorsicht, nicht erwarten, dass sich effizienter, knapper, gut lesbarer Quellcode ergibt. Saubermachen muss man ihn schon noch(!) selbst.

Donnerstag, März 02, 2006

SNA: Organizational Network Analysis

In Zeiten des Organizational Change sind Untersuchungen der Unternehmensstrukturen unverzichtbar. Dabei müssen insbesondere auch die informellen Netzwerke mitbetrachtet werden. So können beispielsweise informelle Führer identifiziert und besser genutzt, Engpässe gefunden und entlastet und isolierte Mitarbeiter besser eingebunden werden.

Meiner Einschätzung nach gibt es zwei mögliche Vorgehensweisen:

  • Alle Angestellten müssen ein Formular ausfüllen, mit welchen Leuten sie zusammenarbeiten.
    Das hat zwei Nachteile. Erstens: Es macht sehr viel Arbeit alle Beziehungen anzugeben und zu spezifizieren. Die Gefahr des absichtlichen oder unbeabsichtigten Vergessens ist ziemlich groß. Zweitens: Der Ego-Faktor. Sorgen über das Ergebnis der Untersuchungen, Interessenskonflikte, Selbstbeweihräucherung, etc. können das Ergebnis signifikant verfälschen. Manipulationen sind relativ schwer zu erkennen. Deshalb müssten über jede Beziehung detaillierte Angaben gemacht werden (was allerdings wiederum den Vergessen-Effekt negativ verstärkt).
    Vorteile dieser Vorgehensweise sind, dass die Leute sich selber ihrer Arbeitsbeziehungen bewusst werden (müssen) und dass sich prinzipiell sehr detailgetreue Daten gewinnen lassen. Die Motivation zur Befüllung kann verbessert werden, indem dadurch auch dem Einzelnen Vorteile entstehen, z.B. eine gute Übersicht mit Telefonverzeichnis o.ä.

  • Vorhandene Daten könnten ausgenutzt werden. Zum Beispiel machen die Angestellten durch ihr Mailverhalten eine implizite Aussage über ihre Arbeitsbeziehungen. Die Mailinhalte müssen natürlich heilig bleiben, aber schon allein durch Auswertung der Froms und Tos sollten viele Aussagen möglich sein.
    Vorteile: Dies ist um Größenordnungen weniger aufwändig und schlechter zu manipulieren.
    Nachteile: Datenschutz, mögliche Empörung der Leute (vielleicht aus einem schlechten Gewissen heraus?) sowie Qualität der gewonnenen Daten. Ich vermute allerdings, dass die Qualität mit steigender Menge der Eingangsdaten immer besser wird.


Die genaue beste Vorgehensweise hängt von ihrem Unternehmen ab. Wie offen sind die Leute, wie willig, etwas zum Besseren zu verändern? Deshalb kann meine Empfehlung hier nur lauten: Bilden Sie eine Arbeitsgruppe, die die Vorgehensweise zusammen mit der Personalvertretung abstimmt.

Eines ist gewiss, je mehr Sie wissen, desto bessere Entscheidungen können Sie treffen. Wer nicht handelt, wird behandelt.

Weblinks:

Mittwoch, März 01, 2006

DB: Verlass dich nicht auf informelle Konsistenz

Unter informeller Konsistenz verstehe ich vermutete, weil "logische" Konsistenz. Äh, das verstehe ich selbst nicht mehr, also ein Beispiel: Es ist wohl ziemlich logisch, dass in einer Datenbank in einer Tabellenspalte Gesamtausgaben die Summe der Einzelausgaben für ein Projekt über die verschiedenen Jahresscheiben abgebildet wird. Unter dieser Annahme könnte ich ein auslaufendes Projekt im Programm also identifizieren, indem ich prüfe, ob die Summe der Gelder bis zum aktuellen Jahr gleich den Gesamtausgaben ist. Aber Vorsicht! Das kann schief gehen. Durch das unschöne Design der Datenbank, dass die Gesamtausgaben nicht per Sicht on the fly berechnet, sondern direkt abgespeichert werden, ist Konsistenz pure Hoffnung. Wann immer möglich ist es also zu empfehlen, einen anderen Weg zu beschreiten, z.B. indem im Code direkt alle zukünftigen Jahre auf 0 geprüft werden.
Alternativ kann Konsistenz übrigens durch Datenbank-Constraints sichergestellt werden. Wenn die Datenbank aber fremdadministriert ist, sind die Möglichkeiten hierfür vielleicht stark begrenzt.

Nota bene: Konsistenz ist eine der vier sogenannten ACID-Eigenschaften, die von Datenbanken erwartet werden.