Saturday 24 January 2009

Coincidence

Coincidence: Compiling a list of things that I want to do before I die, and finish at number #42.

Wednesday 15 October 2008

Face recognition

One of my all-time favorite topics of computer science has always been face recognition, which is why I picked it as a topic for my dissertation. More specifically, I will be working on a real-life application to identify victims of big disasters using pictures send in by family (thousands of people sending in images to try to identify family members).

The big problem is: I can't use those pictures in my research without consent and I can't really request the consent due to the gruesome circumstances. So I'm looking for the second best solution: time lapse photographs. Which is why I blogged about it in the first place :)

I'm looking for some people willing to provide me with some photographs taken at various points in their life. Ideally 1 photograph for every 2-3 years of aging, starting at childhood, but I'm happy with everything I can get my hands on. I already contacted several people who are doing "one picture every day" projects, and they were all kind enough to help me out, but more data is always better :).

  • (All images will only be used to test computer algorithms, optionally 1 or 2 will appear in my dissertation text, but only with your explicit consent)
  • (The pictures don't have to be 'perfect'; facial hair, glasses, piercings, tattoos, scars, ... are all perfectly acceptable. It's actually better since it will increase the variation in my test data)

You can send pictures to ben (dot) motmans (at) gmail (dot) com .
Thanks!

Monday 1 September 2008

Summer of Code

During this summer, I've been working hard on Galaxium messenger, not only big and fancy features but also a lot of bug squashing.

The upcoming 0.8 release will contain all these goodies, so let's recap ...

  • IRC Support:
    IRC will be one of several protocols that will be supported by default in Galaxium 0.8. The others are MSN, XMPP (Jabber), Aim and basic GaduGadu support

  • Fast file transfers:
    If supported by the protocol, Galaxium 0.8 will be able to transfer files directly. By using Mono.Nat Galaxium is able to automatically map ports on your router and negotiate file transfers even when you are behind a router.

  • Gnome integration:
    For now, only the simplest form of integration is available, namely automatic detection of GNOME proxy settings.

  • Now playing:
    MSN Messenger on Windows added this feature years ago and Pidgin only supports it with additional plugins. Galaxium now supports it by default (Amarok, Audacious, BMPx, Banshee, Exaile and Rhythmbox). Other players can be supported by writing simple add-ons.

  • Hello world add-on:
    One of our goals is to open up the development to other people. All information required to develop add-ons will be added to http://code.google.com/p/galaxium/wiki/Development
    Because our documentation effort has only started recently, it's mostly on a per-request base. If you want to develop a specific add-on, drop us a mail or ask us on IRC, we will gladly write a tutorial to point you (and others) to the right direction.

  • Packaging:
    One of the things that turned up really great imho, are our precompiled packages. The list of supported distributions will certainly grow in the future, but the popular ones already have easy to follow instructions that you can find here.

  • Audio / video conversations:
    One of my goals of this summer was MSN audio/video support, but since Paul (one of the other main developers of Galaxium) started working on this in June/July, I had to find another goal to fill the last couple of weeks, so I switched to libjingle (Jabber/XMPP audio conversations). Since I had no prior experience with Jabber, it involved a lot of research. Both of the protocol itself and of libjingle. The fruits of my research will be available on the SVN server late September, and hopefully stable enough to be included in 0.8

The next thing on my list is to enjoy myself for the rest of my vacation, so I'm well rested and ready to start working on our endless list of feature requests in a couple of weeks :)

Sunday 15 June 2008

Galaxium Messenger 0.7

For those who don't know Galaxium, it's an instant messaging application designed for Gnome, written using the wonderful Mono framework.

(more screenshots: here)

Galaxium is already a couple of years old (the project originated in 2003), 5 years and 2 complete rewrites later, we finally have an application that we can be proud of.

The current release (0.7) already offers many nice features ...
That's not all folks ... :) Galaxium also has several in-progress features that you will hear about in the future, like MSN webcam support, direct (full-speed) file transfers, full support for IRC and Jabber and basic GaduGadu and Aim support

So please give it a try using the source tarball or one of our repositories and report any issue you might encounter

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/

Sunday 23 December 2007

An early Christmas present

According to the MonoDevelop survey (http://www.monodevelop.com/Survey_Results_2007), 477 people would like to have Profiling support integrated. So ... here it is :)


Some features:
  • Support for heap-shot and heap-buddy
  • Run a MonoDevelop project using a given profiler
  • Get profiling results of a process that is already running
  • Open existing snapshots (and auto detect the snapshot type)
  • Save snapshots
After my exams, I will add support for live profiling, using the new profiler that Massimiliano Mantione is working on (see blog post).

To try it out, you will need the svn version of MonoDevelop. Instructions and some more information can be found on the wiki: http://www.monodevelop.com/Profiling_support

Thursday 16 August 2007

MonoDevelop Database Addin

This will be my first post on my new blog, and the first one that will appear on monologue, so ... hello :). I started submitting small monodevelop patches a couple of years ago and this year I was accepted into the summer of code to work on a database addin. A couple of months and 35000 lines of code later, it is time to show my work.

The new MonoDevelop.Database addin provides some interesting features that will hopefully shorten the development of your database applications:
  • Query databases from within monodevelop and browse through db objects
  • Create new databases
  • Create, drop and rename tables, views, procedures, triggers, constraints, ...
  • Alter stored procedures and views
  • Support for PostgreSQL, Sqlite, MySql and SqlServer
  • ...
In the future (meaning, mid september), support will be added for table alterations and I will investigate solutions for automatic database glue generation.

Some screenshots:


All the details and some more screenshots can be found on the wiki page.
(Sadly, due to an unfortunate timing of some school exams and a change in the monodevelop addin paths, the patch does not work with the current svn version, this will be fixed after my exams around August 27.)