Dev

Special: Panoramafotos selbst gemacht

Wenn man weite Landschaften wie Berge oder das Meer in einem Foto festhalten möchte, fertigt man normalerweise ein Panoramafotos an. Dazu braucht man keine teure Ausrüstung. Es reicht bereits eine handelsübliche, einfache Digitalkamera, eine Software und ein wenig theoretisches Wissen, um durchaus vorzeigbare Ergebnisse zu erzielen. Dieses Fedorablog-Special zeigt, wie es geht.

Ein wenig Theorie

Panoramafotos sind Bilder, die zu breit sind, um sie mit einem normalen Objektiv in einer Aufnahme aufzunehmen. Um sie trotzdem mit der Kamera zu erfassen, greift man zu einem simplen Trick: Man macht mehrere Fotos und schwenkt die Kamera dabei immer ein Stück weiter. Zuletzt setzt man die einzelnen Bilder dann zu einem großen Bild zusammen. Früher waren es noch Papierabzüge, die man mit Klebestreifen passend aneinander klebte. Heute macht man das natürlich digital mit Unterstützung vom Computer.

Die Qualität des späteren Panoramabildes hängt von der Qualität des Ausgangsmaterials ab. Die Fotos, die nachher bearbeitet werden sollen, müssen bereits möglichst gut geeignet sein. Der Computer kann zwar den einen oder anderen Fehler verstecken, aber je besser die Vorlage ist, desto besser ist nachher auch das Ergebnis.

Dabei hilft schon, auf möglichst viele Automatismen der Kamera zu verzichten. Der automatische Weißabgleich zum Beispiel kann dazu führen, dass die einzelnen Bilder die Farben unterschiedlich wiedergeben und das Gesamtbild dadurch auffällige, fließende Farbverläufe bekommt. Man sollte möglichst einen festen, zu den Lichtverhältnissen passenden Weißabgleichsmodus verwenden (zum Beispiel “Tageslicht”). Wenn man genügend Erfahrung hat, sollte man auch manuell belichten, damit die Einzelfotos gleich belichtet sind. Die Brennweite (der “Zoom”) darf natürlich erst recht nicht verstellt werden, wenn man mit der Bilderserie angefangen hat.

Wichtig, aber schwierig ist es, die Kamera nach jeder Einzelbildaufnahme richtig zu schwenken. Idealerweise bestimmt man dafür den so genannten Nodalpunkt, der von Kameramodell und Objektiv abhängig ist. Das erfordert nicht nur ein erfahrenes Auge, sondern auch ein Stativ mit einem speziellen und teuren Panoramakopf. Für den Hobbyfotografen ist das eher unerschwinglich.

Ein einfaches Stativ reicht für brauchbare Ergebnisse aber meistens schon aus. Man schwenkt einfach die Kamera Stück für Stück auf dem Stativ weiter und nimmt die Einzelfotos. Mit ein wenig Übung kann man sogar aus freier Hand ganz passable Panoramas schießen. Als Faustregel gilt, das Kameraobjektiv nur zu drehen, aber möglichst wenig zu bewegen. Es darf auch kein Objekt zu nahe an der Kamera stehen, da es sich sonst in den Einzelaufnahmen zum Hintergrund verschiebt und nachher ein nahtloses Zusammensetzen des Panoramas fast unmöglich macht.

Die einzelnen Bilder, die man aufnimmt, sollten sich stets gut überlappen. Das Folgebild sollte immer etwa die Hälfte des vorherigen Bildes beinhalten. Arbeitet man hier zu knapp, hat man später Verzerrungen und Abschattungen (Vignettierungen), die störend im Panoramabild auffallen können. Manche Kameras bieten dazu einen Panoramaassistenten, bei dem man immer eine Bildhälfte des zuletzt gemachten Bildes sieht und live das nächste Bild passend daran ansetzt.

Panoramafotografie ist ein Fotografie-Kapitel für sich. Weitere Details würden den Artikel sprengen. Am Ende gibt es aber noch ein paar weiterführende Links.

Stitching

Im nächsten Arbeitsschritt müssen die einzelnen Fotos zu einem Panoramabild zusammengesetzt werden. Man nennt diesen Vorgang stitching. Eine passende Software, die kürzlich in das Fedora-Repository aufgenommen wurde, ist Hugin. Diese wiederum benutzt Enblend, um die Einzelbilder schließlich zu einem Gesamtbild zusammenfügen.

Die Software ist mit yum schnell installiert:

yum install hugin enblend

Hugin kann anschließend unter Anwendungen > Grafik gestartet werden.

