Internationalized date/time formats

Glom now interprets and displays dates and times according to the formats used in the user's locale. In C++ that requires the use of the time_put<&qt; and time_get<&qt; facets, which are not very pretty. Daniel Elstner did a great code-review of my locale stuff, so I learnt lots along the way. There is one small glitch – as far as I can tell, time_get<&qt; in gcc can not parse the time for any locale other than C. Here is a little time_get<&qt; test case if anybody would like to show me my error.

Soon I need to start a custom TreeModel so that the Data List view can show large amounts of rows from the database without copying insane amounts of data.

Glom

I'm still doing lots of hacking on Glom, which is now in GNOME's cvs, with a GNOME mailng list and bugzilla component too. It's amazing how people start translating your application automatically as soon as it appears in the GNOME cvs.

The UI is a bit more sensible now, with the database-design stuff being very secondary to editing the data in the tables, as it is in FileMaker. And I'm in the process of fixing the display and parsing of dates, times, and numbers so that they do the right thing in the current locale.

I'm still ranging all over the code, cleaning up leftovers from the various refactorings, but I thought of some significant tasks that someone could help with, without being disturbed by my ongoing changes:

  • Find out how to programatically adminster the Postgress users and their access rights, and create a UI dialog for this.
  • Find out whether Postgres can have fields whose values are the result of calculations, and add this feature to the Field-designer UI.
  • Allow table titles and field titles to be translated – meaning, the user could specify the title for locales other than the default one. Later, this might use the .po file format somehow.

Also, it would be nice if someone could tell me a SQL command to cast data from a text column to a numeric column, without throwing errors half-way through if one of the rows has a non-numeric character in that column, as to_number() seems to do.

CSS pain

I've been trying to learn CSS properly over the last few weeks, but I have come to the conclusion that it just can't do the simple things that web designers should want it to do. In particular it can't seem to be used for pages
whose elements resize and rearrange themselves automatically depending on the size of the text inside them. There are various problems that you meet when you try different ways to do this, but they all seem to lead to the same conclusion. I think that's why so many sites seem to have hard-coded fixed widths, which makes them useless on small devices, and marooned on big screens. And I think it's why almost all sites seem to at least hard-code the width of their sidebars (though you can do it in ems instead of pixels, which is not quite so bad).

For instance, in Problem A, the right-hand box is sometimes at the right-hand, and sometimes below, depending on the width of the window. It should be obvious where it should be and how wide it should be. On www.murrayc.com and others, this is fixed by hard-coded the size of the left-hand box, so that the right-hand box does not have to be floating, because it's floating that acts in this awkward way.

In Problem B I want the 2 inner boxes to be adjacent to each other inside the outer box. In the example, that kind of works, but the outer box has an obviously stupid height. The height of the outerbox is correct if I set it to "clear:left", but then the boxes inside will ignore their height percentages, so they will not be adjacent. You can partially fix that by hard-coding the widths instead of using percentages. Update: Andrew Taumoefolau showed me that you can fix this problem by adding a third, empty, inner div, with "clear: both;". That seems hacky, because it must be in the HTML rather than the CSS, but it works. Thanks Andrew.

Maybe these are browser bugs, but I doubt it. I fear that CSS just isn't that great because it wasn't properly put through the use-cases. Naturally, I'd like to be told where I'm going wrong.

Munich Blogs

I must try to hack planet so that it can get only certain topics/categories, so that people don't have to read this boring crap on munichblogs.com

Glom

I released another version of Glom – it's been over a year since the last one. I released the first version 3 years ago, and that was after lots of work. It's the third time that I've tried to devote significant time to it, and I think things are finally falling into place.

There's been some dead-ends along the way – such as wrapping GtkExtra for the GtkSheet widget and branching the awful MySQL++ API. I even found a comment in the TODO file about being ready to port to Inti if necessary.

Glom

I've been working lots on glom, my databases-for-the-rest-of-us application, and I'm starting to believe again that it's viable. I had a kind of epiphany – I found a suitable set of user goals to discard so that I could actually target one of the sets of user goals. So, glom will not be able to edit and redesign existing databases. It will only be able to edit and design databases that it created from the start. That means it can deal with a far simpler set of database field types. That makes the whole thing more usable anyway.

I've also realised that it's kind of stupid to make the UI for designing the database structure look like the UI for editing the data in the structure. I'm not sure what the best UI is, but it's clear that I would have been better off just cloning the FileMaker UI from the start. So I'll rework the UI after I've got some of the basic functionality implemented. The code is a mess too, but I think I see how to clean it up so that it's worthy of patches.

Radio Hass

The Bavarian government has just given a broadcast license to a dodgy christian fundamentalist radio station, Radio Horeb. By all accounts they are a nasty fundamentalist shower of bastards – dangerously intolerant of various races, religions, sexualities and life-styles. And the authorities knew this when they made the decision. Stoiber's Bavarian government has a bad record with this kind of thing – it's downright ungerman.

The christian "Fundis" got the license slot that would otherwise have been given to a Turkish station that's already broadcasting in Berlin. That could have added something to the city, and would have allowed more representation for a whole community who pay taxes and should get something for it.

I get to feel annoyed because I let the TV/Radio license bloke in, so I'm paying for this.

importing advogato entries to pyblosxom

here is a version of Thomas's advogeto script to make it output the advogato entries with filenames in the date format used by pyblosxom's pyfilenamemdate.py plugin. And, because I can't get that plugin to work properly, here is a script to set the date of those files to the date in their filenames. That's useful when I mess up the dates on my files, avoiding hundreds of entries on one day.

Python isn't my speciality, so don't blame me for the ugly code.