Montag, 10. November 2008

ID3-Cover von Kopf bis Fuß

ID3 steht für Identify an MP3 wobei die aktuellen Versionen weit über das bloße Identifizieren hinaus gehen. In der Version 2.4 sind 83 Verschiedene Tags definiert die von "Internet radio station owner" bis "Original album/movie/show title" reichen. (Daneben kochen noch einige Player wie ITunes ihr eigenes Süppchen).

Versionen

In Version 1 gab es nur wenige Tags die auf eine fixe Größe begrenzt waren. (Zudem noch ein Haufen anderer Nachteile...) In Version 2 wurde vieles verbessert so ist zum Beispiel die Länge nicht mehr Fix und es gibt haufenweise neue Tag-Felder. Alle Versionen bis 2.3 gelten als veraltet. Und werden nur von wenigen Programmen und Geräten noch geschrieben. Die aktuelle Version ist 2.4 wobei man am häufigsten noch 2.3 antrifft.

Der Größte Unterschied zwischen 2.3 und 2.4 ist die Möglichkeit Tags nun auch als UFT-8 abzuspeichern (vorher nur ISO 8859-1 und UTF-16). Außerdem ist nun die Platzierung der Tags anpassbar. Bisher musste es immer am Anfang der Datei stehen was vor allem bei Streaming Probleme machen kann. Weiterführendes zu den Änderungen: in der offiziellen Doku.

Technische Umsetzung

Die gesamten ID3 Informationen beginnen immer mit einem Header. Dort ist gekennzeichnet, dass es sich um einen ID3 Tag mit der entsprechenden Version handelt außerdem sind dort noch Flags und die Größe angegeben.

Je nach dem wie es in den Flags angegeben wurde folgt danach ein extended Header. Dort lassen sich unter anderem einige Restriktionen machen die auch für das Cover interessant ist. So kann hier das Format (PNG oder JPEG) angegeben werden oder auch die maximale Auflösung wie zum Beispiel (256x256 oder kleiner).

Anschließend folgen die Tags auch Frames genannt. Der Header eines Frames besteht aus einer zum Teil kryptischen, eindeutigen Kennung wie TDEN für "Encoding time", der Länge der Daten und einigen Flags. Flags können zum Beispiel die Kodierung, ein Read-Only-Flag, Compression oder Verschlüsselung sein. Anschließend folgen die Daten selbst. Weiterführendes zu den Frames in der offiziellen Doku.

Zuletzt kann noch ein Buffer oder ein Footer kommen.

Image-Tag

Nun zum eigentlichen Image-Tag: Nicht erst seit ITunes Cover-Flow möchte man gerne die Cover eines Albums mit abspeichern. Ist das Cover einfach in einer Datei enthalten hat man wieder die Probleme wie man die Datei benennt und außerdem muss man aufpassen das sie nicht mal verloren geht. (So macht es glaub ich der Windows Media Player indem er eine Folder.jpg anlegt. (die nebenbei auch von meinem N95 erkannt wird (Siehe unten (fast wie LISP :D)))) Deshalb geht man dazu über die Cover-Informationen im Track selber zu speichern. Dazu gibt es ein extra Frame mit der Kennung APIC. Hier kann man allerdings nicht nur das Cover abspeichern sondern eine Vielzahl weiterer Bilder die den Track betreffen. Hier die Komplette Auflistung aus Version 2.4:

  • Other
  • 32x32 pixels 'file icon' (PNG only)
  • Other file icon
  • Cover (front)
  • Cover (back)
  • Leaflet page
  • Media (e.g. label side of CD)
  • Lead artist/lead performer/soloist
  • Artist/performer
  • Conductor
  • Band/Orchestra
  • Composer
  • Lyricist/text writer
  • Recording Location
  • During recording
  • During performance
  • Movie/video screen capture
  • A bright coloured fish
  • Illustration
  • Band/artist logotype
  • Publisher/Studio logotype

Es können auch mehrere Bilder pro Datei mit unterschiedlichen Typen angegeben werden. Zu Jedem Eintrag kann dann noch eine Beschreibung eingetragen werden (Kodierung hier nicht vergessen einzutragen). Das Bild selbst sollte entweder ein PNG oder ein JPEG-Format haben kann aber auch alles andere sein da man den MIME-Type sowieso angeben muss.

Außerdem besteht noch die Möglichkeit als MIME-Type "-->" anzugeben und dann als Bild nur den Verweis auf eine Bilddatei zu speichern. Beispiel wäre: "../cover.png" oder "http://example.com/cover.jpg". Aber ob das ein Player unterstützt??

Test-Script

Die Kompatibilität ist sowieso der Grund warum ich mich mit der Thematik beschäftigt habe. Mein neues Handy (Nokia N95) wollte nur ein Teil meiner Covers erkennen. Um zu Testen was es kann habe ich mir folgendes Skript gebastelt was MP3-Dateien in allen möglichen Kombinationen erstellt.

Also zum Beispiel das Bild als "Cover (front)" im PNG-Format und ID3v2.4 wäre eine denkbare Kombination.

Das Script benötigt Python und die eyeD3 Library. Zudem wird ein Soundfile benötigt (ich hatte complete.mp3 mit 4 Sekunden Länge) und ein Bild in den entsprechenden Formaten (ich hatte ok.{png,bmp,jpg,gif}). In dem Download-Package ist beides vorhanden.

import eyeD3
from shutil import copy

filename = "complete.mp3"
imagefile = "ok."
versions = [eyeD3.ID3_V2_3, eyeD3.ID3_V2_4]
formats = ["bmp", "gif", "jpg", "png"] 
id = 0 

