[[!meta title="ʇxǝʇ uʍop-ǝpısd∩"]] [Upside-down text][] (actually, rotated by π) appears to have been a hit last summer, but I've been seeing a bit on [#python][] recently: 15:21 < lieuwe> dash: so how should i call decode on a possibly unsafe string? ... 15:25 < kerio> lieuwe: ɯǝןqoɹd ɐ ǝq ןןıʍ sıɥʇ ǝʞıן buıɥʇǝɯos I though that was slick, so I looked around a bit today to see what people were doing in this regard (see the Wikipedia page for a list). Turns out to be a bit more complicated than I'd initially expected. The Unicode people apparently didn't see a need to methodically rotate characters, so while many have official "turned" forms (e.g. ɐ (U+0250) LATIN SMALL LETTER TURNED A), many others do not. The solution seems to be hunting around through the unicode tables looking for [homoglyphs][] (which turns out to be an interesting [phishing scheme][] in its own right). Anyhow, none of the implementations I found addressed conversion of ASCII characters with the scope and formality I felt this important topic deserved, so I put together [[my own converter|180.py]] ;). ¡ʎoɾuƎ Update: It seems that ikiwiki [doesn't like UTF-8 filenames](http://ikiwiki.info/todo/should_use_a_standard_encoding_for_utf_chars_in_filenames/). Update: As an April Fools joke this year, [kernel.org][] [rotated its entire main page][rotated]. [Upside-down text]: http://en.wikipedia.org/wiki/Transformation_of_text#Upside-down_text [#python]: http://www.python.org/community/irc/ [homoglyphs]: http://en.wikipedia.org/wiki/Homoglyphs [phishing scheme]: http://en.wikipedia.org/wiki/IDN_homograph_attack [kernel.org]: http://www.kernel.org/ [rotated]: http://userweb.kernel.org/~warthog9/april1/2010/ [[!tag tags/fun]]