Older blog entries for mvw (starting at number 7)

What has happened since my last posting?


At work I am now dealing with creating the GUI using JAVA. I was the C++ advocate in the preceding discussion, voting for either QT/GTK+ in case of a cross platform approach and MSVC++ in case we just want to have Win32 covered.

While I was quite unhappy with the decision (because I prefer an efficient language like C++), I must admit that JAVA has a very good 2D library. I must also admit that JBuilder looks like a very fine IDE, it might be comparable in power to MS Developer's studio. (OK I am an Emacs devotee but still that stuff looks impressive)

Do we have a similiar powerful and portable lib for C++? QT looks good, but lacks a lot of the 2d features that JAVA offers and it is only available to commercial developes under Win32. About the latest GTK+ I am not sure, for example it seems to offer alpha channels and antialiasing, but I don't have checked that. GTK+ never came into closer consideration because of its lack of commercial support under Win32. And I am just talking graphics. I mean whoever talks about JAVA's power, in fact talks about the huge libraries. It is a shame that there is no comparable library for C++.

Do we have a full grown ISO C++ compiler that is efficient and portable? I am not sure if GNU C++ fits that shoe.

Also there is no force in the C++ world, probably except Microsoft, that could play a similiar role to that what SUN plays for JAVA. And Microsoft isn't pro platform portability at all. So who should do the necessary dirty work?


We have a very complex domain model at work that cries for an object oriented database. But why the heck, the existing ones are so poor?

Right now only Objectivity or Versant seem to be the only grown up OODBs, but both of them suffer from having hard to swallow constraints.

I really wonder what will arrive first, a popular usable distributed OOP supporting operating system, or an usable OODB. Both would have to create distributed adress spaces, lookup services and a lot of other goodies.

14 Nov 2000 (updated 14 Nov 2000 at 12:47 UTC) »

Globalization has its nice bits. Today I got my hardcopy of the goat book via Amazon.

X platform GUI

I am still not sure, if we should try the X-platform approach. Possible toolkits are:

  • GTK (cons: looks like GTK everywhere, infamous C++ bindings)
  • qt (looks like a Windows GUI clone, would add $3K per developer if used commercially)
  • wxWindows (might die, might not die)
  • Mozilla (XUL sounds interesting, critique from a colleague of mine: it runs on every platform same bad - uh oh)
  • fltk (no idea yet, what it is)
  • Java (this will suck for a CPU intensive editor)
  • StarView (I already touched the old StarView - should I really do this again?)

Hey, got some new hints from the autobook authors in my mail. This feedback is one of the very good points of the free software world, in the tradition of academics

And those folks put up an improved online version!

X-platform GUIs

Back to the 'native client' vs. 'X-platform GUI approach'. I need to hack some GUI prototype quickly to help condensating some thoughts flowing around.


And back to Journeyer. We should call it Yo-Yo metric. :-)


Got a nice hint about sources across directories from Gary Vaughan:

> I keep my main sources in
>     project/src
> have tests in
>     project/test/test01
> I don't manage to compile a small test program in
> the above test01 directory, that uses a source file
> from project/src.
> What should I do?
> - create the test binary in project/src rather than
>   project/test/test01?
> - build some library just for the purpose of testing
>   that I won't use anyway?
> - use some secret potion from CVS automake?

The 2nd option would be best, automake doesn't handle sources outside of $srcdir or $builddir (except for header files of course). You might try setting SUBDIRS in the project dir to descend src before test, and then linking test01 with (from memory, so check the docs):

test01_LDFLAGS = -static test01_DEPENDENCIES = $(top_builddir)/src/foo.o test01_LDADD = $(test01_DEPENDENCIES) or suchlike to link the compilation object in directly.


Today I dropped back to Observer status. I should read the trust metrics explanation to understand this. It can't be related to the number of certificates I have, as there are other persons who have less. So it must be related either to the fact that I certified a lot of people or to the relative positions of the people who certified me. Interesting.

4 Nov 2000 (updated 4 Nov 2000 at 16:57 UTC) »
Compiler writing

After having spent some time with lexical analysis, today's topic was syntax analysis, top down parsing to be more precise.

As a physicist, I am still impressed by the bloat found in the language of theoretical computer scientists. This came to my mind when I took a look into a book on computability earlier this day, that managed to obfuscate even the rather simple things behind mathematical formalism, and also today when I read through a classic book from Nikolaus Wirth (Pascal, Modula 2, Oberon) which manages to cover stuff in 10 pages, where other books wasted 100.

About books: Wirth's book ("Compilerbau") is 120 pages, the Dragon Book (US) covers 800 pages and it's german translation is split into 2 volumes of about 500 pages each (I'm still dazzled where the additional 200 pages come from).

Other nice books are the ones by Gueting/Erwe (a medium sized book on the topic, this is the one I hope to get tackled completely) and Wilhelm/Maurer (the only book I know of, that goes into OOP language compilation as well, I consider it the most up to date book presently). I also have a book an lex and yacc from O'Reilly, but this only for convenience and examples, as it is not strong in the maths force.

I am not through yet with bottom up parsing, but at least I understand the principal difference now, that a top down parser predicts so long until it got the whole program matched (so much for prophetics in computer science :-) while a bottom up parse reduces the program until it has managed to turn it into the start symbol. Wow.

Advogato related

Thanks to those kind people who trusted me I was able to post the link on the goat book on advogato.
I hope it was not mentioned earlier -- a search engine would benefit this site.

Another good thing for advogato would be a general submission queue for registered or anonymous folks, where some kind of voting scheme could be used to push interesting stuff to the frontpage. At this time, users with observer status tend to use the diary for general communication - that works, but I would rather channel that kind of use into a more explicit form.

3 Nov 2000 (updated 3 Nov 2000 at 20:27 UTC) »

Interesting opinion in the articles section on the recent Advogato statistics:

Certification level is irrelevant, posted 3 Nov 2000 by Zaitcev

Only the list of certifiers is interesting.

This was brought up already when a bunch of FreeBSD goofs showed up and certified each other as master. One of them was close to the trust root and the rest is history.

Raph told you already that certification works only if majority of Advogato members apply the certification metrics as instructed. Instead, the majority uses certification as an old buddy network, with levels higher for those who are better known to them.

This shows a disturbing lack of faith in the trust metrics.

As I feature quite high (at 5) as certifier, I can't spare this comment. The folks I certified as master, deserve that title. If you think otherwise, send me mail.

Point is, that Linux and FreeBSD developer communities are different beasts. So in my case, as FreeBSD developer, it is natural that I know more of these people (not in the sense of knowing their name but in the sense of having read from and discussed with them and using their software for years) than in the Linux camp.

Pretty normal if you ask me. The free software world is not just Linux.

I did my advogato duty :-) and certified everyone I know ..
Ugh, I should change my name into Aarie Aas or something similiar. Hope I did not oversee someone at the end of the alphabet, when my eyes got tired. :-)

31 Oct 2000 (updated 31 Oct 2000 at 15:55 UTC) »

Today I lost some faith in Slashdot functioning as a hacker news ticker:

I submitted a news item about the 'goat book', the long awaited autoconf/automake/libtool book.
IMHO a really important book for people who have to set up software project nowadays.

And it is another fine book, available online and for download for free.

That submission was rejected within ten minutes.. sigh.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!