Im Prinzip ist die Bedienung der Software kinderleicht. Als erstes lädt man die einzelnen Bilder ein und bringt sie in die Reihenfolge, in der sie nachher zusammengesetzt werden sollen (meistens von links nach rechts). Wenn alle Bilder geladen und sortiert sind, wählt man das Ankerbild aus. Normalerweise ist es das mittlere Bild. Dieses wird mit “Positionsanker setzen” ausgewählt. In der Bildertabelle ist es in der Spalte Anker mit einem “A” markiert.

Danach folgt das Vernähen im Reiter “Kontrollpunkte”. Dort wählt man zuerst zwei benachbarte Bilder aus (zum Beispiel auf der linken Seite Bild 1 und auf der rechten Bild 2). Dann klickt man mit der Maus auf einen markanten Punkt eines Bildes (ein Gegenstand, eine Ecke, ein auffälliger Stein oder ähnliches), und wählt im anderen Bild den gleichen markanten Punkt aus. Es folgt eine Vergrößerung, in der man diese beiden Punkte nachjustieren kann; fast immer hat die Software aber schon die genaue Position selbst gefunden. Mit “Hinzufügen” kann dieses Punktepaar dann in die Liste aufgenommen werden. Man sieht danach wieder die beiden Vollbilder, bei denen das Punktepaar durch gleichfarbige Kreise markiert ist.

Auf diese Art müssen mehrere markante Punktpaare eingegeben werden; je mehr und je weiter über das gesamte Bild verteilt, desto besser das Endergebnis. Fünf Paare sollten es mindestens sein. Danach wählt man die nächsten zwei benachbarten Bilder (links Bild 2, rechts Bild 3) und fährt mit der Arbeit fort, bis man das vorletzte Bild mit dem letzten vernäht hat.

Die Arbeit ist damit schon fast geschafft. Als nächsten Arbeitsschritt lässt man Hugit die Punktpaare optimieren. Dazu wechselt man in den Reiter “Optimieren”, wählt dort in der “Optimieren”-Box den Eintrag “Alles” und klickt auf “Jetzt optimieren!”. Die Software rechnet nun kurz und präsentiert ein Ergebnis, das man übernehmen kann.

Es lohnt sich, jetzt einmal die Vorschau zu betrachten. Diese erreicht man über das Menü unter Ansehen > Vorschaufenster. Besonderes Augenmerk sollte man auf die Nahtstellen legen. Wenn dort Sprünge sichtbar sind, muss man zurück zu den “Kontrollpunken” und an den entsprechenden Stellen weitere Punktpaare einfügen.

Die Vorschau dient auch dazu, die Bildmitte und den Bildausschnitt festzulegen. Mit “Zentrieren” und “Einpassen” kriegt man bereits eine gute Vorlage. Allerdings sieht der Rand des Panoramas durch die Einzelbilder ein wenig bauchig und gezackt aus. Mit den Schiebern rechts von und unter der Vorschau kann man aber den Bildwinkel und damit den Ausschnitt verstellen und so zum Beispiel auch die Ränder entfernen.

Wenn die Vorschau nun das gewünschte Ergebnis liefert, werden im letzten Schritt die Bilder zu dem endgültigen Panoramabild zusammengefügt. Dazu wählt man den Reiter “Zusammenfügen”. Unter “Bilder zusammenfügen” kann man das Bildformat auswählen, zum Beispiel “in ein hochwertiges JPG-Bild”. Mit “Jetzt zusammenfügen!” wird dann die Panoramadatei erzeugt und abgespeichert. Das kann je nach Umfang der Bilder und der Geschwindigkeit des Rechners durchaus ein paar Minuten dauern.

Danach ist das Panoramafoto fertig! Es empfiehlt sich trotzdem, die Hugin-Projektdatie zu sichern, falls man nachträglich noch kleine Korrekturen vornehmen möchte.

Special: Festplatten richtig löschen

Tagebücher und private Fotos, persönliche E-Mails, Bankverbindungen und Kreditkartennummern, Passwörter… Oft sind wir uns gar nicht bewusst, was für persönliche und geheime Informationen unsere Festplatten gespeichert haben. Nehmen wir uns nur mal als Beispiel das Cookie, durch das wir uns nicht mehr im Onlineshop anzumelden brauchen, oder all die Passwörter, die der Passwort-Manager des Browsers bequemerweise für uns gespeichert hat.

So gibt es immer wieder Aufsehen erregende Berichte über Computer oder Festplatten mit höchst vertraulichem Inhalt, welche gebraucht verkauft wurden, ohne vorher ausreichend gelöscht worden zu sein. Ein anderes, etwas amüsanteres Beispiel stammt von dem Käufer eines gebrauchten Notebooks, welches sich als defekt herausstellte. Da der Verkäufer nicht bereit war, das Geld zurückzugeben, veröffentlichte der Betrogene aus Rache allerlei private und delikate Details, die er auf der Festplatte des Notebooks vorfand.

