Sunday 25 May 2008

libanculus-sharp

During the past few years, I wrote a C# library called "libcommon" that I use in every project. It's one of those project that every programmer wrote in their life.

Lately, especially due to the insane progress of Galaxium Messenger, the library matured rapidly.

So, a while ago I decided to create a nice project website and I released the complete source code under the MIT/X11 license. I also renamed the project to "libanculus-sharp" (anculus means 'servant' in Latin, which sums up the goal of the library pretty good).

Enough chit-chat, now the raw technical facts:
  • XML Configuration files (primitive types, strings, serializable objects, lists, arrays, ...)
  • Sorting algorithms (quicksort)
  • String Search algorithms (Boyer-Moore, Aho-Corasick)
  • Translation support (Managed Gettext)
  • Logging (Console, Colored Console, File)
  • Gui thread dispatching (Gtk-sharp, System.Windows.Forms)
  • Collections (sorted list)
Oh, and there are code samples on the wiki, extensive documentation in monodoc and precompiled packages for Ubuntu, openSUSE, debian, Fedora and Mandriva.

you can find the library here: http://code.google.com/p/libanculus-sharp/

2 comments:

Eric said...

Being a regular reader of your log, I just stumbled on your post this morning. I am from a French background and I was shocked by the name you are planing to give to your libcommon library. Although anculus might mean something to the romans it also sounds similar to the french word "enculer" which means fuck in French. With that piece of information, I hope you will reconsider!

Cheers,
__
Eric

Ben said...

lol :)

the problem with "libcommon" is that there is one for almost every programming language in the world, so it doesn't really stand out in the crowd

it is unfortunate it sounds similar to "enculer", but I'm not going to change the name again (the full name is libanculus-sharp, so I doubt this still sounds like "enculer" :) ), eventually almost every name will have an unfortunate sounding counterpart in another language