for type in range(eyeD3.frames.ImageFrame.MIN_TYPE, eyeD3.frames.ImageFrame.MAX_TYPE + 1): 
  for version in versions:
    for format in formats:
      str = { 
            "id"      : id
          , "type"    : eyeD3.frames.ImageFrame.picTypeToString(type)
          , "version" : eyeD3.utils.versionToString(version)
          , "format"  : format
      }   
      newFilename  = "test-%(id)03d-%(type)s-%(version)s-%(format)s.mp3" % str 
      copy(filename, newFilename)
      tag = eyeD3.Tag(newFilename)
      tag.remove(eyeD3.ID3_ANY_VERSION)
      tag.header.setVersion(version)
      tag.addImage(type, imagefile+format, u"")
      tag.update()
      id+=1

Es werden so 167 Dateien erstellt die entsprechend benamt sind. Nun kann man damit sein Player füllen und sehen was er alles unterstützt. In meinem Fall konnte das Nokia N95 nur JPEG im korrekten "Cover (Front)"-Feld wobei ihm die Version (ID3v2.{3,4}) egal war.

Testen, Testen, Testen

Ich musste das ganze natürlich gleich mit ein paar Programmen ausprobieren. Amarok konnte natürlich alles darstellen ebenso ITunes. Der Windows-Explorer hingegen schafft unter Vista leider nur ID3v2 dafür aber auch alle Formate. Winamp schafft mit Plugin grade einmal JPEG-Formate.

Wenn ihr noch etwas testet dann lasst mir doch die Ergebnisse zukommen. Ich werde sie hier auch noch rein stellen. Dazu habe ich kein Archiv mit den benötigten Dateien gepackt welches hier runtergeladen werden kann: download

Der Fisch

Aufmerksamen Lesern wir das Feld "A bright coloured fish" aufgefallen sein. Ich habe echt kein Plan für was das gut sein soll. Ich finds ein sehr lustiges Easteregg :D. Wenn jemand den Fisch in freier Wildbahn findet muss er mir unbedingt Bescheid sagen!

eye3D kommentiert es nur folgendermaßen: BRIGHT_COLORED_FISH = 0x11; # There's always room for porno.

Montag, 4. August 2008

Backups

Für eine anständige Backup-Strategie bin ich schon fast so lange am überlegen wie für meine Groupware-Verwaltung. Nachdem ich mir extra dafür eine externe 500 GB Festplatte gekauft hatte, fehlte nur noch die passende Softwarelösung. Neidisch schaut man im ersten Moment auf Apple's TimeMachine. Rein Objektiv ist dies aber auch nichts anderes als ein Inkrementelles Backup mit kurzen Iterationszeiten und einer netten GUI. Alternativen für Linux wie Flyback sind vorhanden. Allerdings ist dies nicht die einzige Möglichkeit eines sinnvollen Backups.

Fakt ist wohl, ein Backup sollte möglichst nicht jedes mal eine eins-zu-eins Kopie anlegen, da so viel zu viel Speicher verbraucht wird. Lösung sind Inkrementelle oder Differenzielle Backups. So werden nur die Änderungen gespeichert die sich verändert haben. Fast jede Lösung bietet dieses Konzept mittlerweile an. Außerdem wollte ich ein Backup auf Datei-Ebene und nicht auf Partitionsebenen wie es zum Beispiel das Tool dd anbietet. Da ich denke so Flexibler bin und außerdem glaube ich nicht das Inkrementelle Backups auf Partitionsebene möglich ist.

Zuerst plante ich ein Backup mit einem Selbstgeschriebenden Skriptes. Über die Linux-Boardmittel lassen sich eine Vielzahl der der Anforderungen wie Verschlüsselung und Komprimierung recht einfach implementieren. Allerdings wenn man alle Möglichkeiten mit allen kombinieren möchte so wird es irgendwann richtig komplex. So habe ich meine ersten Versuche verworfen und plante mit einem umfangreichen Backup-Programm wie BoxBackup oder Bacula. Hier habe ich aber auch recht schnell erkannt das diese für große Netzwerke ausgelegt sind und für meinen kleinen Laptop etwas überdimensioniert sind. Etwas einfaches musste her!

Über Chaosradio bin ich auf ZFS gestoßen. Ein Filesystem mit einer unglaublichen Feature-Liste. Angefangen von automatischer Größen-Anpassung von Partitionen über automatische Komprimierung bis hin zu gesicherter Konsistenz des Dateisystems bietet es alles was man sich wünschen kann. ZFS bietet auch die Möglichkeit von Snapshots auf Block-Ebene an. Man kann die Daten, die sich geändert haben, einfach über die alten drüber kopieren und anschließend ein Snapshot machen. So hat man im Grunde jedes mal ein Vollbackup obwohl man nur die geänderten Blöcke speichern muss. Leider kommt ZFS aus der Solaris-Welt und kann in den Linux-Kernel im Moment wegen Lizenzproblemen nicht integriert werden. Es existiert zwar eine FUSE-Erweiterung, aber alles noch recht Beta. Das Risiko wollte ich leider nicht beim Backup eingehen und musste mich so nach Alternativen umschauen.

