Screenshots, April–Oktober 2013

So viel zum Thema Regelmäßigkeit. Aber was willste machen, wenn nacheinander Abi, Arbeit, Sommer und Studium kommen? Natürlich mit Phasen der großen Unlust zwischendurch. Whatever, hier also die Top 17 der hunderten Screenshots, die ich in dem halben Jahr gemacht habe.

Wenn Chromium gleichzeitig X und Haken rendert…
Not applicable

Manchmal ist Spam nicht ganz so einfach zu erkennen.
Spam (1) Spam (2)

Manchmal ist es auch nicht ganz so einfach, in PDFs die Zeichen richtig zu rendern.
Punkte über Buchstaben
Görlitzer Strasse

Bald bekommt die Wikipedia auch ein House of Lords.
Wikimedia Unterhaus

Das letzte Mal, als ich nachgeguckt habe, waren Christian und Patrick Männernamen… aber Facebook war schon immer etwas anders.
Frauen namens…

…genau wie Xcode, dieser First World Anarchist, der die Steuerelemente so rendert, wie er will.
Xcode & Control-Farben

Dass für diesen Fall überhaupt ein Check in den XNU-Code eingebaut wurde… andererseits besitzt XNU auch Endlosschleifen und doppelte Kernel-Panics.
XNU: going backwards!

Bei CD-Tools scheint es Standard zu sein, dass irgendeine Zahl über 100% liegt.
108 Prozent

Tja, file ist halt das englische Wort für Feile.
Ablage = Feile

Die Bundesnetzagentur hat auch noch nie vom Abfangen von Exceptions gehört.
Kleine Exception

So macht GTA gleich viel mehr Spaß! Wine bei der Arbeit.
GTA Zeichenfehler

Einen Antrag auf Erteilung eines Antragformulars, zur Bestätigung der Nichtigkeit des Durchschlagexemplars…
iTunes-Bürokratie

Intel hat die Kommafehler in ihren Prozessoren immer noch nicht behoben.
Kommafehler

Kein Kommentar.
Loncapa (1) Loncapa (2)

SLPS 00001 und Karte

Mednafen, PS1-Spiele, Mac OS und DualShock

Mednafen ist ein absolut geiler Emulator. Von Super Mario Bros. über Pokémon bis Sonic the Hedgehog kann man so ungefähr alles spielen. Und Mednafen hat auch einen (Emulator-)Kern für PS1-Spiele.

