~bohwaz/blog/

Avec de vrais morceaux de 2.0 !

Dicky - Skyrock.com compression library

Dicky is a compression/decompression library from jedisct1 which was developed for the Skyrock.com social network. I don't know if it's still in use nor if it was really used one day. It's main purpose was to compress the text written on blogs by users, who happen to be using a very personal way of using Unicode characters. Just to know what are we talking about here is an example:

ღ...ღ V0us ne pensez pas qu'un bl0g sans déc0 est beauc0up m0ins j0li ღ?ღ Il est tant d'habiller votre skybl0g et v0ici un j0li magazin ღ!ღ ღp0ur skybl0g f0nd blancღ 0u p0ur t0us les autres, suffit de demanderღ Enfin bref, b0n sh0pping et b0nne visite ღTu seras t0uj0urs le ou la bienvenueღ

Well maybe that's not the best example but the basic idea is that they're replacing usual vowels with diacritics or Unicode characters that look the same, eg. 'Voir' is replaced by 'Wôÿr'. Dicky is a solution to help compress efficiently this content, and more important, compress it fast, because it is very high load website. Before Dicky, Skyrock.com was using zlib to compress content. Dicky only handles ISO-8859-1 encoding, not UTF-8.

To use Dicky you have to download its source code from its GitHub page and then you'll need to append this line to the 'dicky_p.h' file:

#define SIZE_T_MAX 102400

Because it's missing from the released package. Then just compile the small test program using:

$ gcc -Wall -o dicky dicky.c test.c

Using Dicky in a program should be easy, just read the test.c program source code or the small API doc from the GitHub page.

Write a comment
(optional)
(optional)
(mandatory)
                     _       
  ___ ___  _   _ ___(_)_ __  
 / __/ _ \| | | / __| | '_ \ 
| (_| (_) | |_| \__ \ | | | |
 \___\___/ \__,_|___/_|_| |_|
                             
(mandatory)

URLs will create links automatically.
Allowed HTML tags: <blockquote> <cite> <pre> <code> <var> <strong> <em> <del> <ins> <kbd> <samp> <abbr>