Das System mit den Snapshots hat mir aber gefallen und so bin ich auf das recht populäre Tool rsnapshot gestoßen. Das Programm setzt auf Hardlinks auf. Bei normalen (Soft-)Links hat man eine Datei und erstellt dann Referenzen auf diese Datei. Löscht man eine Referenz interessiert das niemanden. Löscht man die ursprüngliche Datei werden alle Referenzen ungültig. Bei Hardlinks referenziert man nicht auf eine Datei sondern auf ein INode-Eintrag. Also sozusagen eine Ebene Tiefer. Der Vorteil ist, alle Hardlinks sind gleichberechtigt. Die eigentlichen Daten werden erst gelöscht, wenn kein Hardlink mehr darauf verweist. Das Prinzip von rsnapshot ist dadurch recht einfach: Man kopiert das letzte Backup mittels Hardlinks in ein neues Verzeichnis und ändert dann über rsync die veränderten Dateien. So erhält man jeden Tag ein Vollbackup welches nur den Speicherplatz der Änderungen verbraucht.

Ein weiters sehr nützliches Feature ist die Möglichkeit eigene Scripte (z.B. um ein Datenbankdump zu erstellen) in das Backup einzubinden. Und wenn man zum Beispiel einen zweiten Computer mit sichern will, so ist es möglich Daten von diesem über ssh+rsync zu hohlen. Somit sichere ich mein Laptop mein Server und die Datenbank auf meinem Server recht einfach mit nur einem Programm

Leider kann rsnapshot, anders wie ZFS nur auf Datei-Ebene arbeiten. So wird eine Datei in der sich nur ein Buchstabe ändert komplett neu übertragen. Auch wird es nicht erkannt wenn man ein Verzeichnis oder eine Datei umbenennt. Auch in diesem Fall wird die Datei neu abgespeichert. Aber wenn man sich der Problematik bewusst ist, stört sie kaum.

Programme wie Storebackup umgehen das Problem indem sie zu jeder Datei Prüfsummen anlegen und diese vergleichen. Allerdings ergibt sich so ein worst-case-Aufwand von O(n^2) da ja jede Checksumme erst einmal erstellt, und dann mit jeder Datei verglichen werden muss. Man sieht schon, diese Lösung braucht um einiges länger als mein rsnapshot. (180 GB in ca 10 Minuten täglich bei einem diff von gerade mal einigen hundert MB). Außerdem wollte ich auch ein gut getestetes Konzept und habe mich so für das weit verbreitete rsnapshot entschieden satt das (evtl gar nicht mehr weiter entwickelte) Storebackup.

Und nun die Zuschauerfrage: Wie macht ihr eure Backups? Ich denke jeder der am Computer arbeitet braucht ein Backup, da Datenverlust nur eine Frage des Wann ist. Und wenn die Dateien nur einmal pro Woche auf DVD gebrannt werden. Auf jeden Fall würde mich euer Setup interessieren. Gerne auch in einem eigenen Blog-Post bei euch. Verlinkt euch einfach in den Kommentaren!

Freitag, 1. August 2008

Groupware Protokolle

Wer träumt nicht von einer zentralen Verwaltung seiner PIM-Informationen? Groupware-Systeme unterstützten diesen Prozess indem sie die Daten zentral verwaltet und verschiedene Schnittstellen anbietet. In vielen Fällen wird eine Groupware nach ihrem Web-Frontend bewertet. Leider spielt diese eigentlich nur eine sehr untergeordnete Rolle. Das Hauptproblem konzentriert sich darauf, möglichst viele Clients mit dem System verbinden zu können. Deshalb möchte ich kurz einige interessante Techniken auflisten um den Austausch der Daten zu Realisieren.

Formate

Zumindest hier zeichnet sich langsam ein Standard ab. Für Termine hat iCalendar (oder kurz ical) langsam den älteren Konkurrenten vCalendar abgelöst. Mit iCalendar lassen sich allerdings nicht nur Termine sondern auch todo's oder Journaleinträge damit verwalten. Leider ist das Format nicht ganz so schön (man ist ja langsam überall XML gewohnt) aber zumindest die meisten Datenfelder werden überall verstanden. Da man aber auch selbst Erweiterungen definieren kann, ist es doch möglich das Details in verschiedenen Anwendungen anders verstanden werden. Bei Kontakten hat sich vCard durchgesetzt, wofür weitgehend das selbe wie bei iCalendar gilt.

Protokolle

Leider sind dies ja nur Dateiformate. Meistens möchte man ja aber diese Daten zentral hinterlegen und mit verschiedenen Clients darauf zugreifen. Dazu sind einige Protokolle nötig, die diesen Transport realisieren. Hier möchte ich auch mein eigentliches Hauptaugenmerk legen.

Email

Hier ist es noch am einfachsten. POP ist Tot. IMAP ist Standard. Viel mehr muss man dazu nicht sagen. Interessant sind allerdings einige Erweiterungen für IMAP. Einmal wäre da IMAP-IDLE. Dabei meldet sich der Client am Server an und senden anschließend nur ab und zu keep-alive-Pakete. Der Server hingegen antwortet sobald eine neue Mail eintrifft. So hat man ein wunderbaren Mail-PUSH ohne jeden Aufwand. Erwähnenswert ist noch Sieve. Sieve. Stieve ist eine Programmiersprache in der sich Regeln wie zum Beispiel Abwesenheitsnachrichten, oder Spamregeln definieren lassen. Außerdem ist meistens nicht bekannt das man mit IMAP auch komplexe ACL's definieren kann. So ist es möglich ein Postfach auch mehreren Personen zugänglich zu machen.

Kalender und Kontakte

XML-RPC

Einige Projekte wie eGroupware oder PHProject setzten auf XML-RPC zur Synchronisation. Zwar lässt sich so sehr einfach dagegen programmieren aber leider ist dies immer sehr Spezifisch auf die einzelne Anwendung. Deshalb finde ich diese Idee nicht sonderlich toll. Lieber ein standardisiertes Protokoll für alle!

