My newyears letter

Before everybody starts celebrating that a criminal is put to death (and a criminal he was, indeed. Nobody will argue with you about that). Let this be heard everywhere on earth. Especially by the Americans who reelected their current government (and that way permitted their government to proceed with what happened a few moments after that same reelection).

Saddam’s death does not vindicate in any way the ill-conceived and disastrous decision to invade Iraq. His execution does not make an illegal war legal any more than it will put an end to the violence and destruction. Menzies Campbell

It’s time for facing consequences. What happens and happened are war crimes and should not be forgotten. Firing Rumsfeld is not enough. I know it’s naive to believe that any American will ever face an international court for war crimes. Yet even that wouldn’t be enough. The hypocrisy of today’s American leaders is sickening. This will be my thought the very moment I will enter this new year. Same for a lot other Europeans.

Don’t think that witch-burning, like what the hanging of Saddam really is all about, is going to change anything.

For the respect of millions of people who died for our welfare and peace during World War II, why don’t me stop this nonsense by letting democracy truly do its job? Why are we letting our own world leaders get away with this? For cheap oil?

Speeking of war crimes

I wonder why only one “leader” is soon going to hang for “war crimes”?

Warning: extremely violent footage (but nevertheless, the truth): fallujah_ING.wmv, (mirror)

What about the American leaders and (especially the non-puppet) war planners? Shouldn’t they be punished? Given they have permitted the usage of white phosphor and M77 (a napalm-like), which is clearly a violation of international law of war (in other words, they committed war crimes), which makes them directly and personally responsible for what you see in the movie.

I wonder when, or should I wonder “if”, these people will ever be judged for this?

And just to make sure it gets spread, Mr. Leverett explaining how he got silenced by the Bush administration.

Finished tutorials

Normal people in the Western hemisphere pay a visit to their grandparents, family and other relatives these days.

There are days that Tinne arranged my agenda in such a way that, indeed, I’m doing those visits. However, I came home this evening and noticed that I don’t have such a visit-people-evening today. Cool!

So I decided I should hack a little bit on tinymail, and while doing that write some more documentation. What I worked on is actually cool, hard and very important, but most people who read this probably don’t give a fuck. So I’ll be brief about it for a change. I fixed creating and sending multipart E-mails (you know, multipart/alternative with text/plain and text/html mime parts, yadi yada). Here’s a demo.

Suddenly all the application development tutorials that I wanted to write where finished. Exactly one week after I forced myself to write these tutorials by blogging about how happy I would be if I would write them (oh the irony).

They can use a lot improvements. I’m not a native English speaker (let alone writer), so they are loaded with stupid spelling mistakes. Yadi yada. Here, go get them:

Gaim logs to Gossip logs

Raphael’s Christmas present now has consequences. Cause of his present I decided to finally switch from using Gaim to Gossip for my instant messaging needs. Because I’m into keeping logs around, I decided to write a small piece of shit Perl script that tries to convert the Gaim log file format (clumsy HTML) to Gossip’s (gossip-log.xsl).

You can get it here.

Feel free to improve this if you are into torturing yourself with Perl during the New Year- and Christmas holiday period.

Dogville

Today I for the first time saw the movie Dogville. It must be one of the best stories that I have ever seen in a movie or read in a book.

The comments and criticism that I have found on the web make me think of something a Belgian art guy once said on the radio during an interview. I forgot who and I forgot the exact words. I’m probably not good at repeating what he said (and my translation makes it even worse). But it came down to this: art can be art if it achieves in getting different people to have a strong pro and a strong contra opinion about it. In other words, if all people (100%) agree the thing is beautiful, it’s probably just beautiful. Same for “ugly”. However, if 50% of the people think the thing absolutely is art and the other 50% think the thing absolutely is not art, it’s art. Or maybe .. it’s not art, but it at least created discussion. Which by itself is an achievement.

Therefore it is my opinion that this movie is art. Thanks for sharing it with the world, Lars von Trier.

But then again, I’m not at all somebody who knows something about art. I’m just somebody who likes the story of the film a lot :-). I’ll quote from one of the comments that I found: “The movie gives you a lot to think about.”

D on the Nokia 770

Woaaaa, Michal got D working on his Nokia 770. He told me the garbage collecting works too and that he’s now trying to get the gtk+ language bindings for D working.

Damn, that would be yet another language to support in tinymail. But definitely one that I would support. Because that language would be the one that I would use myself for writing applications.

Writing the documentation

A lot of the tutorials are still a little bit quick ‘n dirty, yet they already contain some useful information.

I have spend part of this evening writing them, copy pasting stuff around, creating wiki pages and setting links correct.

This is the result.

There are still a lot topics to cover, of course. By just reading these, you should get a clear idea how to develop E-mail applications on top of tinymail.

I know there are probably a lot errors like spelling mistakes and probably even programming mistakes in the samples. Everybody is hereby invited to help me spot and fix them. As I said before, it’s a trac wiki and it’s editable. Just put “I am not a bot” in the comment box below and make your changes.

At some point I would like to link all API symbols and type names in this new documentation to the tinymail API reference manual‘s pages. If you are into doing that, go ahead.

A first tutorial for application development with tinymail

This is going to be the documentation style for documentation for application developers who are building an E-mail client on top of tinymail.

I already wrote about the importance of documentation when doing a library or framework like tinymail. I would like to add that without it, the entire piece of software has the same value as vaporware for a lot of software developers and companies who would otherwise be very interested in using it. Why am I telling you this? Because I want to stress the importance of documentation in the tinymail project to future contributors. I would like to set the standard for the documentation of the project early and high.

