Mobiltelefon-Betriebssysteme

Heutige Mobiltelefone sind meisten kleine Computer, die abgesehen von den Bedienelementen und der Anzeige etwa dem Stand eines Laptop- oder Desktopcomputers von vor 10 Jahren entsprechen. Das trifft für die sogenannten Smartphones zu, aber wohl auch für einen Teil der nicht als Smartphone bezeichneten Geräte. Witzigerweise gibt es sogar dieselben drei Betriebssysteme, die wir auf Desktoprechnern heute häufig finden, jeweils in Varianten für Mobiltelefone, wobei Linux bei den Mobiltelefonen in Form von Android klar dominiert, was beim Destop ja erst für 2014 erreicht werden könnte ;-), während das MS-Windows-Phone im Gegensatz zu seinem großen Bruder auf dem Desktop eher eine Randerscheinung ist.

Nokia war Anfang 2011 mit Symbian Marktführer und hatte mit Maemo und Meego aussichtsreiche Systeme in der Entwicklung, um diesen Stand zu halten, hat sich aber selbst abgeschossen bzw. ist vom Management versenkt worden und jetzt nur noch ein unbedeutender Nischenanbieter für diejenigen, die gerne ein MS-Windows-Mobiltelefon haben wollen und dieses nicht von einem der ostasiatischen Anbieter kaufen. Die Entwicklungsabteilungen sind 2011 weitgehend abgewickelt worden, aber vielleicht ist das auch eine Chance für innovative Startup-Firmen, die in Finnland und anderen ehemaligen Nokia-Standorten sehr gute Entwickler für Mobiltelefone und Mobiltelefonsoftware finden können. Eine solche Startup-Firma ist Jolla, die das ehrgezeige Ziel verfolgen, mit einem kleinen Teil der ehemaligen Nokia-Entwickler an die Tradition dieser Firma anzuknüpfen und die besten Mobiltelefone zu bauen. Ob das ein Erfolg wird, werden wir sehen, es ist sicher noch zu früh, darüber etwas zu sagen. Und was die besten Telefone sind, darauf gehe ich weiter unten noch kurz ein.

Blackberry (bzw. damals als Firma noch RIM) hatte für ein Marktsegment ein gutes Telefon mit einem Gesamtkonzept angeboten und für den Zweck, EMails zu schreiben, sind diese Geräte mit einer echten Tastatur wohl immer noch den reinen Touch-Screen-Geräten von Samung, HTC und Apple überlegen, aber ihr Marktanteil ist trotzdem zurückgegangen. Waren „Coolness“ und „Mode“ und die bessere Spielesammlung wichtiger als ein zweckmäßiges Arbeitsgerät? Oder reicht es in der Regel, die Mails unterwegs lesen zu können? Wir werden sehen, ob die neuen Blackberry-Geräte nach dem „Relaunch“ diesen Trend aufhalten können.

Android ist sicher im Moment mit großem Vorsprung Marktführer, was Apple mit iOS trotz Hype nie war und wahrscheinlich auch nicht mehr werden wird, weil sie ihren Zenit schon überschritten haben und jetzt auf dem absteigenden Ast sind. Wir werden in ein paar Jahren sehen, ob Apple es schafft, sich als Nischenanbieter zu stabilisieren. Man weiß nicht, was die Zukunft bringt, aber es lässt sich doch heute erkennen, dass Leute, die Android und iOS-Telefone (oder sagen wir Samung- und Apple-Geräte?) kennengelernt haben, meistens die Android-Geräte präferieren. Den „Coolness“-Faktor haben heute selbst in der sehr Apple-orientierten Schweiz eher die Top-Android-Geräte. Da nun das Apples Geschäftsmodell mit dem App- und Musikstore sehr auf einen Massenmarkt fixiert ist, wird es spannend, wie es sich auswirken wird, wenn der Rückgang nicht nur in Marktanteilprozenten, sondern auch in absoluten Zahlen spürbar wird. Aber es ist ja gut, dass wir eine gewisse Vielfalt und damit einen Wettbewerb der Systeme haben.

