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