Trotzdem kann es vorkommen, dass man Festplatten in fremde Hände gibt, weil man sie verkaufen, zurückgeben oder entsorgen möchte. Wie löscht man dann alle vertraulichen Daten sicher und zuverlässig?

Ein paar wichtige Worte vorweg!

Dieser Artikel bezieht sich auf Linux-Systeme und richtet sich hauptsächlich an Privatpersonen. Nicht etwa, weil ihre Daten weniger schützenswert wären, sondern weil der Gesetzgeber bei gewerblich genutzten Festplatten mit personenbezogenen Daten eine fachgerechte und dokumentierte Löschung der Daten erwartet.

In diesem Artikel beschreibe ich außerdem, wie Daten sicher und zuverlässig gelöscht werden. Mit nur einer Fehleingabe können in Sekundenschnelle auch Daten vernichtet werden, die eigentlich nicht gelöscht werden sollten. Man sollte deshalb genau darauf achten, ob das Festplatten-Device wirklich das gewünschte ist, und sich das Kommando lieber einmal mehr anschauen, bevor man die Eingabetaste drückt. Wichtige Daten, die nicht gelöscht werden sollen, sollten stets auf einem aktuellen Backup gesichert sein.

Im folgenden Text wird die zu löschende Festplatte beispielhaft unter /dev/sdX angesprochen. Man sollte mit hdparm -I /dev/sdX vorab prüfen, ob es sich tatsächlich um das zu löschende Festplattenmodell handelt.

Vorsorgen ist besser als heilen

Diese alte Weisheit gilt auch bei sensiblen Daten. Es ist besser, sie gar nicht erst im Klartext auf die Festplatte zu schreiben, als sie später mit Aufwand wieder entfernen zu müssen. Wenn man sensible Daten verschlüsselt auf der Festplatte ablegt, sind sie ohne den Schlüssel wertlos. Das bringt nicht nur mehr Sicherheit beim Verkauf einer gebrauchten Festplatte, sondern schützt auch sehr effektiv gegen böse Überraschungen nach einem Verlust oder Diebstahl.

Moderne Computer sind schnell genug, um das gesamte System per LUKS zu verschlüsseln, ohne dass die Performance spürbar darunter leidet. Vor allem Notebooks sollten deshalb immer mit einem sicheren Kennwort vollverschlüsselt aufgesetzt werden, auch wenn das beim Hochfahren des Systems lästig sein mag.

Die Verschlüsselung ist aber nur ein Aspekt. Auch verschlüsselte Systeme sollten besser vollständig gelöscht werden, bevor man sie aus der Hand gibt.

Wie man es nicht machen sollte…

Was nicht hilft, ist die Festplatte einfach zu formatieren. Dabei werden nur die Verwaltungsstrukturen neu angelegt. “Undelete”-Programme oder Datenrettungsdienste können einen Großteil der gespeicherten Daten von einer zuvor formatierten Festplatte wiederherstellen.

Auch ein Low Level-Format ist nicht zuverlässig. Manche Festplattenmodelle ignorieren dieses Kommando völlig oder funktionieren danach nicht mehr einwandfrei.

Kommandos wie srm bieten an, einzelne Dateien sicher zu löschen. Auch solchen Werkzeugen sollte man skeptisch gegenüberstehen, denn es gibt keine Garantie, dass das Dateisystem oder die Festplatte keinen Strich durch die Rechnung macht.

Wie macht man es richtig? Dazu muss man unterscheiden, ob es sich um eine mechanische oder elektronische Festplatte handelt. Bei sehr alten mechanischen Festplatten wird es zudem ein wenig aufwändiger.

Mechanische Festplatten löschen

Bei der klassischen Festplatte werden die Daten magnetisch auf eine rotierende Scheibe geschrieben. Hier reicht es aus, die gesamte Festplatte einmalig mit Nullen zu überschreiben, um sämtliche Daten zu löschen. Falls noch Partitionen der Festplatte gemounted sind, werden sie erst einmal ausgehängt. Danach erledigt das Kommando dd den Löschvorgang:

dd if=/dev/zero of=/dev/sdX bs=65536 status=progress

Je nach Alter und Größe der Festplatte dauert dieser Vorgang mehrere Stunden.

Das Kommando strings eignet sich zum Prüfen, ob eine Festplatte leer ist.

strings /dev/sdX

Das Kommando gibt alle lesbaren Zeichenketten aus, die auf der Festplatte gefunden wurden. Bei einer gelöschten Festplatte sollte natürlich nichts dergleichen gefunden werden.

SSDs löschen

Moderne SSDs arbeiten rein elektronisch und legen die Daten in Speicherzellen ab. Auch hier kann man das gesamte Laufwerk wie oben beschrieben mit Nullen überschreiben, um es zuverlässig zu löschen.