Auf der Linux-Seite gibt es übrigens noch andere Systeme außer Android, die interessant werden können. Fast zu viele, könnte man sagen. Maemo ist auf dem Nokia N900 eingesetzt worden, mir sind aber keine zukünftigen Mobiltelefon-Projekte bekannt, die Maemo verwenden wollen. Meego war ein gemeinsames Projekt von Nokia und Intel, das auf dem N9 zum Zuge kam und für das es gerüchteweise Entwicklungen bei Nokia gab, um recht „kleine“ Smartphone zu bauen, die relativ wenig kosten, wenig Strom verbrauchen oder nicht so schwer und groß im Gepäck sind, aber diese Entwicklungen sind alle eingestellt worden, bevor die ersten Geräte damit erschienen sind, deshalb werden es wohl Gerüchte bleiben. Meego selbst wird wohl von keinem großen Anbieter mehr verfolgt, aber daraus sind Tizen, das Samsung in Zukunft verstärkt einsetzen möchte, und Sailfish von Jolla entstanden. Nun gibt es noch ein Ubuntu-Derivat für Mobiltelefone, Ubuntu Mobile, FirefoxOS und vielleicht noch WebOS. Eine schöne Sammlung an Systemen und wer noch ein altes Zweit-Smartphone hat, kann vielleicht sogar ein paar von diesen Systemen ausprobieren. Vielleicht mache ich das selber auch einmal, dann wird es hier Erfahrungsberichte gbeben…

Da die allermeisten Anwender, zu denen ich mich auch zähle, das Betriebssystem nutzen, das mit dem Telefon ausgeliefert wird, ist die Frage also auch, was die Gerätehersteller so anbieten werden. Vielleicht wird es aber auch wie bei Desktop- und Laptop-Computer Angebote geben, die nur die reine Hardware verkaufen und dem Benutzer die Wahl lassen, welches der Systeme darauf installiert wird? Wenn sich für die Entwicklung von Mobiltelefonapplikationen HTML5 weitgehend durchsetzt, wird es auch kein Nachteil mehr sein, eine seltene Plattform zu haben. Zumindest von Sailfish weiß ich aber auch, dass sie auch die Möglichkeit vorsehen, Android-Apps zu installieren und auszuführen, was vielleicht nicht so schwierig ist, da ja beides Linux-basierte Systeme sind, allerdings ist die Grafikschicht wohl sehr verschieden, was doch noch eine größere Hürde sein könnte. Interessant ist noch, dass der Linux-Kernel bei diesen Systeme praktisch derselbe Linux-Kernel ist, der auch auf größeren Systemen bis zu den größten Supercomputern läuft, abgesehen von kleineren Unterschieden bedingt durch die Prozessorarchitektur und die Versionsnummern. Wie es bei iOS und MS-Windows-Phone ist, ob diese Systeme viele Gemeinsamkeiten mit ihren großen Brüdern MacOS X und MS-Windows haben oder nur kleine Teile gemeinsam nutzen und einfach gemeinsam vermarktet werden, weiß ich nicht.

Welches System ist nun das beste? Ich denke, dass das jeder selber entscheiden möchte. Die Grundfunktionen, die man eigentlich braucht, können alle. Das sind gar nicht viele:

  • Telefonieren
  • SMS (ja, dafür gibt es Flatrates)
  • Licht, um ein Schild zu lesen oder ein Zahlenschloss zu öffnen oder so
  • Fotografieren (ja, da gibt es Unterschiede, Nokia soll mit dem am besten gewesen sein)
  • Musik hören
  • EMails lesen und schreiben (beim Schreiben sind Geräte mit physikalischer Tastatur wie Blackberry oder N900 im Vorteil)
  • Webseiten lesen, Webapplikationen verwenden (das können alle)
  • Landkarten und Navigation (da ist Android gut, Nokia war noch etwas besser und Apple will und wird das auch irgendwann einmal können)
  • Kalender
  • Uhr
  • Wecker

Und natürlich braucht man noch sehr viele Apps, was ich auf dem N900 auch habe, obwohl das ein eher seltenes System ist. Ja, einige Apps sind schon schön zu haben, wie zum Beispiel die SBB-App oder das Äquivalent von der deutschen Bahn, die man nur für Android und iOS bekommt, aber dort helfen auch die entsprechenden Web-Applikationen ganz gut weiter. Aber wenn man die Unmengen an Apps anschaut und diejenigen, deren Funktion sich gut durch vorhandene Webapplikationen ersetzen lässt oder die nicht wirklich viel bringen, aussortiert, bleiben sicher ein paar interessante Apps übrig, die man vielleicht sogar in die obige Liste hinzufügen möchte. Man kann sich noch überlegen, ob man Freude daran hat, Firmen zu unterstützen, die durch exzessive Patentklagen auf sich aufmerksam machen, zum Teil mit Trivialpatenten, wie man sie nur in den Vereinigten Staaten bekommen kann. Oder Firmen, die bei Einkäufen mit dem Mobiltelefon, die mit einer App getätigt werden, 30% vom Umsatz einsammeln, was mehr als Wucher ist. Ich denke, dass man ähnlich wie man in der EU einem großen Betriebssystemanbieter das Bundling von OS und Browser eingeschränkt hat, auch den Herstellern von Mobiltelefonen und Mobiltelefonbetriebssystemen abverlangen könnte, dass sie es dem Anwender ermöglichen, einen anderen App-Store und einen anderen Musik-Store zu verwenden als den vom Systemanbieter betriebenen.