Es ist allerdings nicht ganz so einfach, Mednafen dazu zu bewegen, auch PS1-Spiele zu spielen. Deswegen hier jetzt die komplette Anleitung, wie ihr mit Mednafen auf dem Mac PS1-Spiele spielen und mit eurem PS3-DualShock-Controller drahtlos steuern könnt.

  1. Mednafen & NekoLauncher runterladen. Die jeweils aktuelle Version lässt sich leicht über einschlägige Foren finden, und diese lassen sich wiederum über einschlägige Suchmaschinen finden. NekoLauncher an einen Ort seiner Wahl verschieben.
  2. PS1-BIOS runterladen. Es wird empfohlen, das SCPH-550x-BIOS zu nehmen, sprich: SCPH5500.bin für Japan/JP, SCPH5501.bin für Nordamerika/NA und SCPH5502.bin für Europa/EU. (Die BIOS findet man auch mit Suchmaschinen; aus rechtlichen Gründen gebe ich hier keine Links an.)
    Die Spielekonsolen damals noch mit Regionssperren versehen, was an den analogen Videosystemen liegt. Europa nutzte PAL, Nordamerika und Japan NTSC, wobei Nordamerika NTSC-U/C (United States/Canada) verwendete und Japan NTSC-J. Weiß der Geier, warum sich nicht alle auf einen Standard einigen konnten. Wenn eure Konsole einen Modchip hat (oder ihr eine Developer-Konsole habt, was aber wahrscheinlich unwahrscheinlich ist), ignoriert die Konsole den Regionscode.
  3. Im Ordner ~/.mednafen (im Finder cmd+shift+G drücken und den Pfad eingeben) und dort im Ordner firmware müsst ihr die drei BIOS-Dateien ablegen.
    Mednafen PS1 Firmware
  4. In der Konsole ein Abbild der CD erstellen. Dazu müsst ihr zuerst rausfinden, welchen Gerätenamen das DVD-Laufwerk hat. Im Festplattendienstprogramm (Programme → Dienstprogramme oder mit Spotlight suchen) klickt ihr links auf das DVD-Symbol und dann in der Menüleiste auf “Info”. Unter “Eintragspfad” steht der Gerätename.
  5. Jetzt im Terminal (wieder unter Dienstprogramme o. Spotlight zu finden) folgendes eingeben: dd if=/dev/GERÄTENAME of=~/Desktop/WÄHLT_EINEN_SCHÖNEN_NAMEN_FÜR_DIE_DATEI.iso
    Abbild im Terminal erstellen
    Ein paar Minuten warten, dann ist das 1:1-Abbild der CD fertig. (Im Bild steht noch sudo am Anfang des Befehls, das könnt ihr weglassen.)
  6. Öffnet LiquidCD. Das ist ein kostenloses Tool, das für uns die BIN/CUE-Kombination erstellen kann. Geht auf den Tab “Andere” und zieht die ISO ins Fenster. Es wird eine Abfrage kommen, ob die Datei analysiert werden soll, hier bitte bestätigen. Es sollte jetzt im LiquidCD-Fenster der Name der ISO-Datei und darunter mindestens “Ein Daten-Track” stehen.
    LiquidCD-Fenster
    Über MediumAls Disk-Image speichern könnt ihr jetzt die CUE und BIN erstellen. Das dauert, je nach Spiel, ein paar Sekunden bis Minuten.
  7. Öffnet wieder NekoLauncher, und geht über cmd+Komma in die Einstellungen. Im Tab “Emulation” wählt ihr PlayStation aus der Liste aus und klickt auf den Pfeil rechts davon. Die drei Pfade für die BIOS-Dateien sollten eingetragen sein; wenn nicht, müsst ihr sie “von Hand” eintragen.
    Mednafen PS1-Einstellungen
    Bei Input device for Virtual Port 1 solltet ihr dualshock auswählen, wenn ihr einen DualShock 3 oder Sixaxis-Controller habt und den verwenden wollt. Andernfalls lasst das Feld so, wie es ist. Schaut auch in die zweite Anleitung, wie ihr den Controller mit dem Mac verbindet.
  8. Auf geht’s! Einstellungen schließen, FileOpen… und dann die CUE-Datei auswählen. Watch and behold!
    PS1-Spiel startet
  9. Die Controller-Einstellungen ruft ihr über alt+shift+1 auf. Ihr müsst jede Taste definieren. Sollte das Programm nach zwei Inputs für eine Taste fragen (z.B. nach “DPAD LEFT (1)” und danach nach “DPAD LEFT (2)”), einfach die entsprechende Taste zwei Mal drücken. Für die vier PlayStation-Symbole empfehle ich WASD (W = Dreieck, A = Viereck, S = Kreuz, D = Kreis).
    Tasten wie den Analog-Stick könnt ihr auch alles auf eine Taste legen, den brauchen eh die wenigsten Spiele, und wenn sie ihn benutzen, dann können sie meist auch über das D-Pad gesteuert werden. Der erste Controller war ja ohne Analog-Sticks, von da her müssen eh alle Spiele per D-Pad steuerbar sein.
    Wenn ihr den DualShock eingerichtet habt, solltet ihr natürlich die Tasten auf dem Controller drücken, die kann man ja wirklich problemlos mappen. L3/R3 erreicht man übrigens, sollte das einer nicht wissen, indem man die Sticks nach unten drückt bis es klickt. (Wenn’s knirscht, war’s zu viel Druck.)
  10. Viel Spaß beim Zocken! Für das “ultimative Gaming-Erlebnis” in den Vollbildmodus gehen (alt-Enter) und den Mac an einen Fernseher sowie eine Anlage anschließen. Alleine der Boot-Sound ist es wert. Meine allerersten Erinnerungen an Videospiele sind Pinball für Windows XP (wo mein Opa mich gnadenlos abgezogen hat… Button-Mashing ist nicht die richtige Strategie für Pinball) und der Startsound der PlayStation 2 (mit PS1-Spielen wie Lego Racers und PS2-Spielen wie Jak & Daxter – die ich übrigens beide heute wieder besitze!).