Im Gegensatz zu mechanischen Festplatten verschleißen die Speicherzellen aber bei jedem Schreibzugriff. Bei vielen modernen SSDs greifen die Hersteller deshalb zu einem Trick, um ein schonendes vollständiges Löschen zu ermöglichen. Hier werden die Daten hardwareseitig verschlüsselt, bevor sie in die Speicherzellen geschrieben werden. Für eine vollständige Löschung reicht es aus, einen neuen Schlüssel zu erzeugen. Die Daten sind dann zwar weiterhin in den Speicherzellen vorhanden, können aber auch vom Hersteller oder von Datenrettungsdiensten nicht mehr entschlüsselt werden.

Diesen “Secure Erase”-Vorgang kann man auf vielen Systemen bequem in den BIOS-Einstellungen durchführen. Es kann auch mit dem hdparm-Kommando durchgeführt werden, allerdings sind dafür ein paar Dinge zu beachten. Auf kernel.org gibt es einen ausführlichen Artikel, der die notwendigen Schritte genau erklärt.

Alte Festplatten löschen

Bei sehr alten Festplatten kann nach einmaligem Überschreiben mit Nullen eine Restmagnetisierung zurückbleiben, die unter Laborbedingungen theoretisch wieder ausgelesen werden kann. Hier sind mehrere Löschdurchgänge notwendig, wobei neben Nullen auch Zufallszahlen auf die Festplatte geschrieben werden sollten, damit möglichst viele gespeicherte Bits mindestens einmal ihren magnetischen Zustand ändern. Das US-Verteidigungsministerium empfiehlt, die Festplatte zwei Mal mit Nullen und ein Mal mit Zufallszahlen zu überschreiben. Noch besser ist es, die Festplatte sieben Mal zu überschreiben, wovon mindestens drei Mal Zufallszahlen verwendet werden.

Das Kommando shred erleichtert diese Aufgabe, zum Beispiel durch folgende Zeile:

shred -n6 -z /dev/sdX

Es überschreibt die Festplatte sechs mal mit Zufallszahlen (-n6) und anschließend noch einmal mit Nullen (-z). Das kann je nach Größe der Festplatte durchaus mehrere Tage dauern, aber immerhin kann man das Kommando unbeobachtet laufen lassen, bis es fertig ist.

Bei halbwegs modernen Festplatten mit einer Kapazität von mehr als 100 GB ist die Datendichte bereits so hoch, dass diese Möglichkeit der Restaurierung in das Reich der Mythen gehört. Selbst das BSI hält ein einmaliges Überschreiben mit Nullen mittlerweile für ausreichend sicher.

Was tun mit defekten Festplatten?

Defekte Festplatten sind ein Problem.

Sind einzelne Sektoren defekt, tauschen alle modernen Festplatten diese automatisch durch Reservesektoren aus. Der defekte Sektor ist dann nicht mehr erreichbar und kann deshalb auch nicht gelöscht werden. Wie viele defekte Sektoren die Festplatte ersetzt hat, kann durch den S.M.A.R.T.-Status ermittelt werden. Wenn mindestens ein Sektor defekt ist, sollte die Festplatte nach dem Löschen auch physikalisch vernichtet werden, um ganz sicher zu gehen.

Vollständig defekte Festplatten (zum Beispiel nach einem Headcrash oder Motorschaden) können gar nicht gelöscht werden. Hier sind Datenrettungsdienste fast immer in der Lage, große Mengen an Daten auszulesen. Bei defekten Festplatten wird man also um eine Vernichtung nicht herumkommen, um vertrauliche Daten unwiederbringlich zu löschen.

Festplatten vernichten

Gewerblich genutzte Festplatten übergibt man zur Zerstörung am besten einem zertifizierten Dienstleister, um einen rechtssicheren Beleg zu erhalten, dass die Daten fachgerecht vernichtet wurden.

Im privaten Rahmen kann man mechanische Festplatten auch selbst zerstören, indem man sie öffnet und mit Werkzeug einen möglichst großen Schaden anrichtet. Es reicht meist schon, die Magnetplatten zu deformieren. Dabei ist allerdings Vorsicht geboten, denn manche Magnetplatten bestehen aus dünnem Glas und splittern sehr leicht.

ACHTUNG: Es besteht Verletzungsgefahr durch scharfe Kanten und umherfliegende Splitter! Unbedingt Sicherheitshandschuhe und eine Schutzbrille tragen!

Bei SSD-Platten müssen die Speicherbausteine zerstört werden, indem man zum Beispiel mit einem ausreichend großen Bohrer ein Loch in die Mitte der Chips bohrt.

