UI design suggestion

When using drop-down lists it’s not always a good idea to preselect something. Why? Because someone will forget to change the default selection and you will get the preselected item, usually the first one in alphabetical order. Do you want an example? Look at my IELTS certificate:

IELTS certificate
Click for bigger image

Server outages

Half a day of downtime is bad, but two major outages in less then ten days are too much! It seems that Unixshell (barisione.org is a virtual XEN server hosted by them) is having some serious connectivity problems and they don’t know what redundancy is, even if on their web page they say:

Built-in redundancy through multiple redundant network connections and redundant router and switch configuration.

By the way, my server is finally back online!

Iterators and hash tables

Whoever used g_hash_table_foreach() knows how painful is to use since C doesn’t have closures, so you have to create a struct to pass local variables to the callback.

Jean-Yves Lefort wrote a patch for bug #500507 (now marked as accept-commit_now) that finally adds iterators to hash tables. Using glib 2.16 you will be able to do this:

GHashTableIter it;
gpointer key;
gpointer value;

g_hash_table_iter_init (table, &it);
while (g_hash_table_iter_next (&it, &key, &value))
  {
    /* do something with key and value */
  }

Thank you Jean-Yves!