Category Archives: General

Debian in Munich

Yesterday I met some of the local Debian people in Munich at Pasta & Basta. There were lots of people, encouraged by Munich Council’s choice of a Debian-based solution for their LiMux project.

img_0230I recently read Florian Schießl’s Limux slides (German) from his talk at Chemnitz LinuxTag a few weeks ago. I’m pleasantly surprised by how sanely and pragmatically they are planning the project. I think this is going to work out. And I really like that they want to encourage local Open Source businesses.

Update: Michael Banck has more details.

GNOME Member Logo

The GNOME Foundation Board thought it would be nice to have an official "Member of the GNOME Foundation" logo for people to put on their visiting/address cards, but usually not business cards. This is all part of making it easy for the right people to use the GNOME trademark.

James Bowes did an example of a card with the logo. Anyone should feel free to improve on this and tell the marketing-list about it. In particular, Inkscape does not give much control over text yet, but maybe there's another way to make the text line up properly.

Glom: Reports/Printing

Printing/Reports is the last big task for Glom before it's
fundamentally usable, I think. It's also the perfect thing for other people to hack on, because it doesn't need much knowledge of the existing code. The Document object can tell you about the database structure and you can get the data directly from Postgres itself, using the existing GlomConversion functions to display the values appropriately in the locale.

I don't plan to muck around with libgnomeprint, considering that cairo should replace it somehow within the foreseeable future. So I'm happy just to ouput HTML and let the browser take care of printing it. We'd need HTML output anyway.

I already coded a proof of concept. Choosing File|Print in the Details view does the following:

  • Creates an XML document, in memory
  • Transforms the XML to HTML, in memory, using an installed XSLT file.
  • Saves the HTML to a temporary file and shows it in the browser.

The output is ugly but any non-hacker can improve it by editing the XSLT file and/or adding a stylesheet.

However, people will want to create custom printouts for Details, such as Invoice printouts, and they will want to create grouped List reports. For the reports, they will need to specify (optional) parts like:

  • Headers – e.g. “Staff Payroll Summary”
  • Group-By sub-titles (repeated, nested) – e.g. “Departments:”
  • Record Details (repeated) – e.g. Bob McBob, Sales, EUR 99.999
  • Group-By Summary (repeated) – e.g. Number of staff: 5, Total salary: 888,888
  • Footers – e.g. “Page ??. Confidential.”

The UI for adding and arranging these parts to a layout might use a TreeView, or maybe a canvas. It's worth looking at FileMaker, but layout is very fiddly with FileMaker, and people find the print layout UI very unintuitive.

I don't know of any existing report generators for Linux, but maybe there's a good one. I'm happy to cooperate and reuse code wherever the license allows.

Glom: calculated fields – related records

I've improved Glom's python syntax for calculated fields, and added the ability to get values from related records. For instance:

record.related["contacts"]["name_first"]

I'm quite pleased with that. Now I'll try to get some summary calculations working, such as

record.related["invoice_lines"].sum("total_price")

Ubuntu – it's the hope I can't stand

Ubuntu 5.04's Nautilus crack (close windows when you open a new one) is intensely irritating. I hope they fix this before shipping CDs. Otherwise, it'll really spoil people's first impressions of GNOME, and it'll be difficult to be so enthusiastic when giving them to people.

I'm not sure how the decision was made, but I'm pretty sure that someone should have listened to Jeff, who I guess would never have wanted such a dangerous change at that point in the release cycle. And just when Ubuntu was being a poster-child for release sanity.

Glom calculated fields

Glom's calculated fields can now calculate useful stuff, though so far they only have access to fields in the current record. Obviously the syntax needs to be more compact.

This requires pygtk and the libgda python bindings, not yet released in a tarball. I added them to gnome-python-extras after Filip Van Raemdonck did most of the work. The guys in the #pygtk irc channel, notably Johan Dahlin and Gustavo Carneiro, were incredibly helpful with my pygtk and embedded python questions. Glom is certainly the only project that depends on both gtkmm and pygtk.

Glom: field layout

I stopped using boost::python. It's just too much trouble to build inside Glom, is overkill for what I need, and I'm not convinved that the API is all that sane anyway. I've made some notes that I'll send to their mailing list. In particular, I don't think it's healthy for it to be constrained by boost's lack of API-stabilty given that boost::python (unlike the rest of boost) has zero chance of becoming part of the C++ standard library. It might be a healthier project in the wild. However, lots of people do use it.

GNOME Deutschland e.V.

I'm now the interim vice-chairman (or some similar translation) of the GNOME Deutschland “foundation”. Christian Meyer is now the chairman, and the official public voice of GNOME in Germany. He's done heaps of work to get the e.V. (foundation) started and for GUADAEC too.

Here's what I plan to do. It's mostly about the website. Hopefully we can bring together all the hard work already done by the community and build something much bigger.

I'm already on the regular GNOME Foundation board. Maybe I can collect them all. I think the board is doing well so far. We are not being distracted by irrelevant stuff and we're delegating where appropriate, allowing us to finally nail the trademark issue, publish the finances, and get started on merchandising, among other things.