Festplatten gehören wie alle Elektronikartikel nicht in den Hausmüll, sondern müssen über kommunale Sammelstellen entsorgt werden.

Special: Emulatoren

Dass die Computergenerationen immer leistungsfähiger werden, hat einen interessanten Nebeneffekt: Es ist dadurch möglich, dass ein moderner Computer einen alten Computer vollständig simuliert, Spezialhardware eingeschlossen. Man spricht dann davon, dass der alte Computer emuliert wird. Die dazugehörige Software heißt Emulator.

Dieses Special beschäftigt sich mit einer Auswahl der Emulatoren, die es für Fedora gibt.

Quelle

Ein paar Emulatoren stehen bereits in Fedora Extras oder im Freshrpms-Repository zur Verfügung. Die wahren Sahnestücke aber gibt es in dem eher unbekannten Dribble-Repository. Mit einem kleinen Handgriff wird yum das neue Repository bekannt gemacht:

rpm -ivh http://dribble.org.uk/repo/dribble-release-5-1.noarch.rpm

Als erstes sollte man sich nun ein Emulator-Menü in der Gnome-Startleiste anlegen:

yum install dribble-menus

Dort findet man dann alle Emulatoren, die man sich von Dribble installiert hat.

Das war bereits die Vorbereitung. Bevor ich nun die Emulatoren vorstelle, möchte ich noch einen kleinen Haken an der Sache ansprechen.

Woher mit der Firmware?

Ein Emulator stellt quasi nur eine virtuelle Hardware zur Verfügung, und ist damit nur die halbe Miete. Jeder Computer braucht eine Firmware oder ein Betriebssystem, so auch die Emulatoren, die für gewöhnlich eine Kopie des Original-ROMs benötigen. Hier macht jedoch meistens der Hersteller noch seine Urheberrechte geltend, so dass man sie nicht einfach zusammen mit dem Emulator verteilen kann.

Wenn man Glück hat, hat der Hersteller mittlerweile eine nicht kommerzielle Nutzung erlaubt. In Fedora darf die Firmware dann zwar immer noch nicht aufgenommen werden, da die Distribution strikt nur freie, quelloffene Software verwendet. Repositories wie Dribble bieten aber die Firmware an, wenn möglich. Das ist - wie gesagt - legal, da der Hersteller die Firmware für nicht kommerzielle Zwecke freigegeben hat.

Ist das nicht der Fall, gibt es eigentlich nur einen legalen Weg: Man muss das zu emulierende Gerät selbst im Original besitzen. Dann darf man die Firmware oder das Betriebssystem auslesen und auf dem Emulator verwenden, solange das Originalgerät weiter im Eigentum bleibt (und ganz streng genommen auch währenddessen nicht angeschaltet wird). Oft gibt es aber auch die Möglichkeit, die benötigten Dateien käuflich zu erwerben. Ein gewisses Restrisiko bleibt dann, weil man nicht weiß, ob und wie stabil der Emulator schließlich mit den Originaldateien arbeitet.

Eine dritte, etwas ungewöhnliche Möglichkeit ist, dass die Firmware quelloffen nachprogrammiert wurde. Das ist zum Beispiel der Fall beim Atari ST-Emulator, weshalb er auch in Fedora Extras zu finden ist.

Von Schwarzkopien sollte man dagegen absehen. Die Emulatoren werden von vielen Herstellern mit Argwohn beobachtet und mehr geduldet als gemocht. Wenn sie den Eindruck bekommen, dass dadurch ihre Rechte verletzt werden, könnte der Frieden schnell vorbei sein.

Jetzt aber genug der Theorie! Schauen wir uns ein paar Emulatoren näher an.

Apple Macintosh

Der erste Emulator ist schon ein Leckerbissen. Mit dem SheepShaver lässt sich ein Apple Macintosh emulieren. Unterstützt wird MacOS 7.5.2 bis 9.0.4, allerdings kein MacOS X. Installieren kann man ihn von Freshrpms per

yum --enablerepo=freshrpms install SheepShaver

Wer noch einen echten Mac Classic sein Eigen nennt, kann nun dessen Betriebssystem für den SheepShaver verwenden. Es ist vielleicht sogar möglich, die Festplatte des Originals in den Linux-PC einzubauen und zu benutzen. Es gibt aber auch die Möglichkeit, von Apple kostenlos die Installationsdateien für MacOS 7.5.3 herunterzuladen und zu installieren. Die Frage ist, wieviel man noch damit anfangen kann, denn MacOS 7.5.3 ist mittlerweile schon ziemlich betagt.

Der Name SheepShaver ist übrigens eine Verballhornung von ShapeShifter, dem ersten Software-Mac-Emulator für den Amiga.

Amiga