WebDav

Eine sehr einfache Möglichkeit ist der Einsatz von WebDav wie er auch von subversion benutzt wird. WebDav ist eine Erweiterung zu HTTP, die es ermöglicht Dateien auch hochzuladen. So kann man einfach die jeweilige Datei (ical oder vcard) auf dem Server plazieren und diese herunter laden oder eben wieder schreiben. Das Problem ist nur: Jedes mal muss die gesamte Datei mit allen Einträgen heruntergeladen werden und bei Änderungen auf dem Server übertragen. Das kostet Zeit und macht verteiltes Arbeiten recht schwierig.

GroupDAV

GroupDav ist eine kleine Erweiterung zu WebDav die einfach nur festlegt jeder Event oder Kontakt liegt in einer einzelnen Datei in einem jeweiligen Unterordner. So muss immer nur eine Datei übertragen werden. Diese Idee finde ich noch von allen die beste Möglichkeit da man so auch einfach den Ordner lokal für offline Arbeit zwischenspeichern kann.

IMAP

Kolab definiert versteckte IMAP Ordner. Der jeweilige Client speichert Kontakte oder Termine als Email in den jeweiligen versteckten Ordner mit entsprechendem XML-Anhang. Die gesamte Kommunikation läuft so über IMAP Ordner. Ist eine nette Idee, allerdings finde ich den Gedanken sehr unschön meine Kontakte und Termine als XML-Anhang an eine versteckte Email ranzukleben. Ist irgendwie sehr umständlich und sicher nicht Sinn der Sache.

SyncML

SyncML hat sich ja längst auf allen Handys festgesetzt und auch erste Plugins für Desktop-Anwendungen sind verfügbar. Dazu beigetragen hat sicherlich funambol (früher Sync4J). Dies ist ein freier SyncML-Server der von Google-Anwendungen über Groupdav bis hin zum IPhone alles miteinander Syncen kann.

Kalender only

CalDav ist spätestens seit es Google in seinem Kalender unterstützt etwas populärer als GroupDAV. Es basiert ebenfalls auf WebDav allerdings kann man auch komplexere Abfrage-Queries an den Server stellen. Das macht es einerseits natürlich etwas effektiver als GroupDav allerdings auch komplexer zu Implementieren. Für Apache gibt es übrigens ein CalDav-Modul. Leider muss man Apache dafür neue übersetzten (was ich auf einem Server sehr ungern tue).

Kontakte only

Hier ist sicherlich eine der wichtigsten Lösungen LDAP. Fast jedes Programm kann auf LDAP zugreifen. Es bietet sehr gute Such Möglichkeiten und ist einfach zu erweitern. Leider hat man hier immer das Problem das man auf ein LDAP nur lesend zugreifen kann. Will man Einträge hinzufügen oder bearbeiten muss dies manuell auf dem Server geschehen. Deshalb wird von vielen Groupware-Systemen LDAP nur als Read-Only-Verzeichnis genutzt. Die eigentlichen Änderungen laufen über andere Protokolle. Serverseitig werden diese dann ins LDAP überführt.

Sonstiges

Eigentlich erwarte ich von einer Groupware, dass sie mehr als nur Emails, Kontakte, Termine und Todos unterstützt. Allerdings sieht es hier noch schlechter aus, als in den anderen Bereichen. Wünschenswerte Features wären zum Beispiel RSS (was leider meistens nur read-only für den Client ist. Also sprich der Client kann dem Server nicht mitteilen welche Items ich gelesen habe. Kennt hier jemand eine Lösung??), XMPP, IRC (Wäre doch Klasse wenn der komplette Verlauf, zum jeweiligen Kontakt, zentral abgespeichert wird) oder auch Bookmarks (ganz im grandiosen (neuen) delicious.com-Style). Aber von solchen Ideen sind wir wohl noch ähnlich weit entfernt wie zu dieser Vision: Assoziative Gedächtnishilfe für mobile Datensammler

Ich hoffe ich konnte kurz einen Überblick über mögliche Techniken geben. Vielleicht kanntet ihr ja das ein oder Andere noch nicht. Sollte ich was vergessen haben, einfach in den Kommentaren melden! Zum Schluss mein Wunsch-Setup: IMAP (mit IDLE und Sieve), GroupDav, LDAP (read-only) und Funambol-Connector. SOGo (ein Fork von OpenGroupware.org) bietet mir zwar genau das, allerdings habe ich mit dem Kompilieren des Objective-C Quellcodes einige Probleme ;-).

Anmerkung 1: Ich konnte (noch) nicht alle Produkte und Protokolle ausprobieren, deshalb sind die Kommentare alle nur persönliche Empfindungen

Anmerkung 2: Mir ist aufgefallen ich verlinke sehr wenig auf andere Seiten. Ich hab diesmal sehr viel (vor allen) auf Wikipedia verlinkt. Findet ihr das besser?

Freitag, 25. Juli 2008

Wissen ist nutzlos - Weisheit ist Macht!

Man wird die gesamte Schulzeit, und leider nun im Studium auch noch weitgehend, darauf getrimmt Dinge einfach zu Wissen. Großteils geschieht dieser Vorgang durch stupides Auswendiglernen relevanter Teilbereiche. Selbst bei Mathematik oder Physik, die beide sehr viel mit Verstehen zu tun haben, muss man manchmal einfach Definitionen oder Rechenvorschriften auswendig lernen. Und sogar Deutsch bleibt nicht verschont. (Ich erinnere mich noch mit Grauen daran, als ich die Gliederungssymbolreihenfolge im Inhaltsverzeichnis von Textanalysen auswendig lernen musste). Und am Ende hat kann man zwar Teile auswendig, aber wirklich viel mehr weiß man dadurch nicht. Das Beigebrachte beschränkt sich meist nur auf einige kleine Teilaspekte, die bis ins letzte Eck beleuchtet werden, und doch werden andere zum Teil grundlegende Themengebiete weg gelassen. Und spätestens nach der Prüfung ist sowieso alles vergessen.