A first mini tutorial explains how to get a list of accounts in a TnyGtkAccountListModel and how to set that as a model for a GtkComboBox. A second explains how to display folders in a GtkTreeView.

I hope that while I will probably be writing most of those documents myself , people will read it and make improvements and for example language and code-style corrections. It’s wiki style (trac), so everybody can edit this. I don’t know how fast the list of tutorials will grow. I’m a bit fanatic about documentation, so I guess that “a few weeks” is going to be a doable timeframe.

It’s not much yet. But hey, you can help and by doing that it will drastically speedup (more than 100% faster, because you putting energy in it, would inspire me to work on it faster too).

Yes, I know that I’m insane and that I want to do too much at the same time. In dutch we have a saying that goes like “zot zijn is gezond”. It translates to: “being a nut is healthy”.

Documentation, documentation, documentation!

Tinymail has attracted a few contributors. This made me think about documentation.

I mostly created documentation about contributing to the tinymail framework. I didn’t focus so much on documentation about using Tinymail being an application developer building an E-mail client on top of it. I know it’s usual the other way around. Both types of documentation are in my opinion equally important. They should be mixed a little bit, because application developers should be inspired to learn how to adapt the framework. For example by implementing a new implementation of an interface.

There is the API reference manual, of course, there are a few demos and samples and the tests directory contains a few interesting tests too.

But no manual-styled documentation nor a lot of that stuff on the trac pages. Some trac pages are manuals about contributing to the tinymail framework. Like debugging, like how to implement a type and how to inherit one (those last two ones are indeed very useful for application developers too).

I hope that the people working on Modest will change that a little bit. If time permits, I will start writing manual-style documentation myself too.

If companies are interested in improving the tinymail framework, but are unsure how, paying somebody to write this type of documentation is a good way to overall improve the project and make it gain more interest at the application developers.

Another investment in the project, that is hard for the current developers, are of course language bindings. Those are hard because they imply having to learn a lot about the target language itself too. I have a detailed description about how to do a Perl binding, how to do C++ ones and the java-gnome author is very interested in helping anyone who wants to do Java ones. Python bindings are already done (which implies that there are .defs files being generated, which makes for example doing java bindings much more easy).

Cool typical mobile features are going to happen. Features like partial message retrieval, service discovery for SMTP servers and merging and backing up of already-received E-mails. They are, as they say, on the immediate agenda and will be worked on in a near future.

Of course, if you feel an urgent need to start writing documentation, then go ahead. It’s a very interesting way to learn how to use tinymail as an application developer. I will fully support you and I will most likely join your little documentation project. Let me know.

The abuse of power and the assault on democracy

I finally finished reading Noam Chomsky’s book: The abuse of power and the assault on democracy.

I would like to quote some text from his book in my blog:

One commonly hears that carping critics complain about what is wrong, but do not present solutions. There is an accurate translation for that charge: “They present solutions, but I don’t like them.” In addition to the proposals that should be familiar about dealing with the crises that reach to the level of survival, a few simple suggestions for the United States have already been mentioned:

  • accept the jurisdiction of of the International Criminal Court and the world Court;
  • sign and carry forward the Kyoto protocols;
  • let the UN take the lead in international crises;
  • relay on diplomatic and economic measures rather than military ones in confronting terror;
  • keep to the traditional interpretation of the UN Charter;
  • give up the Security Council veto and have “a decent respect for the opinion of mankind,” as the Declaration of Independence advises, even if power centers disagree;
  • cut back sharply on military spending and sharply increase social spending.

For people who believe in democracy, these are very conservative suggestions: they appear to be the opinions of the majority of the US population, in most cases the overwhelming majority. They are radical in opposition to public policy.

iRex technologies is using gtk+ for an epaper device

iRex technologies located at the Hi Tech Campus in Eindhoven are building one of the first actual working and usable devices that use epaper displays.

Today I met two of their software engineers at T-DOSE. They were demoing their technology. They basically explained me that they are extremely interested in having a framework for implementing an E-mail client in gtk+. Yes, they are very interested in tinymail. Reading E-mail is absolutely a very typical use-case for such devices.

Their device runs gtk+ 2.6 on a Linux kernel. They also told me that they are trying to get into our GNOME Mobile And Embedded community and that they are interested in meeting us, GNOME developers.

I promised to help them with this. So everybody in the GNOME community who is into embedded & mobile, please contact iRex Technologies. Say hi, tell them what you do for gtk+ & co, how you can help and stuff like that.

I told them to visit our conferences, like GUADEC and the Boston Summit, to check out GMAE, to check out Maemo (they obviously already did) and GPE (same, they are even using pieces of GPE on the device), to talk to the guys that did Pango: on such a screen, you know, refreshes are very slow. Once set, however, it doesn’t consume battery anymore, nor does it emit light. This makes it ideal for book and text reading (you are reading the display just like how you are reading a piece of paper or a book). It implies some changes to our widgets, like triggering when to redraw the screen. Redrawing is not going to be cheap anymore.

I gave them some GNOME-technology company names. I, of course, don’t know who exactly they will contact.

I saw the device, used it. And indeed, it’s definitely not vaporware. They want us, the GNOME community, to get involved.

I suggested them that they should give some of their devices to our developers. For example, at a conference like GUADEC. They didn’t promise anything (the two guys were only software engineers, not managers). But they were going to try, as they indeed realize that community members can’t afford to buy every single device that they would like to target. It’s going to be difficult, they told me, because a lot of their stuff is still research and development.

Their forum and their website.