Apropos Amiga: Auch dieses klassische System lässt sich emulieren. Die Software dafür heißt UAE. Ursprünglich stand die Abkürzung für “Unusable Amiga Emulator”, und das nicht zu Unrecht, denn selbst sehr schnelle PCs reichten in den 1990ern nicht aus, um nur das Basismodell Amiga 500 mitsamt seiner komplexen Hardware in Echtzeit zu emulieren. Zwischenzeitlich hat sich aber viel getan, so dass heutzutage selbst ein durchschnittlicher PC einen schnelleren Amiga emuliert als das damalige Spitzenmodell mit 68060-Prozessor. UAE steht mittlerweile auch für “Ubiquitous Amiga Emulator”.

Installiert wird UAE aus dem Dribble-Repository per:

yum install e-uae

Auch hier fehlt das Betriebssystem, das so genannte Kickstart-ROM. Wer einen Amiga besitzt, kann mit Software aus dem Aminet selbst eine Kickstart-Datei erzeugen. Eine andere Möglichkeit ist, sich einen kommerziellen Amiga-Emulator zu besorgen, der die Kickstart-Datei enthalt. Meistens findet man die begehrte Datei aber auch auf Amiga-Spielesammlungen für den PC, die in vielen Software-Shops erhältlich sind. Die Sammlungen sind preiswerter und bringen außerdem gleich noch “Futter” für den Emulator mit.

Atari ST

Auch für den damaligen Erzrivalen des Amiga, dem Atari ST, gibt es einen Emulator. Er heißt hatari und steht sogar im Fedora Extras-Repository zur Verfügung:

yum install hatari

Als Betriebssystem kommt hier das quelloffene EmuTOS zum Einsatz. Damit ist hatari tatsächlich zu 100% Open Source.

Commodore C64 und seine Geschwister

Gleich eine ganze Armee von Emulatoren bringt vice, vom C64 und C128 bis hin zu ganz alten Schätzchen wie dem Commodore PET. Installiert wird vice aus dem Dribble-Repository per:

yum install vice

Leider scheint es aber ein Problem mit dem Sound zu geben; ich bekomme jedenfalls immer eine Fehlermeldung, dass alsa nicht ansprechbar ist. Gerade beim C64 mit seinem legendären Synthesizer-Chip SID ist das tragisch.

ZX Spectrum

Auch wenn der C64 zweifellos der populärste Heimcomputer der 1980er war, gab es noch Alternativen. Eine war der Sinclair ZX Spectrum. Natürlich gibt es auch dafür einen Emulator, genannt FUSE (Free Unix Spectrum Emulator). Der Emulator selbst liegt im Extras-Repository, allerdings ohne die notwendigen ROM-Dateien. Diese können vom Dribble-Repository nachinstalliert werden. Folgende Zeile installiert den kompletten Emulator mit ROMs und verschiedenen Tools:

yum install fuse-emulator fuse-emulator-roms fuse-emulator-utils

Emuliert werden verschiedene Modelle wie der ZX Spectrum 48k, der ZX Spectrum 128k oder die baugleichen Geräte von Timex und Pentagon.

MAME

Ein wahrer Spezialist unter den Emulatoren ist MAME, der Multiple Arcade Machine Emulator. Sinn dieser Software ist, Spielhallen-Computer zu emulieren. Eine nicht gerade leichte Aufgabe, denn sehr häufig wurde die Hardware des Geräts für das Spiel maßgeschneidert.

Der Emulator steht im Freshrpms-Repository und wird wie folgt installiert:

yum --enablerepo=freshrpms install gxmame xmame xmame-roms

Um mit MAME spielen zu können, braucht man die ROMs der Originalsysteme. Diese sind ziemlich schwer auf legalem Weg zu beschaffen, denn eigentlich muss man dazu das System (oder wenigstens dessen ROM-Bausteine) besitzen. Wenigstens drei Spiele, deren ROMs von den Eigentümern freigegeben wurden, werden mit dem xmame-roms-Paket mitinstalliert.

Weitere Emulatoren

Dribble bietet noch eine Vielzahl an weiteren Emulatoren, zum Beispiel für Gameboy, Gamecube, NES, Nintendo 64 oder für MSX-Homecomputer. Viel Spaß beim Ausprobieren!

Surfen wie früher

Als ich eben las, dass der erste Netzbetreiber schon in Köln bezahlbare 100 Mbit-Leitungen für zu Hause anbietet, fielen mir meine ersten Schritte im Netz ein. Mein erstes Modem schob gerade mal 4 Kilobit pro Sekunde über die Kupferdoppelader. Es folgte kurz darauf ein (sündhaft teures) ZyXEL-Modem, das mit 19,2 kbit/s damals zu den schnellsten Modems überhaupt gehörte. Als ich dann ein paar Jahre später ISDN hatte und mit 64 kbit/s durch das Netz raste, fühlte ich mich wie ein König. Mein Umstieg auf DSL fing mit 768 kbit/s an. Lange Zeit war das schnell genug für mich. Mehr braucht kein normaler Mensch, dachte ich damals. Mittlerweile habe ich 18 Mbit/s und beneide bereits die 9000 Kölner, die eine solche 100 Mbit-Leitung haben können.