Für Windows müsst ihr natürlich andere Tools nehmen, um die BIN/CUE von der CD zu kratzen, und auch die Dateipfade lauten unter Windows anders. Den DualShock schließt ihr unter Windows am besten über die MotionInJoy-Treiber an (Artikel im Blog von November 2011).
Und hier noch die Anleitung, wie man den DualShock an den Mac anschießt (die Kurzversion):

  1. PS3 vom Netz nehmen, damit sie nicht aus Versehen angeht.
  2. Verbindet den Controller mit einem Mini-USB-Kabel mit dem Mac.
  3. Geht in die Systemeinstellungen unter Bluetooth und schaut, dass es auch wirklich an ist.
  4. Klickt auf den PS-Knopf auf dem Controller. Der Controller sollte bald darauf in der Geräte-Liste auftauchen…
    DualShock 3 am Mac
  5. Mednafen starten, Input-Konfiguration starten und die Tasten des Controllers auf die Inputs des Emulators mappen.

Man kann den Controller auch mit den anderen Emulatoren nutzen. Sonic mit D-Pad und X als A ist doch viel angenehmer als WASD und Leertaste.

Zahlenfunktionen für Java

Die Funktionen hier habe ich für ein paar Übungen in meinem Programmieren-Kurs geschrieben, und damit hier keiner “Plagiat!!!” schreien kann (besonders nicht unser Dozent), veröffentliche ich den Code hier präventiv als Public Domain/gemeinfrei. Anders gesagt: jeder kann das Zeug hier frei verwenden!
An den Anfang des Codes müsst ihr ggf. noch import java.lang.Math; einfügen.

Snippet 1: randInRange() – Eine Zufallszahl innerhalb von Zahlengrenzen

public static int randInRange(double lower, double upper) {
return (int)Math.round(Math.random()*(upper-lower)+lower);
}

Snippet 2: roundToNthDecimal() – Eine Zahl auf die n-te Nachkommastelle runden
public static double roundToNthDecimal(double value, double decimal) {
return Math.round(value * Math.pow(10, decimal)) / Math.pow(10, decimal);
}

Die letzte Funktion funktioniert übrigens so: eine Zahl value wird mit 10decimal multipliziert und gerundet. Dann wird sie wieder durch 10decimal geteilt. Beispiel: 1.23456 auf die 3. Nachkommastelle runden. 1.23456 * 103 = 1.23456 * 1000 = 1234.56; runden → 1235; 1235 / 103 = 1.235. Wer Nachkommastellen wegschneiden statt runden möchte, muss im Code bloß Math.round durch Math.floor ersetzen.

Ein P2P-Ad-Hoc-Netz für Musik, mit Handys?

Irgendwo hab ich die Idee schon mal gesehen, habe leider vergessen wo, aber heute während der Busfahrt nach Hause kam mir der Gedanke wieder: ein Ad-Hoc-Netz (d.h. die Handys sind untereinander verbunden, z.B. per WLAN, und leiten alle Daten eigenständig zum Ziel) mit einem Peer-to-Peer-Dienst zum Teilen von Musik im Hintergrund!