Letztlich ist es wie bei Kleidung überwiegend eine subjektive Entscheidung, welches Mobiltelefon und welches zugehörige Betriebssystem man bevorzugt und deshalb auch schwierig, darüber zu diskutieren, welches besser ist. Welche Kleidung wird primär mit technischen Eigenschaften wie z.B. der Reißfestigkeit verkauft?

Share Button

Versionsverwaltung

Versionsverwaltung (englisch „Source Code Management“ oder „Revision control“) ist für Software-Entwicklung, aber zunehmend auch für andere Bereiche in der Informatik nicht nur nützlich, sondern geradezu unentbehrlich. Vielleicht das erste derartige System war SCCS, das durch das von Walter Tichy entwickelte RCS ersetzte aber fast SCCS vollständig. RCS mag noch eine gewisse Existenzberechtigung haben, wenn man lokal einzelne Dateien versionieren will und dies schon seit langer Zeit mit RCS macht, aber die Einschränkungen waren doch erheblich: RCS funktionierte nur innerhalb des Dateisystems. Mittels NFS oder SMB kann man zwar gemeinsame Dateisysteme mounten oder als Netzwerklaufwerke verbinden, aber die Restriktion war letztlich störend und unnötig. Außerdem konnte man nur einzelne Dateien, nicht aber Verzeichnisse und Gruppen von Dateien verwalten. Gewisse Wrapper wie z.B. SNiFF+ oder MKS versuchten diese Einschränkungen teilweise zu umgehen, letztlich war aber die auf der Basis von RCS entstandene Neuentwicklung CVS die bessere Lösung. Auch wenn CVS heute längst obsolet ist. Etwa gleichzeitig kam ClearCase auf, ein ebenfalls heute nicht mehr empfehlenswertes System. Sowohl CVS als auch ClearCase haben aber Konzepte eingeführt oder populär gemacht oder auch nur getestet, die man für heutige Versionsverwaltungssysteme verwendet oder auch für überflüssig erkannt hat, man konnte auch wieder aus den Schwächen dieser Systeme lernen. CVS hat keine Konsistenz sichergestellt, das heißt, dass bei einer Änderung, die mehrere Dateien umfasst, jemand, der zeitnah mit dem Einfügen der Änderungen ins CVS daraus liest, unter Umständen eine nicht lauffähige Mischung aus alt und neu erhält. Das Umbenennen und Verschieben von Verzeichnissen und Dateien, insbesondere in der Java-Welt als „Refactoring“ bekannt und populär, wird sehr schlecht unterstützt bzw. durch das Löschen und Neuanlegen behelfsmäßig abgebildet. Und binär-Dateien werden schlecht unterstützt. ClearCase hat zusätzlich noch weitere Nachteile: Es ist sehr langsam, unzuverlässig und braucht einen hohen Administrationsaufwand. Außerdem waren die Lizenzen einmal sehr teuer, was aber heute egal sein sollte, da es keinen vernünftigen Grund gibt, neue Projekte mit ClearCase anzufangen und bei vorhandenen Projekten die Lizenzierung gelöst und bezahlt sein sollte. Immerhin macht einem der Lizenz-Manager noch zusätzlich gelegentlich das Leben schwer. MS-VisualSourceSafe habe ich eine zeitlang sporadisch benutzt und es war etwa zwischen RCS und CVS anzusiedeln, soll aber durch ein besseres TFS ersetzt worden sein, das ich nicht kenne.

