Tag Archives: Glom

www.glom.org

More Glom reviews

While I was on holiday, a couple of Glom reviews appeared:

Both reviews are generous and kind. They understand what I’m trying to offer with Glom while forgiving it for not yet being perfect. I agree with Xaprb’s review that there are still a few too many bugs in the 1.0 version so I think it’s still not the right time to work on big new features.

I’ve listed the Glom reviews on the glom.org site.

Openismus GmbH on the way

I finally instructed my accountant to set up Openismus GmbH which will probably take a few weeks. It feels slightly scary, but I want to give it a try. Got to build to grow.

I already have a first part-time employee – Johannes Schmid of Anjuta fame. I was very sad to reply to all the other people who answered my call for a mini-job, but maybe I can use some of them if I get enough work.

A GmbH is a German form of limited company, and is one of the few forms of company that is taken seriously. It’s not actually necessary in Germany, unlike the U.K. which demands that freelancers create one-man Ltd companies that employ them(selves). It’s also much more difficult and expensive than in the U.K. There’s an extra tax that you have to pay, plus additional administration. But it’s generally simpler when dealing with international companies, so I can consider it as marketing, and it will be better for employing people.

I should probably improve the web site too. Sooner or later I’ll have to accept that there’s no sane way to make attractive web sites without hacks. Yes, I mean round corners.

gtkmm documentation: Wrapping C libraries

I just uploaded a new appendix to the gtkmm book, on wrapping C libraries, including all the tedious search/replace details of setting up a directory structure, creating the various .defs files, and some of the common problems. I did this while wrapping a simple C library for a customer who also wanted to have the documentation.

In other news, Dodji (his real name, I discovered at GUADEC), figured this all out for himself and created excellent C++ bindings for gtksourceview – gtksourceviewmm. He probably wishes that he’d waited. I’ll use gtksourceviewmm in Glom when I get around to branching for new features.

Back from GUADEC & Barcelona

On Monday evening I returned from Barcelona where I spent the weekend after the GNOME conference. I’ve just about caught up with the stuff that stacked up during the week away, and I hope to have a full night’s sleep some time soon.

I noticed that I was getting very little email while at GUADEC, and for a while I believed my theory that nobody was sending me email because everyone was already at GUADEC. But when I examined my Junk folder at home I realised that switching from SpamAssassin to Bogofilter on the first day had not been completely painless.

But along with my complete lack of responsibility this year (no board, no release-team, no guadec organisation), I think that helped me to enjoy the event. I actually went to talks and learned from them, and just hanging around meant that I met far more people than ever before at GUADEC. I’m not going to mention you all because the list would be huge, but I love you all and enjoyed meeting and talking with you. I like the GNOME people so much that I often really wish that I lived in a town like Boston, Barcelona, or Portland (and Helsinki now too), where there are large clusters of them that can see each other regularly.

Reading Planet GNOME while at GUADEC was a wonderfully positive experience, and it’s clear from the mass of photos that we are not your average hackers. GNOME is people. Without meaning to, we just did some great advertising of our core purpose. This is something that people want to be part of.

Lots of people gave me encouragement for my work on Glom, and showed me a few more bugs that I need to fix in version 1.0. I may have recruited a few people to help with some of the simpler tasks. My talk was a disaster because I couldn’t get my (cheap) laptop working with the projector, and had to wait for the disk check before I could even copy the slides to Christian Kirbach’s laptop. Daniel Holbach had Glom running on his laptop so I could show that to a small group of enthusiasts at the end. People seem to appreciate the concept and are reassured by the ability to extend Glom systems by using Python and PyGtk or by using Postgres directly. Now I just need the time/money to fix the bugs and add the features.

However, because I put all my ever-decreasing free time into maintaining gtkmm (fairly repetitive work that’s more responsibility than excitement because all the hard problems are long solved.) and Glom (exciting work that’s not yet widely known), I always have a guilty sense at GUADEC of not contributing enough.

Over the weekend I had a chance to play with my new (ridiculously expensive toy) wide-angle lens. I’ll need lots more practice.

Sigi, Fiona, Matthew Garrett, Robert McQueen

IMG_1052

Postgres detection via Avahi?

I don’t have much time for coding right now, but I can still abuse my blog to suggest fun stuff for others to do. Then I can put the results together when I’m free again at the end of September.

