Older blog entries for kai (starting at number 4)

life: I got a cold :*(

Writing Code

Surprisingly I started hacking on MindsEye again. It's actually fun to work on. Fixed vertex normals for torus tesselation. Cone still bugs me. I also digged up some old window manager code I wrote some time ago. Maybe the world will see kaiwm eventually, shouldn't hold your breath, though :)


I've been using kmail (instead of vanilla web mail) for almost three weeks now and I really like it. Hasn't crashed on me so far. I'm still looking for a mail client that supports marking individual sections of messages and includes at least some basic "personal data mining" functionality like mailing list statistics, automatic keyword indexing, automatic message scoring, refining searches, treemap visualization, and so on. Any recommendations?


I'm not likely to work much on KaiView in the near future. It just has too many loose ends: the drawing model is not well-supported, yet, the TOM community is very small (very unfortunate), the model-view seperation needs a lot of design work which rather bores me at this point, and there are many issues I haven't even touched yet. In the meantime I'm writing some C code - today I wrote some basic image manipulation code which is supposed to become my learning ground for assembler programming (maybe). I'm also very happy with the select loop I wrote lately. Together with an idea from the TOM library select loop it's going to be pretty good, I think.

Fashion and the 90s

In the late eighties/early ninetees (when Al Gore was just about to discover/invent the information super highway) we saw a short period with exceptionally many examples of good design (industrial design, magazine typography, fashion, user interfaces, ...), of taste, of style! Why is it that the era impressed me so much, while I think the time that followed was a big dissapointment? I can't quite grasp what it was that I feel was so superior. Is it a personal thing, closer related to my own life then to the world at large ? Or could it be the rate of change increasing, technical advancements, NeXT, Bill Clinton replacing Bush, the web starting to become commonplace ? It almost felt like a renaissance, as if design could reach a new plateau, combining the knowledge of classic artists and architects with contemporary advancements in materials and production technologies. And then it stopped. Before the hill top was reached, so we could see what's beyond, it just stopped. Style went away. SGI produced the O2 case (and other companies featured other egg-shaped unnecessities), magazines where drunk by possibilities, color, craze of geometric shapes! Fashion without style reigned...

What comes next ?

To me, it's not quite clear what we're up to. Retro, then OS X, a Chrysler that looks like my great grandpa could have owned one - is there any direction I don't see, yet? Sure, diversity is a good thing, but just as the 90s where driven by joking about the 80s, there is a lot of 90s-bashing going on, too. "Old fashioned", "out of style" they're saying ... so what's next ?

Doing nothing

It's been a long time since doing nothing has felt so good! Watching the birds against the summer sky, smelling the scents of barbecue, distant noises from the streets. It's so beautiful!

After a short period (about two hours) of beautiful weather (considering the time of the year) it started to rain again, gray sky. So I changed plans and did some more coding on the KaiView tookit and created a simple homepage at sourceforge :*) First freetype2 and libart tests run nicely. Prototyping in C++ gets harder with each line so I guess I should switch over to TOM soon.

Since I havn't done anything on MindsEye for a while I finally decided to apply for project hosting at sourceforge.net for my GUI toolkit in the works, KaiView. Not much code, yet but maybe I'll get some useful comments or I'll just find out such a project already exists :*)

Here is the project summary I submitted:

"KaiView is a GUI toolkit/framework for writing applications using the TOM programming language. Based on a vector-oriented drawing layer using libart and freetype2 it will provide all of the features you'd expect from a project in early design stage: widget layer with subject/view seperation, forms loaded from XML files, live-updates to the GUI, Unicode support, abstract interactor classes, antialiased everything, and a lot more! (It will just take some time to build)"

I hope It'll get approved, soon ...

Hmm, meant for the "Objective-C" thread, actually, but it seems I'm still not certified, oh well...

Have you checked out the TOM programming language ? It has a syntax almost identical to Objective-C with some nice features from other languages, such as Java, Eiffel, etc.

TOM is a very dynamic compiled OO language (though not quite as "extreme" as Smalltalk) and the runtime library offers garbage collection (Very nice if used to try it "by hand" using C++). Other features:

- multivariant return types.
- nice tuple systax (e.g. "(int, int, int)")
- CLOS-like blocks
- pre/post conditions
- default parameters
- TOM classes are extensible (key feature, read the FAQ!)

The Tesla compiler (written in TOM itself) produces C, which allows inline C (or even C++, hehe) for quick hack language bindings or code that needs extra speed. The complete TOM object system/run-time is accessible from C which would allow using the TOM object system in a C project such as Gtk+, I suppose. TOM methods may be implemented in C directly if necessary. Where these features are not used, the code is fully "cross-platform". Even a TOM virtual machine has been thought about.

TOM message passing overhead is close to Objective-C, a global optimizing compiler is in the planning IIRC.

Unfortunately the Gtk/GNOME bindings don't support the latest versions fully and a recent Debian package is also lacking :^( There is currently no native CORBA binding (so the C binding has to be used.)

From my point of view TOM is a suitable "successor" to ObjC, and would be a viable alternative to many other true OO languages. I'm using C++ most of the time and with a grown community TOM would certainly become my programming language of choice. Establishing a new language without support of a big company won't be easy, as has been pointed out. The basic features are pretty easy to learn, I'd say, ideal for switching from C to TOM :O)

TOM/Tesla is GPL and LGPL.

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!