Nun kommen wir zu den Systemen, die man heute noch benutzen kann, auch ohne durch Altlasten dazu gezwungen zu sein. Ein Ersatz für CVS war SubVersion, das die wesentlichen Schwächen von CVS behebt. Wenn auch durchaus Linus‘ Torvalds Kommentar dazu bedenkenswert ist: „SubVersion is CVS done right, but CVS can’t be done right“ oder so ähnlich, z.B. in diesem Tech Talk von 2007. Git hat ein funktionierendes verteiltes Repository gebracht. Das bedeutet, dass man sogar ohne Netzwerkverbindung noch mit dem immer vorhandenen lokalen Repository arbeiten kann, dass „Backups“ einfach durch die Vielzahl der Repositories „passieren“, sogar ohne dass man sie explizit durchführt (was man natürlich trotzdem tun sollte) und dass die parallele Arbeit von sehr vielen Entwicklern an verschiedenen Orten erleichtert wird. Ein Problem ist dabei sicher die Benennung von Versionen, wenn man nicht von einem zentralen „Zähler“ abhängig sein will. Für Google mag es sinnvoll sein, in vielen größeren Rechenzentren eine Atomuhr aufzustellen, so dass man recht zuverlässige Zeitstempel hat, aber mein Laptop ist offline doch schon einmal etwas ungenau mit seiner Uhrzeit. Git verwendet eine SHA1-Prüfsumme von 128 Bit Länge, die ihren Zweck einigermaßen zuverlässig erfüllen, weil es schwierig ist, eine Datei zu konstruieren, die denselben Prüfsummenwert liefert, selbst wenn man es gezielt versucht. Mercurial und vielleicht auch Bazaar sollen ähnliche Features wie git bieten und es ist teilweise eher eine Geschmacksfrage, welches dieser Systeme man verwendet. Vielleicht hat git einen kleinen Vorteil wegen der hohen Verbreitung und wegen github.

Kurze Zusammenfassung: Subversion ist nicht schlecht, man kann das für kleine Projekte nehmen oder es beibehalten, wenn es in vorhandenen Projekten eingesetzt wird. Aber für neue Projekte oder für Projekte, die heute auf CVS, ClearCase oder anderen veralteten Versionsverwaltungssystemen entwickelt werden, empfehle ich, git, mercurial oder eventuell bazaar einmal genauer anzuschauen und auf eines dieser Systeme zu wechseln. Grundsätzlich sind die sicher alle gut, aber man kann sagen, dass sich git durchgesetzt hat, weshalb es wohl die beste Wahl darstellen dürfte, weil es alle kennen, weil es dafür Infrastruktur gibt u.s.w..

Auch wenn diese Versionsverwaltungssysteme primär für Software-Quelltexte gemacht sind, kann man sie auch für andere Dateien einsetzen. Allerdings gibt es auch Software, die implizit eine Versionsverwaltung enthält, zum Beispiel Wikis wie MediaWiki oder ECM-Systeme oder Dokumentenmanagementsysteme wie z.B. OpenText oder SharePoint, wo die Versionsverwaltung nur einen Teil der angebotenen Funktionalität ausmacht. Für die Details würde ich Experten für ECM-Systeme fragen…

Es wird noch interessant, ob uns die Zukunft noch neue interessante Versionskontrollsysteme mit neuen Konzepten bringt oder ob die Generation von Git uns jetzt für eine sehr lange Zeit begleiten wird.

Share Button

Frohe Ostern

Ich wünsche allen Lesern frohe Ostern!

Share Button

Festplatten zur Erdbebenmessung

Auch wenn SSDs immer mehr Verwendung finden, sind magnetische (mechanische) Festplatten weiterhin verbreitet und werden es wohl auch noch lange bleiben.

Diese mechanischen Festplatten enthalten Sensoren, mit denen man Erschütterungen erkennen kann, zum Beispiel um den Kopf in eine ungefährliche Position zu bringen, um Schäden zu verhindern. Diese Sensoren sind sicher nicht so genau wie die Seismographen, die man zur Vorhersage von Erdbeben, Tsunamis und Vulkanausbrüchen und für die geophysikalische Forschung verwendet. Aber sie sind überall vorhanden und könnten so wertvolle zusätzliche Daten liefern. Das könnte vielleicht so funktionieren, dass die Betreiber von Rechnern mit Festplatten der Erfassung und Übermittlung von seismographischen Daten an ein geophysikalisches Rechenzentrum zustimmen. Weil die genaue Standortinformation ziemlich essentiell ist, sind sicher stationäre Rechner besser geeignet als Laptops, außer es werden noch GPS-Daten zusätzlich erfasst und übermittelt, was aber ein größeres Missbrauchsrisiko der Daten impliziert. Wenn Millionen von Nutzern mitmachen würden, hätte man genug Daten, um die Ungenauigkeiten der Messung teilweise zu eliminieren, weil nach dem Gesetz der großen Zahl angenommen werden kann, dass sich zufällige Fehler relativ gesehen verringern, wenn man etwa Mittelwerte vieler Messwerte bildet. Systematische Messfehler eines Sensors kann man auch erkennen und korrigieren oder sogar die Ausreißer weglassen. Noch besser wäre vielleicht eine Gewichtung der Messwerte nach Qualität.