I’d love if it someone patched Postgres to announce itself over the network with Avahi. Then Glom wouldn’t need to ask anyone for a hostname – they could just choose a server from a list, with a good default. Postgres already uses Bonjour when running on MacOS, so some stuff must already be there.

GNOME Mentored Projects

I started a Mentored Projects page on the GNOME wiki for us to list stuff left over from Google’s Summer Of Code. There seems to be much enthusiasm for this, and we have a lot to gain. It shouldn’t be just for students, but some universities would like to make it part of their courses.

So, mentors, please do move your unsuccessful Summer of Code ideas over to the Mentored Projects page.

Glom 1.0.3 on Ubuntu Dapper

Glom version 1.0.3 is now available in Ubuntu Dapper. Several nasty bugs were fixed in the last few versions, thanks to some excellent feedback on bugzilla and the mailing list. This included a crash when adding fields in non-English locales and a problem opening examples in 1.0.0. So, please try it out and give me some more bug reports to fix. Note that your bug might be fixed in 1.0.4 already.

There’s still not much sign of Glom on regular Debian. I guess it needs one of the existing Debian packagers to pick up Daniel’s work.

Denis Leroy is still working on packages for Fedora and is apparently still pushing Bakery in. He might appreciate some help.

I’ll do some more code cleanup before branching for new features. At the moment, I have a tendency to break existing stuff when I fix bugs. I’d also like to find the time to port a cut-down client version to the Nokia 770.

Web 2.0 programming languages

As before, I’m still pondering indecisively how I might implement the Glom Web UI. There’s several AJAX toolkits that should take some of the pain away, but the choice of programming languages is still the big forking decision.

Now that Java can be distributed on Linux, it’s a candidate again. And now that Java has generics, they’ve dealt with the lack of compile-time type-safety that always annoyed me. Python is less verbose, but the run-time type surprises have always annoyed me. Of course, Java still isn’t open source (or clearly patent-free, so free implementations may also be in danger), and it’s monolithic, so we’re stuck with the quality that we’re given. That is admittedly only marginably better than putting my nuts in Microsoft’s hands. But I guess it helps that it’s so big and successful already.

And I started thinking about Java again when I saw that Google released the Google Web Toolkit, a Java API for AJAX UIs. (Update: It’s not Open Source so I won’t be using that. There will be bugs and I’d want to fix them.) I didn’t expect them to be using Java. I thought they were all about C++ (The main search UI, apparently, and I’ve heard they use lots of boost::python.) and Python (not sure where though). I’d love to see a list of Google products with programming languages and technologies that they use. There must be enough client-side clues to figure that out. At the moment there’s such a mess of competing frameworks that I’d love to choose something based on the quality of google’s products.

There’s now a libglom, with a C++ API, which I’ll want to reuse. boost::python for C++, or JNI for Java would let me do that. I don’t have much confidence that I’d be able to use C++ for this. I just dont’ think enough people are doing that, and I’d rather not be the only consumer of a toolkit.

I looked at Ruby on Rails, and I think there’s a Python version now too. It seems to demand a static database structure. I think it generates classes for each database table. I imagine that’s a fast hacky way to do web applications. But that’s no good for a generic database API. It’s the UI and session management that I’m interested in.

Glom Web UI

If nobody else gets around to it, I might have to implement the Web interface for Glom myself. But I haven’t done web programming recently and I’m very out of touch with the latest stuff. The last time I did any, JSP was the nobody-ever-got-fired-for choice.

It just has to read the Glom .XML file and from that allow people to navigate through tables and records, getting and setting the data from the database, laying the fields out appropriately as per the simple Glom layouts.

Feel free to add comments to tell me what the latest popular proven technologies are. Note that I’m not interested in using .Net or Mono, and I’d rather avoid relatively new programming languages like Ruby, or APIs that were invented last week. Python would be nicely middle of the road if there’s some suitable APIs for it. It might be nice to be able to call a C++ libglom library, to reuse some logic.

I’m not going to do this any time soon. (Unless someone pays me for it. As ever.)

Update: I’d like to have a nice AJAXy responsive UI, so I can, for instance, update a list of choices in one field based on what the user has just entered in another field. A small delay would be acceptable, but a page refresh would be annoying. But I don’t want to write any javascript myself. It would be nice if I could just have all that hidden inside some widget objects, like using GTK+ that renders itself to a browser.