“Hä, was?” Einfach. Stellt euch einen Bus mit 50 Fahrgästen vor. Davon haben 35 bis 45 ein Smartphone mit vielleicht ihrer ganzen Musik, oder Teilen davon. Wie wäre es also, wenn diese Handys untereinander ihre komplette Musik austauschen könnten? Speicherplatz ist 2013 günstige Massenware. (2006 habe ich für eine SD-Karte mit 1GB 35 Euro bezahlt, also Ruhe auf den billigen Plätzen.)
Wenn jetzt also diese WLAN-fähigen Smartphones untereinander ein kleines Netz aufbauen – jedes Gerät ist mit zwei anderen verbunden, der Redundanz wegen – dann können sich alle Geräte in diesem Netz “sehen”.
Und wenn dann diese Handys auch noch ins kleine Netz rufen “ich biete Musik-Auto-P2P an!” und andere Handys mit der Software das Signal empfangen, können sie zurückmelden “hey ich auch, lass Daten austauschen!” Und so senden sich Handy A und Handy B gegenseitig ihre komplette Musiksammlung. (Duplikate verwerfen, gewisse Genres bevorzugen, Versionen mit schlechter Qualität ersetzen, tag-freie Songs ignorieren etc. sollte der Dienst natürlich auch können.)

Irgendwann, wenn man jahrelang mit dem Bus gefahren ist, oder Mitte Juli die A7 Richtung Nordsee nimmt (was sich nicht viel nimmt in puncto “verschwendete Lebenszeit”), besitzt man automatisch sehr viel mehr Musik. Und das schöne? Stellt euch vor, euer Freund ist gerade von seiner Mittelamerika-Reise zurückgekommen. Dort hört man andere Musik – Musik, die man in Europa vielleicht gar nicht kennt. Die Leute dort hören jetzt deutsche Volksmusik und norwegische Fischerchöre (kann ja sein, dass der LKW-Fahrer vom Elefantenrennen in den Kasseler Bergen einen komischen Musikgeschmack hatte), und euer Freund hat von dort 16GB Reggae und Mariachi-Musik mitgebracht. Wenn eure Freundin dann zwei Monate später ihre Freundin in Island besucht (yay, Globalisierung), bringt sie die mittelamerikanische Musik – die sie von euch hat, die ihr von eurem Freund hat – unter die Schafe und Leute.
Wenn man genug Zeit und Speicherplatz hat, könnte es sein, dass jeder sämtliche Musik besitzt. Und die Speicher ist nun wirklich kein Problem mehr – für ca. 200-250€ kann man im Herbst 2013 schon 4 Terabyte Plattenplatz kaufen.

Copyright? Klar, “ganz legal” wäre das Vorhaben nicht. Aber was wollen die denn machen? Wollen die alle Fluggäste von Mexiko-Stadt nach Frankfurt verklagen, weil sie illegal Musik kopieren? Und wie wollen sie es beweisen? Auf der technischen Seite könnte man die Übertragung verschlüsseln – die reine Existenz eines solchen Netzes würde dann noch keine Datenübertragung beweisen können, oder zumindest keine illegale. Und wer sich mit einem solchen P2P-Netz verbindet, beginnt automatisch mit Senden und Empfang (sodass die “Bösen” automatisch selber das Urheberrecht verletzen, höhöhö).

Was manuell mit dem Sneakernet geht, können Computer für uns übernehmen. Anstatt Festplatten oder USB-Sticks zu tauschen, hält man sich einfach ein paar Minuten im gleichen Raum auf und trinkt einen Kaffee oder Tee, je nach Vorliebe, oder erzählt sich was. Währenddessen dröhnen sich die beiden Handys mit Daten zu, und am Ende haben beide ein paar Stunden Musik mehr auf dem Handy.

Kaffee!

Kaffeepause

