Valentine’s and after

Valentine’s day was actually quite quiet for the most part. Our company gave us a bag of sweets, mostly those little love-heart ones which say things on them like EMAIL ME and YOU’RE THE BEST and CLOSE MY BUG((Not an actual example, sadly. Maybe we could make some GNOME sweets for next year.)), and chocolate hearts with mottos inside. My team lead was told “Be your own Valentine!” which sounds like a polite way of saying something else.

When we got home, Fin had made an amazing meal for all of us, each with our favourite thing to eat. Some of them had tomatoes and things cut into heart shapes. It must have taken ages.

I also discovered a not terribly obvious problem with GMail. I wrote a script which would tell you who had left you Valentine’s messages on LiveJournal, and it worked by turning on email notification, sending each LJ comment received to a GMail account, and every hour having a cronjob which read the account using IMAP, indexed them all in a Postgres database, and then having a cgi which could display search results. That was all very well, but on Valentine’s day itself, something inside GMail decided that the account was being used for IMAP in some kind of inappropriate way, and shut it down wth the error Lockdown in Sector 4! I disabled the cronjob, but it meant that some people didn’t see their valentine messages for another day or so.

On Friday it was pretty quiet again. I wrote a triolet.

Lines Written on the 15th of February

Today’s just a day
That’s not Valentine.
No roses, no wine.
Today’s just a day
I still want to say
I’m glad that you’re mine.
Today’s just a day
That’s not Valentine.

I also spent far too long trying to remember the visibility rules in GNOME bug 509165.

Link soup:

Towns

  1. Most towns are small, and have only one name.
  2. Larger towns often have names in multiple languages (Wien, Vienna, Vienne, Vídeň…; London, Llundain, Londres…)
  3. Generally, one of these names tends to be a default name for languages which don’t have a specific name for the town.
  4. The issue of how to represent the name of a town in a language which would use the default name, except that the default name is written in a different script, is an interesting one. It may be solvable programmatically. This needs investigation.
  5. Most large software projects eventually run into the need to show the names of towns to the user. libgweather has locations.xml, which is a real nuisance to translate because the strings get folded, so there’s no way to translate York in England differently from York in Nebraska or York in Pennsylvania. And there’s also marble, and whatever the KDE weather applet is using, and OpenStreetMap needs translation as well, and probably a bunch of others, and most or all of them are reinventing the wheel of name translations.
  6. Therefore: I would like to propose a standard database (in a standard decided format, maybe xml-based, maybe not) somewhere central, like freedesktop like the iso-codes package, under a free licence, which contained:
    • all the names of a town, by language
    • one of those names marked as default (the great majority of towns will have only a single name)
    • latitude, longitude, and if uncontroversial political superentity (country, or state+country)
    • possible extra data as necessary, such as airport ID
    • a unique ID code
  7. We can mostly generate this information from working backwards from the existing projects. This will also be a good demonstration of if and where the duplicated information is inconsistent.
  8. Various projects can then sync their data with this database, or use it directly. Clearly it’s not worth starting until we know people are likely to use it. Your feedback is requested.
  9. Towns which have more than one name in the same language and where using either name is a politically sensitive matter are beyond the scope of this document, but are a problem we will certainly run into.

Updates:

Feedback from KDE/Marble people: What is needed is:

  1. a simple way of mapping to other databases using unique keys, etc.
  2. it is DFSG-free, otherwise most projects can’t use it
  3. there is a simple and easy way for translators to change and contribute.

Feedback from Abigail Brady: http://geonames.org already exists and is almost exactly what is described above.

HOWEVER, geonames.org is cc-by, which is not DFSG-free, so it’s rather a dead end. (Of course OpenStreetMap is also cc-by-sa and hence also not DFSG-free.)