Und ich fragte mich, wie sich das Internet von heute mit den Geschwindigkeiten von damals anfühlen würde. Das war dann auch der Anstoß für diesen Artikel, denn Linux bringt schon seit geraumer Zeit serienmäßig die Fähigkeit des so genannten traffic shaping mit. Mit ein paar Handgriffen lässt sich die verfügbare Bandbreite ziemlich effektiv begrenzen und verteilen.

Der Bequemlichkeit halber habe ich per traffic shaping nur den eingehenden Datenverkehr gedrosselt. Das ist ausreichend, um beim normalen Surfen ein paar Nostalgiegefühle zu wecken. Mit folgenden zwei Befehlen (ausgeführt als root) wird der eingehende Datenverkehr auf 56 kbit/s begrenzt, was einem schnellen Analogmodem entspricht.

tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police \
  rate 56kbit burst 10k drop flowid :1

Nun wird flugs der Browser gestartet und sämtliche Caches gelöscht, wir wollen ja ein unverfälschtes Surferlebnis. 😁

Um dem Spuk ein Ende zu bereiten, reicht folgende Zeile aus:

tc qdisc del dev eth0 ingress

Das 56kbit kann durch andere Bandbreitenangaben ersetzt werden, zum Beispiel durch 64kbit für ISDN oder durch 4kbit für ein einfaches Analogmodem. Und wer es ganz abgefahren mag, simuliert mit 0.3kbit einen alten Akustikkoppler. Vor jeder Änderung muss das laufende Shaping über das zuletzt genannte Kommando zurückgesetzt werden. Und die Bandbreite des eigenen Anschlusses erhöhen kann man mit traffic shaping natürlich nicht. 😉

Übrigens: Die Fedora Core 6-DVD ist im Idealfall bei 100 Mbit/s in knapp 6 Minuten heruntergeladen. Bei 56 kbit/s braucht man dafür bereits über eine Woche, bei 4 kbit/s um die 100 Tage. Die DVD wäre dann fast schon veraltet, sobald sie fertig heruntergeladen ist.

Sun Certified Java Developer

Sun bietet verschiedene Zertifizierungen an, die die eigenen Fähigkeiten als Java-Entwickler in einem internationalen Maßstab bewerten sollen. Das “Sun Certified Java Developer”-Zertifikat bescheinigt, dass der Entwickler in der Lage ist, ein gegebenes Problem zu analysieren und unter Java-Standardtechniken daraus ein Programm zu entwickeln.

Voraussetzung für den Test ist das Bestehen des Sun Certified Java Programmers.

Dieser Test besteht nun aus zwei Teilen. Der erste Teil ist eine Aufgabe, die umgesetzt werden muss. Der zweite Teil besteht aus Fragen zu der eigenen Umsetzung.

Die gesamte Prüfung findet in englischer Sprache statt, wobei hier deutlich mehr verlangt wird, als nur einen englischen Text zu verstehen. Wer Probleme damit hat, längere Texte in Englisch zu verfassen, sollte sich das Geld besser gleich sparen. Das ist auch mein persönlicher Hauptkritikpunkt an der Prüfung. An sich sollte sie alleine die Fähigkeiten des Prüflings als Java-Softwareentwickler bewerten, aber zwangsläufig spielen so auch die Englischkenntnisse eine große Rolle in der Endnote. Englische Muttersprachler sind hier einfach im Vorteil.

Vorbereitung

Auch hier half mir die Complete Java 2 Certification Study Guide von Philip Heller (Sybex) weiter. Das Buch gibt wertvolle Tipps mit absoluter Prüfungsrelevanz. Ich empfehle außerdem die OOP-Pflichtlektüre schlechthin, die Entwurfsmuster von der berühmten Gang of Four.

Das schönste am ersten Teil der Prüfung ist aber, dass man ihn zu Hause und in aller Ruhe lösen kann!

Die Aufgabe

Nachdem man sich das Voucher für den ersten Teil gekauft hat, wird man in wenigen Tagen auf einer Test-Webseite freigeschaltet und kann sich sein Aufgabenpaket herunterladen. Es liefert die genaue Aufgabenstellung und vielleicht noch die eine oder andere dazu gehörende Datei.