Man sieht oft nicht den Sinn hinter dem Ganzen. Das gesamte Lernen erscheint einem als unnötige Zeitverschwendung. Der beste Weg ist diese Methodik sicher nicht, allerdings darf man nicht in die Einstellung verfallen, man müsste nur lernen was man später auch einmal braucht. Vieles von dem was man lernt sollte als Allgemeinbildung angesehen werden. Außerdem denke ich, eine Schulnote im Zeugnis repräsentiert nicht zwingend den Wissenstand sondern viel mehr die Motivation etwas zu lernen (auch wenn es einem zeitweise als unwichtig erscheint).

Nun ist es aber so dass sich das gesamte Wissen unserer Gesellschaft ca. alle 5 Jahre verdoppelt!! (Leider habe ich für die Behauptung keine gute Quelle. Allerdings habe ich mehrere Angaben zwischen 2 und 7 Jahre gefunden). Dieser unglaubliche Wissenswachstum lässt jegliches Auswendiglernen gradezu lächerlich erscheinen. Früher gab es immer das Zitat "Wissen ist Macht" ich denke aber, im Kontrast zu der momentanen, rasanten Forschung sollte man dieses Zitat, nach fast 400 Jahren, doch noch einmal überdenken. Es ist heute schon unmöglich auch nur in einem Teilbereich alles zu wissen. Und so gewinnt die oben genannte Schul- oder vielmehr Lehrkritik wieder an Bedeutung.

Ich denke eine gewisse Allgemeinbildung muss vorhanden sein, allerdings sollte im allgemeinen (und nicht nur auf die Schulen bezogen) Detailwissen viel weniger von Bedeutung sein. Es sollte mehr auf Strukturierte Informationsaufbereitung und -verarbeitung Wert gelegt werden, als auf die Informationen selbst. Wie man so schön sagt: "... man muss nur wissen wo es steht". Zudem gewinnt Erfahrung und breitgefächertes Kenntnis immer mehr an Bedeutung.

Gerade für uns Informatiker stellt sich immer wieder das Problem der richtigen Informationsverwaltung. Ich habe zum Beispiel im Moment 174 Rss-Feeds abonniert, von denen ich pro Tag mehrere Hundert neue Beiträge bekomme. Davon schau ich mir ca. 60 an und lese vielleicht gerade einmal 10. Hinzu kommt noch IM und EMail. Um keine Informationen zu vergessen sammle ich seit langem Links bei Del.icio.us und habe mir ein privates Wiki aufgesetzt um Wichtiges länger zu speichern. Doch das wichtigste Mittel um den Informationen Herr zu werden ist und bleibt die Volltextsuche. Semantische Auszeichnung und automatisierte Verarbeitung durch KI ist noch ein ferner Traum obwohl die Grundsteine gelegt sind. Bleibt abzuwarten was sich auf diesem Feld tut. Ich persönlich denke diese maschinelle Verarbeitung wird über kurz oder lange ein wichtiger Hauptbestandteil unserer Informatik.

Wahrscheinlich lernt man irgendwann in der Schule keine Jahreszahlen mehr sondern nur noch Suchbegriffsyntax, reguläre Ausdrücke und ganz wichtig die Bewertung von gefundenen Informationen... Ist dann Wissen überflüssig? Ob diese Vorstellung so viel besser ist?

Sonntag, 13. Juli 2008

GEZ ein unabdingbares Übel - Teil 2

Heute wie versprochen den zweiten und letzten Teil meiner Pro-Contra-Argumentierung zur GEZ. Nachdem ich im ersten Teil geschrieben habe warum ich die Rundfunkgebühren gut finde gibts heut meine Meinung warum ich die GEZ schlecht finde.

Mhmm, interessting ... but!

Wie vorher schon angekündigt, stehe ich nicht dem Abrechnungssystem als ganzes Kritisch gegenüber, sondern viel mehr der GEZ an sich. Leider wird Kritik an den Methoden der GEZ und dem der gesamten Gebührenverwaltung oft vermischt obwohl sie eigentlich nicht viel miteinander zu tun haben.

Vor allem seit Anfang 2008 die sogenannte Abgabe auf neuartige Rundfunkempfangsgeräte in Kraft getreten ist, werden immer wieder Beispiele herangezogen um die Abbrechungen zu kritisieren. Sicherlich sind Fälle wie "Wenn der Sohn ein Einkommen hat, bei den Eltern wohn und einen eigenen Fernseher nutzt muss dieser auch angemeldet werden" oder "Wenn ein Computer bei einem Selbstständigen in einem abgetrennten Arbeitszimmer steht so ist zusätzlich ein gewerblicher Gebrauch anzumelden" nicht gerade schön zu lesen, allerdings halte ich nichts davon, ein System aufgrund von Einzelfällen zu bewerten. Ich denke die Berechnung hat einige gravierende Lücken und ist sicher nicht mehr auf dem aktuellen Stand, allerdings ist eine hundertprozentige Zufriedenheit aller Beteiligten bei solch komplexen Angelegenheiten unmöglich.