Eigentliche Mittelwerte sind nur sinnvoll, wenn man mehrere Festplatten am selben Standort hat, ansonsten wäre wohl eine mehrdimensionale Funktion, die von Ort und Zeit abhängt, zu approximieren. Die Geophysiker wissen etwa, wie diese Funktionen aussehen könnten und man kann die Messwerte, von denen man Ort und Zeit kennt, verwenden, um ein paar Parameter dieser Funktion abzuschätzen. Diese Daten könnte man mit den genaueren Messungen der professionellen Geräte kombinieren. Der Vorteil der Festplattensensoren wäre vor allem, dass man ein viel flächendeckenderes Sensorennetz erhielte als man je durch Aufstellen von Seismographen bezahlen könnte. Das wäre eine echte Big-Data-Anwendung.

Share Button

Antispam-Plugin AntispamBee

Inzwischen haben die Spam-Kommentare in diesem Blog ein Maß erreicht, das sich manuell nicht mehr vernünftig handhaben läßt.
Deshalb setze ich neu Antispam Bee als Spamfilter ein. Im Gegensatz zum von WordPress mitgelieferten Akismet soll dies europäischen Datenschutzvorstellungen gerecht werden.

Share Button

Frankfurter DB-Tage

Ein bisschen Weiterbildung muss wohl immer wieder mal sein und so schaue ich mir jetzt ein oder zweimal im Jahr eine Konferenz von innen an.

Da es ja hier um Speicherung, Verarbeitung und Übermittlung von Informationen geht, habe ich mich etwas eingehender über die Themen im Zusammenhnag mit der Speicherung interessiert und die Frankfurter Datenbanktage besucht. Wie üblich gab es jeweils noch ein paar Stände, an denen man sich im Rest der 15-min-Pausen noch unterhalten konnte.

Interessante Themen waren „BigData“ und dessen Abgrenzung, die Frage, für welche Zwecke man klassische transaktionale relationale SQL-Datenbanken einsetzt und für welche Zwecke man sich für die vielfältige Welt der „NoSQL“-Datenbanken interessiert und vielleicht für die Lösung fündig wird und wie die Anbieter der klassischen Datenbanken versuchen, auch diesen Bereich abzudecken. Bekommt DB2 eine MongoDB-kompatible Schnittstelle, so dass man für Mongo-DB entwickelte Software mit DB2 statt MongoDB betreiben kann? Oder wie integriert man die verschiedenen Welten miteinander, wenn eine Aufgabenteilung sinnvoll ist?

Datenbank-Security ist ein interessantes Thema gewesen, sowohl in Vorträgen als auch bei Ausstellern. Welche Wege bestehen für Angreifer, die Daten zu lesen oder gar zu verändern und wie kann man das unterbinden oder doch zumindest so weit erschweren, dass das Risiko sehr klein wird?

Wie sieht es mit Clustering aus? Wie kann man die Performance optimieren, wo sind die Grenzen? Das können alle „großen“ Datenbanken, auch mySQL und mariaDB. Aber es gibt verschiedene Wege. Was sind die neuen Features der Datenbanken? Oracle hat zum Beispiel so etwas wie Virtualisierung vorgesehen, was es endlich ermöglichen soll, mit vertretbarem Ressourcen-Aufwand mehrere Datenbankinstanzen zu haben, indem diese als eine Art virtuelle Instanzen in einer Masterinstanz laufen.

Wie nutzt man heutige Hardware optimal oder wie investiert man in Hardware am sinnvollsten, um performante DB-Infrastruktur zu erhalten?

Es war also recht interessant…

Share Button

Zufallszahlen

Wofür braucht man überhaupt Zufallszahlen? Es gibt recht viele probabilistische Algorithmen, die besser funktinonieren, wenn man „gute“ Zufallszahlen hat. Besonders wichtig sind diese aber auch in der Kryptographie, zum Beispiel zur Generierung von Schlüsseln.

Die Qualität der Zufallszahlen ergibt sich aus der Vorhersehbarkeit des nächsten Werts. Wenn dieser z.B. mit heutigen Mitteln aus bekannten Werten berechnet werden kann oder nur schon dieser berechnete Wert mit höherer Wahrscheinlichkeit zu erwarten ist als bei Gleichverteilung, dann sind die Zufallszahlen nicht mehr optimal. Man kann dann zum Beispiel den „private key“ eines Schlüsselpaars erraten und dadurch die Sicherheit des Verfahrens vermindern.