Die Aufgabe ist klar und deutlich gestellt. Manche Bedingungen sind ausdrücklich ein must. Wer die nicht erfüllt, hat den ganzen Test nicht bestanden, und wenn der Rest der Lösung noch so gut ist. Es empfiehlt sich also, die Aufgabenstellung mehrmals und sehr gründlich durchzulesen. Die konkrete Aufgabe darf ich hier natürlich nicht wiedergeben, aber so viel kann ich sicherlich verraten: Ich sollte eine Swing-Applikation schreiben, die über das Netzwerk auf eine ebenfalls zu programmierende Datenbank zugreift.

Aus technischer Sicht ist diese Aufgabe für einen halbwegs routinierten Java-Entwickler problemlos zu meistern. Die Aufgabe stellte ein paar Einschränkungen, die zum Teil recht knifflig zu umgehen waren. Das ist durchaus Absicht, denn man soll auch seine Fähigkeit unter Beweis stellen, aus einer bereits bestehenden (und verkorksten) Teillösung noch das Beste herauszuholen.

Am Ende ein laufendes Programm zu haben, ist aber nur die halbe Miete. Es wird nämlich eine umfangreiche Dokumentation verlangt. Das fängt beim Quelltext an, der natürlich vernünftig formatiert, kommentiert und mit JavaDoc-Kommentaren versehen sein muss. Ebenso gehört eine kurze Benutzeranleitung dazu. Und schließlich soll man in einem Freitext schreiben, welche Probleme man bei der Umsetzung sah, wie man die Probleme löste und was für Alternativen es gab. Was ich abgab, bestand nur zu einem kleinen Teil aus Programmcode, die Dokumentation drumherum war weitaus umfangreicher.

Wenn man fertig ist, meldet man sich bei Sun, um Schreibrechte auf der Prüfungswebsite zu erhalten. Danach kann man dann sein Antwortpaket auf den Server hochladen. Man hat dabei nur einen Versuch! Wenn man auch nur eine Datei vergessen hat, muss man die (dann zum Glück ermäßigte) Prüfungsgebühr erneut bezahlen, bevor man das Paket ein zweites Mal hochladen darf.

Die Prüfung

Auf den ersten Teil folgt ein zweiter Teil, der ebenfalls absolviert werden muss. Im Gegensatz zu manchen Beschreibungen muss man nicht zuvor den ersten Teil bestanden haben. Die gesamte Prüfung wird erst dann bewertet, wenn der Prüfling beide Teile abgegeben hat. Deshalb sollte man so früh wie möglich nach Abgabe des ersten Teils einen Termin für den zweiten Teil machen, damit die eigene Lösung noch im Kopf präsent ist.

Auch für diese Prüfung muss man sich ein Voucher von Sun besorgen und mit einem Testcenter von Thomson Prometric einen Termin vereinbaren. Die Prüfung selbst dient eigentlich nur der Absicherung, dass man den ersten Teil auch selbst gelöst hat und nicht etwa nur abgeschrieben hat.

Man sitzt dafür an einem Computer und bekommt von ihm vier allgemeine Fragen zu der Umsetzung gestellt, die in einem Freitext beantwortet werden müssen. Dafür hat man insgesammt zwei Stunden Zeit.

Auch dieser Teil des Tests findet nur in Englisch und unter erschwerten Bedingungen statt. Ich tippe schon recht schnell englischen Text herunter und fand die zwei Stunden dennoch ein wenig knapp bemessen. Neben dem Zeitdruck kommt außerdem hinzu, dass keinerlei Hilfsmittel erlaubt sind, nicht einmal ein Englisch-Wörterbuch! Wer hier nicht halbwegs fit in Englisch ist, hat wohl kaum eine Chance.

Die Fragen selbst waren recht einfach und bargen wenig Überraschungen. Die Antworten hatte ich mehr oder weniger schon in der Dokumentation des ersten Teils gegeben, so dass ich sie einfach nur noch zu wiederholen brauchte. Wer sich auf den ersten Teil gründlich vorbereitet hat, braucht hier eigentlich nichts mehr zu befürchten. Wenigstens das…

Das Ergebnis

Beide Teile werden zusammen bewertet. Das heißt, der Prüfer bewertet einen erst, wenn beide Teile der Prüfung vorliegen. Das kann dann gute vier bis sechs Wochen dauern.

Die Fehlerquote ist recht gering bemessen: Von 400 möglichen Punkten muss man mindestens 320 erreicht haben, um zu bestehen. Vorausgesetzt natürlich, man patzt nicht gleich schon bei einer der must-Bedingungen.

Was es jetzt allerdings bedeutet, wenn man eine der Prüfungen nicht besteht, weiß ich nicht. Wenn man den ersten Teil nicht besteht, bekommt man die Chance, ihn gegen eine geringere Gebühr erneut einzureichen. Aber ob man dann auch den zweiten Teil wiederholen muss?