Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit af97171414aa8487ceac77a915ab6e2f57c8289c
parent 218a07bc3a4c019db0b6eb6620e184bbeb158ff6
Author: Anonyrodent <>
Date:   Thu,  3 Mar 2011 14:41:24 +0100

updated libraries page
Diffstat: | 23+++++++++++++++++++++++ | 42+++++++++++++++++++++++++++++++++++-------
2 files changed, 58 insertions(+), 7 deletions(-)

diff --git a/ b/ @@ -0,0 +1,23 @@ +Broken Libraries +================ + +These libraries are broken/considered harmful and should not be used if it's +possible to avoid them. If you use them, consider looking for alternatives. + +* [glib][1] - implements C++ STL on top of C (because C++ sucks so much, let's + reinvent it!), adding lots of useless data types for + ["portability" and "readability" reasons][2]. + Alternatives: whoever thinks it needs alternatives shall fill this space. + +* [GMP][3] - GNU's bignum/arbitrary precision library. Quite bloated, slow and + [calls abort() on failed malloc][4] + Alternatives: [libtommath][5], [TomsFastMath][6], [MPI][7] + + +[1]: +[2]: (glib Basic Types) +[3]: (The GNU Multiple Precision Arithmetic Library) +[4]: "GMP calls abort() on failed malloc()" +[5]: +[6]: +[7]: diff --git a/ b/ @@ -1,10 +1,11 @@ COOL LIBRARIES ============== -This category is for small, usable development libraries, which can be used for writing -software that sucks less. -These should be under the MIT/X consortium or BSD licenses or public domain, because it makes -them legally compatible with other suckless projects. +This category is for small, usable development libraries, which can be used for +writing software that sucks less. +These should preferrably be under the MIT/X consortium or BSD licenses, WTFPL, +or public domain, or alternatively LGPL, because it makes them legally +compatible with other suckless projects. libc implementations -------------------- @@ -12,12 +13,39 @@ libc implementations * [musl]( - standard C library that attempts to be even smaller than uClibc * See also: [embedded libc comparison]( -configuration file parsers +Configuration file parsers -------------------------- -* [iniparser]( - small implementation for parsing ini files (MIT licensed) +* [iniparser]( - relatively small ini parsing library, contains a dictionary data structure and accessory functions (MIT licensed) +* [ini.c]( - code snippet on (public domain) +* [cfg.c]( - code snippet for parsing a simple key-value config file (public domain) +* [initvars.c]( - yet another snippet (public domain) -compression +Compression ----------- * [liblzf]( - very fast, legally unencumbered compression library (dual licensed: 2-clause BSD or GPL License) * [xz embedded]( - lightweight decompressor for the xz LZMA compressor (public domain) * [zlib]( - the "standard" compression/decompression library used in many applications ([zlib license]( + +libtom project +-------------- +All of these are dual-licensed under WTFPL and also public domain. According +to the website, "[…] the GPG and OpenSSL folk assume that completely abhorrent +and messy source code is ok, so long as it works. The LibTom Projects aims to +change this line of thinking." +* [libtommath, libtomcrypt and libtomfastmath]( + +Cryptography +------------ +* [libtomcrypt]( - the cryptography library from the libtom project +* [polarssl]( - lightweight SSL/TLS implementation using libmpi (unfortunately GPL) + +Mathematics +----------- +* [libtommath]( - math/bignum library (can be used insted of the much bigger [GNU MP]( library). +* [libtomfastmath]( - port of libtommath using inline assembler for speedup on various architectures +* [libmpi]( - lightweight math lib from which libtommath was originally forked + +Miscellaneous +------------- +* [code snippets database]( - contains various code snippets, most of which are public domain +* [pjsip]( - open source SIP stack (GPL)