Nun ist die Frage, ob es wirklichen Zufall in der Natur gibt. Nach heutigen Erkenntnissen glaubt man das und findet als Beispiel den radioaktiven Zerfall. Also müsste nur jeder Rechner einen „Radiumkarte“ eingebaut bekommen und schon hätte man überall gute Zufallszahlengeneratoren zur Verfügung. Doch es gibt einige andere Effekte, die man nutzen kann, z.B. Zenerdioden oder den Luftdruck. Radiowellen aus dem Weltall wären sicher auf den ersten Blick auch gut, aber da diese für jeden empfangbar sind, ist es sehr schwierig, eine Vorhersehbarkeit der Zufallszahlen auszuschließen. Zenerdioden eignen sich wohl auch ganz gut. So kann man recht gute Zufallszahlengeneratoren auf die CPU einbauen: RdRand (en.wikipedia.org) oder rdrand (Intel)

Ist das Thema damit gegessen? Vielleicht, zumindest für viele Anwendungszwecke. Vielleicht traut man dem nicht und braucht dort, wo es wirklich darauf ankommt, noch bessere Verfahren? Auf jeden Fall wird es noch eine Weile dauern, bis man das wirklich verwenden kann. Heute haben das neue Intel-CPUs, wann haben es auch CPUs anderer Hersteller? Wann wird das durch die verschiedenen Betriebssysteme genutzt? Mindestens ein paar Jahre dürfen wir uns noch darauf freuen, dass dieses Feature breit verfügbar ist.

Linux hat einen Zufallszahlengenerator auf OS-Basis, der als /dev/random ansprechbar ist. Dieser nutzt „Zufälligkeiten“ wie Tastatureingaben, Mausbewegungen, vielleicht auch Plattenbewegungen u.s.w. aus. Vielleicht nicht ganz so gut wie rdrand, aber dafür schon lange verfügbar. Vielleicht haben andere Betriebssysteme ähnliche Möglichkeiten.

Wie funktioniert das? Wenn man teilweise zufällige Informationen hat, dann lässt sich das nächste Stück mit einer gewissen Wahrscheinlichkeit vorhersagen. Typisches Beispiel wäre etwa ein Text, der eingegeben wird. Der kann einer abstrakten Sprache angehören, z.B. einer natürlichen Sprache, einer Programmiersprache (mit einer natürlichen Sprache für die Kommentare) oder so etwas. Wenn das einigermaßen fehlerarm eingegeben wird, dann lässt sich ein unvollständiges Wort oft auf nur wenige Arten vervollständigen, so dass von den vielen möglichen Zeichen einige wenige wahrscheinlich sind. Wenn man mal von einem 8-bit-Zeichensatz ausgeht, bringt dieses eine Zeichen vielleicht nur etwa 1 Bit an Information, wenn etwa zwei Vervollständigungen sehr wahrscheinlich sind, statt 8 Bit. Dieses eine Bit wäre idealerweise die Zufälligkeit, also ein Zufallsbit, wenn man es schafft, das herauszudestilieren.

Nun ist es bei eingegebenen Texten etwas schwieriger. Wenn das bekannte Texte sind, etwa weil es abgeschrieben wird, oder wenn es ein ehemaliger Minister schreibt, sogar kopiert wird, dann besteht die Zufälligkeit nur noch in der Auswahl der passenden Texte, aber auch bei selbst geschriebenen Texten schränkt der Kontext ein, was passen würde und was wahrscheinlich ist. Hinzu kommt das Wissen des Schreibers, dessen „Fingerabdruck“, der sich auch in den verfassten Texten (oder Programmen oder was auch immer geschrieben wird) ausdrückt. Vielleicht ist das Wissen eines Menschen groß genug, um für viele Jahre oder sogar ein Leben lang Texte zu produzieren, die genug Zufälligkeit enthalten, aber wenn keine neue Information durch Kommunikation einfließt, ist das doch zu hinterfragen. Aber viele von uns arbeiten in Bürotätigkeiten, die in irgendeiner Form überwiegend darin bestehen, zu kommunizieren oder doch zumindest etwas einzugeben oder zu schreiben. Vielleicht gibt es dabei gänzlich unkreative Tätigkeiten, wo man etwas ausfüllen muss und genau eine Lösung richtig ist. Aber alle auch nur teilweise kreativen Tätigkeiten produzieren Information, die ohne diese nicht da war und würden sich somit als Basis für die Zufallszahlengenerierung grundsätzlich eignen.