Ob nun eine Abgabe auf Computer und Handys zulässig sind oder nicht lässt sich lange diskutieren. Ich möchte in diesen Bereich auch gar nicht zu tief wühlen da ich mir selber keiner Meinung sicher bin. Einerseits ist es fraglich in wie weit, mit zum Beispiel dem Handy, Dienste der ÖR genutzt werden und ob eine Video-on-Demand Lösung, wie sie aktuell üblich ist, mit dem ursprünglichen Streaming-Gedanken von Radio oder Fernsehen vereinbar ist. Auf der anderen Seite bieten die ÖR ein sehr umfassendes und vor allem qualitativ hochwertiges Angebot im Internet, so dass eine Zahlung eigentlich schon gerechtfertigt ist. (Notiz am Rande: Selbst Chaosradio ist durch Rundfunkgebühren finanziert).

Sicherlich ein sehr größer Kritikpunkt ist die Datenspeicherung der GEZ. Die GEZ hat zentral mehr Daten über die Bundesbürger gespeichert, als alle Einwohnermeldeämter zusammen. Die GEZ bekommt nicht nur Adressdaten von Einwohnerämtern sondern kauft diese auch extern bei kommerziellen Adresshändlern ein. Zudem kommen noch einige freiberufliche Gebührenfahnder die provisionsbasierend Arbeiten. Sollte man einmal bei der GEZ gemeldet sein so bleiben die Daten auch vorhanden selbst wenn man sich wieder abmeldet. Somit verfügt die GEZ bundesweit über den umfassendsten Datenbestand zu Privatpersonen. Intern beschäftigt die GEZ zwar Datenschutzbeauftragte allerdings wird sie nicht extern kontrolliert so dass immer wieder Datenschutzvergehen auffliegen.

Die GEZ hat (zurecht) mit einem sehr negativen Bild zu kämpfen. Schaut man sich die Briefe, die Werbung oder auch das Vorgehen der Außendienstmitarbeiter an, so erkennt man ein sehr restriktives Vorgehen, bei dem der Anschein erweckt wird man muss augenblicklich mit drakonischen Strafen rechnen, da man ein zu einem Verdächtigen in einem Kapitalverbrechen degradiert wurde. Auf der anderen Seite versucht die GEZ ihren Ruf zu verbessern indem sie Medien abmahnte, die als Beispiel statt Rundfunkgebühr von einer GEZ-Gebühr sprachen oder das Wort Rundfunkgebührenbeauftragter durch einen GEZ-Fahnder vereinfachten. Leider scheinen die Verantwortlichen noch nicht begriffen zu haben dass man sein negatives Bild nicht durch Abmahnungen gegen eben diese negative Einstellung bereinigt.

Alles in allem muss ich sagen ich finde es gut, dass es die Rundfunkgebühren gibt und auch das System mit dem sie eingetrieben werden. Nur kann ich auf der einen Seite die Berechnungskriterien nicht immer nachvollziehen und auf der anderen Seite sind die Verfahren der GEZ in keinster Weise tolerierbar.

Disclaimer

ALLES was in diesem Text geschrieben wurde basiert auf meinen persönlichen Ansichten und Ansichtsweisen. Da ich auf diesem Gebiet selbst nur Laie bin, und mir die Infos nur angelesen habe, schließe ich auch Inhaltliche Fehler und Unvollständigkeiten nicht aus. Berichtigungen und Kritik sind aber auf jeden Fall willkommen.

Samstag, 12. Juli 2008

GEZ ein unabdingbares Übel - Teil 1

Ist es nicht manchmal seltsam? Man findet etwas persönlich schlecht, weiß aber eigentlich, dass der Sachverhalt so korrekt abläuft. Genauso geht es mir mit der GEZ. Ich kann die GEZ, wie so viele andere auch, nicht leiden und doch weiß ich, dass eine Gebührenpflicht für Öffentlich-rechtlicher Rundfunk notwendig und gut ist.

Fangen wir mit den positiven Punkten der Rundfunkgebühr an. Aufgrund von aktuellen Beschwerden werde ich diesen Beitrag in zwei Teile aufsplitten. Heute gibts Pro-GEZ und morgen folgt das große Aber. Zusätzlich zu den normalen Kommentaren bitte ich heute mal auch Kritik zu den Beiträgen in die Kommentare zu schreiben. Findet ihr Splitten gut? Sind Beiträge zu komplex bzw. zu lange?

Gebührenverteilung

Kurz möchte ich meine Sicht der Gebührenverteilung erläutern. Diese Sicht ist zum einen etwas vereinfacht und zum anderen an dieser Stelle ein deutlicher Verweiß auf den Disclaimer am Ende des Beitrags.

Zentral von Bedeutung sind sicher erst einmal die Öffentlich Rechtlichen (ÖR), die dazu verpflichtet sind (siehe Grundgesetz Artikel 5 - Rundfunkfreiheit) ein von staatlichen Einflüssen unabhängiges Programm zu senden. Zusätzlich dazu ist eine Wirtschaftliche Unabhängigkeit aber ebenso von Bedeutung. Ziel dieser Bestimmung ist es eben eine gezielte Beeinflussung der ÖR zu vermeiden. Statt dessen sollen die betroffen Medien frei über staatliche und wirtschaftliche Misstände berichten dürfen, ohne an dieser Stelle von einer höheren Instanz eingeschränkt zu werden. In so weit sollte, denke ich, jeder mit der Notwendigkeit einer solchen Einrichtung übereinstimmen.