Ich hab nicht nur einen Job, bei dem man immer Kaffee aus dem Kaffeevollautomaten zapfen kann (Espresso mit 3/3 Stärke und 2/3 Tassengröße!) – ich hab auch einen Job, an dem man wunderbar Pause am Arbeitsplatz selber machen kann. In der Nähe sind zwar Bundesstraße und Autobahn, aber die stören einen absolut nicht, wenn man da sitzt und sein Koffein wegsüppelt.
Man sitzt zwar auf kaltem Beton, aber ansonsten ist der Platz echt super. Schon irgendwie schade, dass ich nächsten Monat da schon wieder weggehe(n muss).

Me & My Cup o' Coffee

Total unspektakulär und 100% sinnfrei, aber ich wollte das trotzdem mal loswerden.

Header: BBFC-Logos

BBFC, 1989 – 2002

Aus purer Langeweile habe ich mal die BBFC-Altersfreigabe-Logos von 1989 bis 2002 als Vektorgrafiken gezeichnet – leider ist bei Sketch der SVG-Export kaputt und es dauert noch etwas, bis ich die Dateien bei dieser Hitze manuell korrigiert habe. (Dann werden sie aber nachgereicht.) Deswegen hier die Dateien zuerst als Bilder in ca. 400x400px (12, 15, 18) bzw. 500x700px (U, Uc, PG) bzw. 650×850 (R18).

BBFC Universal Rating (1989–2002)


BBFC Universal Children Rating (1989–2002)

BBFC Parental Guidance Rating (1989–2002)

BBFC Suitable for ages 12 and older Rating (1989–2002)

BBFC Suitable for ages 15 and older (1989–2002)

BBFC Suitable for ages 18 and older (1989–2002)

BBFC Restricted to those 18 and older (1989-2002)

Die SVG-Dateien lade ich später hoch, wenn sie alle korrigiert sind.

Limericks – yay und nay

Heute hab ich ein kleines Buch gekauft mit dem Titel “Limericks”, verfasst von Edward Lear. Na so was, dachte ich, wenn der Typ seine Limericks schon posthum drucken lassen kann, dann können die gar nicht mal so schlecht sein. Ich mag diese Gedichte ja.

Und dann liest man so was:

There was an Old Person of Chili
Whose conduct was painful and silly
He sate on the stairs
Eating apples and pears
That imprudent Old Person of Chili

WTF, das ist doch kein Limerick! Technisch ist es das schon – aber für mich ist ein Limerick ein blödsinniges Gedicht mit diesem Reimschema, und nicht etwa ein sinnloses und absolut zweckfreies Gedicht.

Hier ein Limerick, den ich vor hunderten von Jahren mal geschrieben habe:

Es hat eine Bäuerin aus Siegen
Probleme beim Melken der Ziegen:
Sie konnte im Stehen
die Euter nicht sehen.
Jetzt milkt sie die Ziegen im Liegen.

Und zum Schluss noch einen, den meine Mutter irgendwann in den 80ern geschrieben hat:

Es geschah einst im Zentrum von Speyer
bei einer sehr lebhaften Feier:
ein Gatte gab rau
dem Freund seiner Frau
einen kräftigen Tritt in die… Kniekehle.

Und Mr. Lear hat zu Lebzeiten 216 von seinen Limericks geschrieben… na herzlichen Glückwunsch, wenn ich genauso kreativ wäre wie der Mann, könnte ich zu Lebzeiten hunderte mehr schreiben. Jetzt mal im Ernst. (Ich hab übrigens schon mal 6 andere Limericks verfasst – schamlose Eigenwerbung…)

Es war einst ein Mädchen aus Meppen
das musste die Milchkannen schleppen
Sie stößt sich den Zeh
und schreit laut “Au weh!”
Das fußkranke Mädchen aus Meppen.

Seht ihr? War gar nicht so schwer. (Übung für Fortgeschrittene: Castrop-Rauxel, Oberföhringen, Wanne-Eickel/Innenstadt.)