Wir brauchen vielleicht den Kontakt zu unseren Mitmenschen, um neue Ideen zu entwickeln. Und nun fließt die aufgenommene Information natürlich wieder ein. Deshalb ist die Zufälligkeit der geschriebenen Textinhalte nicht leicht abzuschätzen und sie sinkt vielleicht um eine Größenordnung, wenn man verschiedene der hier angesprochenen Aspekte zu fassen bekommt oder ignoriert, weil man sie für nicht fassbar hält. Nun kann man die Texte aber verlustfrei komprimieren. Wenn man viel darüber weiß, was wirklich die reine Information (oder der Zufallsgehalt) ist, auf eine Größe, die knapp über diesem Informationsgehalt liegt. Nun kann man auch geschickte „Hash-Codes“ verwenden, die aus den Texten Bytesquenzen generieren, die etwas kleiner sind, als der Informationsgehalt. Wenn das gut gemacht wird, ist das ein brauchbarer Zufallszahlengenerator, der aber für kryptographische Anwendungen sofort einiges an Wert verliert, wenn man aus der Kommunikation der Person nach dem Verfassen des Textes oder gar aus der direkten Verwendung des Textes Rückschlüsse auf diesen ziehen kann.

Wenn der Text öffentlich oder teilweise öffentlich zugänglich wird, zum Beispiel auf einer Webseite erscheint, wie der Text, der hier gerade geschrieben wird, dann besteht die Zufälligkeit nur noch in der Auswahl des Textes von den Milliarden Webseiten, die es gibt, was aber nur noch maximal ein paar Dutzend Bits sind. Und wer will schon eine kreative Tätigkeit nur für die Zufallszahlengeneration ausüben, ohne dass die eigentlichen Ergebnisse dieser Tätigkeit sinnvoll verwendet werden? Und wer will das gar noch bezahlen?

Die Zeitabstände zwischen den Tastatureingaben sind sicher auch so etwas wie ein Fingerabdruck, was individuell den Schreiber erkennen ließe, aber die Zufälligkeit dieser Zeiten lässt sich viel besser nutzen, weil wir das nicht verwenden, um Information zu transportieren. Ich werde mich also auch nicht erinnern, welche Zeitabstände ich zwischen den Zeichen hatte, außer dass der Schreibrhythmus natürlich beim nächsten Mal ähnlich (aber nicht identisch) sein wird. Und die Zeitabstände sind auch nicht auf dieser Webseite nachlesbar.

Share Button

Rails 4.0 Beta

Rails 4.0 Beta. 😉

Share Button

Über die Lebensdauer von Multimediadaten

Diese Fotos mit Negativen, Dias und auf Papier sind heute nicht mehr „in“ und man sieht es alten Fotos an, dass die Farben schlechter werden.

Die Digitaltechnik löst viele Probleme, man kann Bilder ohne Farbverlust beliebig lange aufbewahren und muss beim Abdrücken nicht mehr an den Preis des Filmmaterials denken, weil das einzelne Foto ja fast nichts kostet. Ein bisschen schon, weil die Kamera verschlissen wird, die Speicherkarten nur begrenzt viele Schreibzyklen mitmacht und sogar noch Strom verbraucht wird, aber das kann man alles gegenüber dem Preis von Filmmaterial vernachlässigen. Solche Fragen stellen sich zum Teil auch bei der Video- und Audioaufzeichnung, wo sich lange Zeit analoge magnetische Aufzeichnungsverfahren etabliert hatten, oft gerade dort, wo die Qualitätsanforderungen nicht maximal waren. Ich bleibe mal hauptsächlich bei den Fotos und gehe kurz darauf ein, wenn die anderen Formate spezielle Aspekte berücksichtigt haben sollten.

Aber wie sieht es nun mit der Lebensdauer und den Kosten der langfristigen Archivierung bei Multimediadaten aus? Zunächst braucht man sehr viel Platz, aber bei jedem Baumarkt, Supermarkt und auch im Internet kann man für wenig Geld solche USB-Festplatten mit einigen Terabyte Kapazität kaufen. Also kopiert man die Dateien da drauf und solange es nur wenige sind, hat man dafür Platz und findet die Sachen auch wieder. Oder man speichert die Bilder in der Cloud, wobei dort viele Terabyte auch viel Geld kosten. Wird sich das ändern? Vielleicht, aber vielleicht stoßen wir auch an technologische Grenze, was die Aufzeichnungsdichte betrifft und können keine großen Preissenkungen für Plattenplatz mehr erwarten, bis einmal völlig neue Technologien die magnetische Aufzeichnung ersetzen und vielleicht auch neue Möglichkeiten bieten.

Lebensdauer