Das große Problem an dieser Geschichte ist allerdings die Umsetzung. Fakt ist, dass eine Finanzierung über Steuern unmöglich ist, da Steuern vom Staat erhoben und verteilt werden. Somit wäre eine staatliche Unabhängigkeit nicht mehr gegeben. Der Staat könnte, mit einem steuerfinanzierten System, willkürlich die ÖR durch Geldzahlungen (oder vielmehr durch ausbleiben von Zahlungen) in eine gewollte Richtung lenken.

Auf der Anderen Seite ist eine Finanzierung über zum Beispiel Werbeeinnahmen ebenfalls ausgeschlossen, da man hier die Einflussnahme der Wirtschaft nicht ausschließen kann. In Deutschland ist es durch die Duale Finanzierung allerdings trotzdem möglich auch durch Werbung Geldeinnahmen verbuchen zu können. Wichtig ist allerdings hier die Tatsache, dass ÖR (eigentlich) kein Gewinn erwirtschaften können. Eine Handlung/Haltung ausschließlich zur Gewinnmaximierung fällt an dieser Stelle also schon mal weg.

Eine Lösung die man dafür geschaffen hat ist die Gebühreneinzugszentrale der öffentlich-rechtlichen Rundfunkanstalten in der Bundesrepublik Deutschland (GEZ). Diese Verwaltungsgemeinschaft ist zum einen ebenfalls staatsfern organisiert, aber auch unabhängig von den ÖR. Sie nimmt das Geld der Empfänger, zieht seinen Anteil ab (ca. 2,2%) und verteilt den Rest auf die ÖR. So ist eine gerechte Verteilung an alle beteiligten Programmen gegeben.

Nun kann die GEZ nicht nach belieben Geld eintreiben. Die ÖR vermelden an die jeweiligen Länder (Rundfunkgebühren ist Ländersache) ihren Bedarf, der diese Vorschläge objektiv bewertet (Kommission zur Ermittlung des Finanzbedarfs der Rundfunkanstalten - KEF) und die Höhe der zu zahlenden Rundfunkgebühren festsetzt.

Missverständnisse

Durch dieses gesamte, zugegeben recht komplexe Modell, ist eine Unabhängige Berichterstattung der ÖR weitgehend sichergestellt. Da allerdings der Bürger unzufrieden ist wenn er Geld abdrücken muss, gibt es immer wieder rufe nach einem Abschaffen der Rundfunkgebühren beziehungsweise einem alternativen Abrechnungssystem. Vor allem Sätze wie "Warum soll ich für ÖR zahlen wenn ich doch nur RTL schaue?" hört man immer wieder. Aber auch wenn sich, vor allem bildungsfernere Gesellschaftsschichten, mit dem Angebot der aktuellen Privatsender zufrieden geben so ist eine Abbrechung nach Nutzen sehr fatal (und sogar per Gesetz ausgeschlossen). Die ÖR müsste mit ihrem Programm so versuchen ein möglichst breites Publikum zu erreichen, da sie auf die Zahlungen angewiesen sind. Resultat wäre kaum mehr ein wirtschaftlich und staatlich unabhängiges Medium sondern viel mehr eine sensationslüstere und unseriöse Berichterstattung wie sie bei den Privatsendern schon zum Standard geworden ist. Außerdem leben die ÖR davon dass Alle einzahlen und vielleicht kann man doch noch hoffen dass ich der ein oder andere Privatsendergeschädigte auf einen Öffentlich-rechtlichen Kanal verirrt.

Soweit zum Positiven Gedanken der GEZ. Morgen gibts den zweiten Teil mit meinen Negativen Erfahrungen.

Disclaimer

ALLES was in diesem Text geschrieben wurde basiert auf meinen persönlichen Ansichten und Ansichtsweisen. Da ich auf diesem Gebiet selbst nur Laie bin, und mir die Infos nur angelesen habe, schließe ich auch Inhaltliche Fehler und Unvollständigkeiten nicht aus. Berichtigungen und Kritik sind aber auf jeden Fall willkommen.

Mittwoch, 18. Juni 2008

Peinlich, Mozilla, Peinlich!

Mozilla wirbt seit Tagen für seinen Rekordversuch bei dem sie mit Firefox 3.0 die meisten Downloads in 24 Stunden erreichen wollen. Seit dies bekannt gegeben worden ist, steht die Frage im Raum, wie viele Downloads überhaupt nötig sind. Gerade habe ich die Antwort darauf gelesen:

Das Guiness muss den Rekord allerdings noch anerkennen, denn die Kategorie gab es bisher noch nicht. (via)

Das heißt im Grunde die Frage ist nicht ob man genug Rekordversuche zusammen bekommt sondern legentlich ob der Rekordversuch auch anerkannt wird. Wird er anerkannt hätte wohl auch ein Download gereicht. Wird er nicht anerkannt war sowieso alles umsonst. Und die ganzen 8,2 Millionen Leute hätten ihr Zertifikat wohl ganz umsonst ausgedruckt.

Ich fand die gesamte Aktion nur eine schlechte Marketing-Aktion die mein sowieso schon schlechtes Bild auf Mozilla nur noch mehr beschädigt hat. Allgemein scheint sich die PR-Abteilung, im Moment, komplett im Urlaub zu befinden. Nur so kann ich mir solche Vergleiche erklären. Allgemein versucht man die Masse durch absolut blödsinnige Werbetexte zu begeistern. So scheut man sich auch nicht davor, mit 100% Bio-Software zu werben. Traut man den Firefox Nutzern gar keine Intelligenz zu? Es ist jedenfalls schön zu lesen das ich mein Studium damit zubringe Blaupausen zu malen, die zeigen wie Software im innersten funktioniert. Wie muss man sich Bio-Software vorstellen? Darf ich nun meine Software nicht mehr zur Konservierung radioaktiv bestrahlen? Oder darf ich einfach nur keine synthetischen Schutzmittel mehr verwenden um meine Software frei von Bugs zu halten? Ich finde es gut das eine Firma auf die Idee gekommen ist mit Freier Software zu werben, aber dann soll man dem Kunden doch dies auch zumuten und nicht noch mehr verwirren.

