Linkschleuder (21)
Spiele
- Bandit Racer — 2D-Rennspiel im Browser (via)
- Monster Mechanics — Viecher zusammensetzen (via)
- Gregor Samsa — merkwürdiges Hypertext-Abenteuer (via)
Musik
- Die Langweiligsten Orte Der Welt — Supershirt-Urlaubserzählung (via)
- Formlos und Frei — ruhiger Elektrodeutschpop mit Torsun (via)
- expr~ — Album von 0xA, programmiert in Pure Data (via)
- AWK Music — 8-Bit-Ambient-Musik, generiert mit awk
Musikvideos
- Hymne — Mad Maks singt von Berlin und zeigt ein Pop-Up-Buch
- Meine Welt — Homevideospaß vertont von SDP und Mad Maks
- Want You Gone — cover der Musik des Abspanns von Portal 2
- Pass this on — Gutfühlpop mit cross-dresser Rickard Engfors
- Lara plays the Mortal Kombat theme on piano! (danke, phil)
Porno
- Magic Erotica: Gallery 1 — detailliert arrangierte Posingfotos, teilweise eher verstörend als erregend (siehe auch: Gallery 3)
- Magic Erotica: X Love — Blowjob, Cumshot mit niedlicher Asiatin (via)
- Amazing Nerdy amateur girl giving boyfriend a blowjob (via)
- Tumblr after dark — Amateurporno-Aggregator (via)
Überlegungen
- Teilnahme an Veranstaltungen ohne Frauenquote
- Zur Ineffizienz wiederverwendbarer Raumschiffe
- Kuratieren von Software in offenen Systemen
- Die Gefährlichkeit der xxx-Top-Level-Domain
- Das Pokémon-Problem der Wikipedia
- Entwicklung von TV-Serien-Genres
- Text als universelles Datenformat
Analyse
- MIT-Studie zu Identität und Permanenz auf 4chan (via)
- Warum weibliche Yaoi-Fans sexistische Internetforen nutzen
- Kafkatrapping — rhetorische Fallstricke im Privilegiendiskurs (via)
- Studie dazu, wie romantische Gefühle Einstellungen von Frauen zu MINT-Fächern ändern
Software
- Requests: HTTP for Humans — Python-Bibliothek, die urllib2 abstrahiert
- Rc — The Plan 9 Shell — simpler Kommandozeilen-Interpreter
- cpulimit — Lastbeschränkung einzelner Prozesse unter Linux
- xui — kleine JavaScript-DOM-Bibliothek (via)
Ich glaub, es hackt.
Christopher Lauer ist ja bekannt dafür, dass der schon immer für alle Vorschläge der Blogger-Mafia zu haben war. Und jetzt ratet mal, für wen der neuerdings Werbung macht. DA KOMMT IHR NIE DRAUF!!1
Nebenbei: Ich lese Fefe ja nur wegen der leckeren Rezepte.
Für Alle, die Ähnliches vorhaben, gibt es das Bild auch als SVG.
The IT Crowd Theme in C
Inspired by VIznut, in the last few days I have experimented with music creation using a C compiler. This morning, I chose to write small program playing a melody not entirely unlike the theme of The IT Crowd when piped to /dev/dsp. True to the spirit of the intro, it ends with a division by zero.
#include <stdio.h>
main() {long int t;for(t=0;;t++) {fputc((int)(
(0/(128000-t))|(((t<92000)*0xff)&
(t%2000*(" $& %' '% %$"[t%32000/2000]-32)
|t%2000*("$$ %% '' %% "[t%32000/2000]-32)/2)|
(t%2000*("'&"[t%92000/2000]-32)&(t>92000&&t<96000)*0xff)|
(t%4000*("'&(&*$,* "[t%96000/4000]-32)&(t>96000)*0xff))
), stdout);}}
Much smaller version that sounds even better:
#include <stdio.h>
main() {long int t;for(t=0;;t++) {fputc((int)((1/(128000-t))|(t>96e3)?t%4000*("'&(&*$,*"[t%96000/4000]-32):(t%2000*
("$$$&%%%''''%%%'&"[t%32000/2000]-32-(2*((t>28e3)&(t<32e3)))))/(1+(t%8000<4e3))), stdout);}}
Fixing IPython Pipe Handling
On my Laptop, I use IPython as the default shell. Lately, I noticed pipe handling to be broken in some specific cases. I could trace this back to Python ignoring the SIGPIPE signal.
SIGPIPE gets sent to a process when it tries to write to a pipe that is not read by another process. The default action for a process under these circumstances is to terminate.
Imagine a process yielding a huge amount of text, piped to head to print the first ten lines. With SIGPIPE ignored, the process will continue after head has stopped reading. Usually, this will only affect runtime – however, if the original process outputs an endless data stream, the shell will hang.
To check whether your shell ignores SIGPIPE, try the following command: yes | tee | head. It should print 10 lines with a single y each, then terminate. If the shell hangs, printing a message similar to tee: standard output: Broken pipe, SIGPIPE is ignored.
TL;DR: In IPython, proper SIGPIPE handling can be restored using the signal module: signal.signal(signal.SIGPIPE, signal.SIG_DFL).