Aber wie sieht es mit der Lebensdauer solcher Multimedia-Dateien aus? Ich glaube, dass die im Durchschnitt sehr viel kürzer ist als bei den alten Verfahren. Was kann alles schief gehen:
* Die Formate. Ein proprietäres Format schafft eine Abhängigkeit von einem Software-Anbieter, den es in einigen Jahren vielleicht nicht mehr gibt oder der kein Interesse mehr hat, das frühere Format zu unterstützen.
* Datenverlust durch Festplattenschaden: Gelegentlich geht eine Festplatte kaputt, was zu Datenverlust führen kann. Backup machen wir alle regelmäßig, aber an dem Tag vor dem Plattencrash hat man es vergessen oder stellt fest, dass die Backups gar nichts kopiert haben oder nicht lesbar sind.
* Datenverlust durch versehentliches Löschen
* Man findet die richtige Datei nicht mehr
* Physikalischer Verlust des Mediums durch Feuer, Diebstahl, Wasserschaden o.ä., aber das kann mit Negativen und Dias auch passieren.

Alle diese Punkte lassen sich lösen, wenn man bereit ist, den Aufwand zu treiben.

Formate

So sinnvoll es sein kann, bei Fotos dir proprietären „raw“-Dateien aufzubewahren, so wichtig ist es, bei Bildern, die wirklich wichtig sind, zusätzlich oder stattdessen ein Format aufzubewahren, das standardisiert ist und für dessen Verarbeitung es Open-Source-Software gibt, auch wenn man diese heute nicht verwendet. Wer in 20 Jahren ein Nikon- oder Canon-Raw-Format von 2013 noch lesen kann, ist nicht sicher. Aber png und dng werden wahrscheinlich in 20 Jahren noch lesbar sein. Und auch wenn man heute lieber Photoshop als Gimp oder lieber Lightroom als Darktable verwendet, ist für die langfristige Lesbarkeit von Formaten hilfreich, dass es Opensource-Software gibt, die diese Formate verarbeiten kann und aus deren Quelltexten sich auch in 20 Jahren noch Software erstellen lässt, die das kann, selbst wenn es Photoshop und Lightroom dann nicht mehr geben sollte.

Backups

Man muss wohl ein regelmäßiges Backup der Bilddateien machen, um eine gute Chance zu haben, diese in 20-30 Jahren noch zu haben, auch wenn sich absolute Sicherheit nicht erreichen lässt, nicht einmal mit Negativen und Dias. Wenn man nun aber eifrig fotografiert, filmt,…. kommen jedes Jahr Unmengen an Daten dazu. Das heißt, dass der Aufwand, den man so pro Monat für Backups treiben muss, auch immer größer wird. Nur mal als Überlegung: Sagen wir die Bilder sind als DNG etwa 100 MB groß, denn wir wollen ja mit der neuesten Megapixel-Technlogie fotografieren, wenn nicht heute, so doch sicher bald innerhalb der nächsten 20-30 Jahre. Man verwendet 2TB-USB-Festplatten und macht 20’000 Fotos pro Jahr. Da passt ein Jahr auf eine USB-Platte. Das geht noch, aber mit der Zeit hat man eine ganze Sammlung davon und muss wissen, welches Bild wo ist und noch ab und zu Backups machen. Die Platten werden natürlich noch größer, die Bilder aber auch.

Wenn man aber sortiert, also beim Fotografieren ein bisschen nachdenkt, wie wenn man Filmmaterial benutzt, dann die schlechten Bilder löscht oder zumindest nur als JPG aufbewahrt, um aus den Fehlern zu lernen, dann kann eine solche USB-Platte für viele Jahre reichen und der ganze Vorgang bleibt beherrschbar.

Bei Videos ist das alles wohl noch schwieriger. Die Formatvielfalt ist unübersichtlicher, Videos belegen mehr Plattenplatz und es gibt auch sehr viel mehr proprietäre Formate. Man sollte sich aber auch gut überlegen, bevor man auf ein Format mit weniger Information (verlustbehaftete Kompression, Verringerung der Auflösung) wechselt. Interessant ist es auch, wenn man für ein größeres Projekt eine Video-Software beschafft, bei der man den Zugriff auf das Material verliert, sobald man aufhört, die Lizenzen dafür zu zahlen.

Metainformation

Woher weiß man, was in der Datei drinsteht? Sprechende Dateinamen können helfen, aber reichen nicht unbedingt aus. Fotos kann man immer noch recht schnell anschauen, aber wenn es viele sind, dauert das schon zu lange. Bei Videos ist das noch viel schlimmer. Deshalb ist gute Metainformation hilfreich, nach der man suchen kann, also Information, der beschreibt, was auf dem Bild, dem Video, der Tondatei o.ä. drauf ist, am besten strukturiert.

Share Button

Ruby 2.0 ist seit 2013-02-24 verfügbar

Ruby 2.0 ist seit 2013-02-24 verfügbar:

Share Button