Etwas weiter am Anfang lobt sich Mozilla damit nicht von "Profitmaximierung" getrieben zu werden. Auch diese Erkenntnis war neu für mich. Hat man nicht noch Ende letzten Jahres Thunderbird abgestoßen da dieser zu wenig Geld einspielt? Bei Firefox sieht das schon anders aus. Allein was Google, für die Suchleiste, an Geld rein steckt! Wenn man nun etwas die Gerüchte schüren möchte könnte man glatt behaupten Thunderbird geht zugunsten gmails unter. Wie man kurz darauf gesehen hat wurde es sogar den Core-Entwicklern zu bunt. Auch schön finde ich die Datensammlungspläne von Mozilla um "Einschaltquoten" von Webseiten zu ermitteln. Also so rein, wie sie Mozilla gerne hätte, ist ihre Weste nicht.

Was mich aber nun direkt an Firefox stört? Generell lässt sich das Problem mit dem Satz "Was die Masse gut findet kann nur schlecht sein!" beschreiben. Allerdings will ich mich, zumindest in diesem Post, nur auf das Problem Firefox beziehen. Am meisten stört mich Mozilla! Einmal aus den oben genannten Gründen auf der anderen Seite aber auch ihre Open-Source Politik. Klar Firefox ist (u.a.) unter der GPL veröffentlicht allerdings versucht, meiner Meinung nach Mozilla möglichst alles unter sich zu behalten. Wenn man mal überlegt was alle Open-Source Produkte gemeinsam haben sind dies wohl die Forks. Bei Firefox ist mir nur Flock bekannt. Alle anderen sind gescheitert weil Mozilla keinerlei Hilfe gibt. Ich erinnere mich noch an den Versuch Firefox der auf GTK+ basiert auf QT zu portieren. Leider ist das Projekt unter gegangen da Mozilla hier komplett dicht gemacht hat. Ein anderes Beispiel ist der Namensstreit zwischen Debian und Mozilla bei dem sich Debian vom Namen und Logo gelöst hat. Seit dem bin auch ich bin seit dem demonstrativ auf Iceweasle umgestiegen.

An Firefox merkt man finde ich ganz deutlich: Dieser Browser ist für die Masse gemacht! Es finden sich kaum Einstellungsmöglichkeiten und die Konfiguration erinnert mich an den GAU namens Windows Registry. Schon mal versucht Tastenkombinationen anzupassen? Oder gar einzustellen, welcher Dateityp mit welchem Programm zu öffnen ist? Klar, die Masse an Windowsnutzer braucht so was nicht. Die sind schon froh wenn im Gegensatz zum IE Webseiten korrekt angezeigt werden. Für die Windowsnutzer scheint die Software auch optimiert zu sein. Ich kann mir sonst nicht erklären warum Firefox unter Linux so langsam rendert. Allgemein leidet Firefox an dem Problem der Plattformunabhängigkeit. Dazu kann zwar Firefox selbst nichts, aber ich finde es immer unschön wenn sich ein Programm in keinster Weiße in den Desktop integriert. Bestes Beispiel ist hier wohl der Passwort-Manager. Klar Windowsnutzer kennen so etwas wie Integration nicht, aber gerade Mac OS und auch unter den Linux Desktops werden den Anwendern schöne Systeme geboten um gerade so etwas wichtiges wie Passwörter zentral abzuspeichern. Andere Beispiele finden sich ebenfalls zu Haufen.

Wozu allerdings Firefox etwas kann ist die Integration ins Internet. Klar, Firefox zeigt Webseiten an, aber damit ist es auch schon getan. Zum Beispiel die ursprüngliche Angekündigte Unterstützung von Microformats im Firefox 3 wurde schon nach kurzem in eine API für Erweiterungen herabgestuft. Flock geht, meiner Meinung nach, hier schon eher den richtigen allerdings ist auch dieser Browser weit davon entfernt mir zu gefallen.

Alternativen? Ich nutze auch noch Firefox! ... Leider. Es gibt zwar schon noch einige Browser wie, allerdings sind die alle nicht besser. Konqueror zum Beispiel gefällt mir echt gut, aber leider fehlen mir hier die Plugins. Das ist auch eins der wenigen Dinge die Firefox absolut genial hinbekommen hat! Opera ist leider nicht Frei, weshalb ich ihn auch nie ausprobiert habe. Und sonst? Für den Gnome Desktop gibt es noch einige kleinere Browser wie Epiphany oder Galeon allerdings sind auch diese nicht das Gelbe vom Ei.

Ich warte gespannt auf einen minimalistischen Linux-Fork. Einfach so Dinge wie Bookmarkverwaltung und Passwort-Manager weglassen und statt dessen auf Performance und Konfigurierbarkeit achten. Features sollten dann bei Bedarf einfach über Plugins nachgerüstet werden können. Auf jeden Fall denke ich das Firefox langsam aber sicher seinen Höhepunkt erreicht hat. Zeit für einen neuen Browser!

PS: Dieser Blogbeitrag ist zu 100% Biologisch abbaubar... Wenn er schon nicht ganz Objektiv ist ;-)