--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sets-to-strings-via-bitarrays/README.md Thu Jan 17 22:11:45 2013 +0900
+Today's just-for-fun experiment: encode a set of integers (usually seen as
+`?whtvr=3,7,8,9,11...` in urls) into a string. Sure, just doing `','.join`
+on a set works, but the result's ugly¹. Such stuff in urls was, I believe,
+one of the reasons Opera 11 decided to hide all parameters in address bar
+by default. Urls look better without cruft.
+So instead, I'd like to have something short and
+with letters in it. Something that looks like it could be a part of those
+"shortened urls" (i.e. <http://goo.gl/Gmzqv>²).
+How about encoding the set with base64?
+ '3,7,8,9,11,12,13,16,23,27,30,33'.encode('base64')
+ # 'Myw3LDgsOSwxMSwxMiwxMywxNiwyMywyNywzMCwzMw==\n'
+Gah! This just doesn't work. But hey, what we encoded here is not *the set*,
+it's a *string representation* of the set! How about ditching this string
+and think of other structure to represent sets. Hmm, what could it be?
+Hint: it's in the experiment title, duh.
+¹: although it's also easier to debug
+²: you can check real location without visiting short url with
+ `curl --head <url> | grep Location`
+Python (2 or 3), [bitarray].
+[bitarray]: http://pypi.python.org/pypi/bitarray/