Eine algorithmische Konsolensymphonie

Auf was man nicht alles stößt, wenn man ab und zu den Gesprächen in #debian auf irc.debian.org folgt. Hier ist das Wochenende-Rezept für pure Nostalgie gewürzt mit etwas geekig und retro.
Man nehme einen IBM Thinkpad 600 oder ein vergleichbares Modell, installiere Debian Squeeze, seine Konsolenfavoriten, starte FbTerm und darin dann einen Terminalmultiplexer wie Screen oder Tmux. Nun nur noch mit Irssi zu #debian verbinden und den passenden Moment abwarten, wenn ausnahmsweise einmal ein Youtube-Video gepostet wird.
Mit Hilfe von gpm gibt es Mausunterstützung, womit man leicht den Link kopieren und im gleichzeitig geöffneten elinks Textbrowser einfügen kann. Sobald die Seite aufgerufen ist, kommt der youtube-dl+mplayer Trick erneut zum Einsatz.
Jetzt noch gut streamen lassen und Mplayer beginnt automatisch mit dem Abspielen des geposteten Videos, natürlich gegen den Framebuffer!

Jetzt noch dicke Brillengläser kaufen, sich Zähne mit Überbiss wachsen lassen und die Musik des Videos laut aufdrehen. Fertig! 😉 Der perfekte Tipp übrigens um in jedem Haus, jeder Wohnung oder WG bald alleine zu sein. 😛

Ein winziges C-Programm

In nachfolgenden Video geht es um ein winziges in C geschriebenes Programm, womit sich hörbare Klänge und so etwas wie 8bit-Musik erahnen lässt. Das Beeindruckende ist wirklich der Umfang des Codes, der in einer Zeile variierende Klangmuster produziert. Wer es selbst mal ausprobieren möchte und experimentieren will, kann z.B. einfach folgenden Code ausführen. Die faszinierende Idee dazu stammt vom finnischen Blogger viznut aus seinem englischen Blog countercomplex. Kudos!

echo "main(t){for(t=0;;t++)putchar(t*(t>>((t>>9|t>>8))&63&t>>4));}"| gcc -xc -lm -&&./a.out|aplay

4 Replies to “Eine algorithmische Konsolensymphonie”

  1. Vielen Dank für den Hinweis auf die 8-Bit-Musik in einer Zeile! Da wird man richtig noſtalgiſch … und da mein Netbook keinen Syſtemlautſprecher hat, kann ich mir damit vielleicht einen entsprechenden ›beep‹-alias zuſammenbauen :).
    Was mir noch aufgefallen iſt: Der Einzeiler ſcheint die geſamte Audioausgabe zu beeinfluſſen – wenn ich mit Totem etc. eine ›normale‹ mp3-Datei abſpiele, während der Einzeiler lauft, wird auch diese Muſik live ›ge8bittet‹: Für dieſen Zweck macht ſogar eine ſtumme Verſion des Einzeilers Sinn: echo "main(t){for(t=0;;t++)putchar(0);}"| gcc -xc -lm - -o null-sound.out && ./null-sound.out | aplay

  2. Coole Idee! Die default Einstellung von aplay scheint 8000Hz und mono zu sein. Beethovens 9. klingt gerade äußerst interessant in den Boxen. 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.