Older blog entries for rzyjontko (starting at number 9)

Browse Happy!

Recently a company called Search Engine Optimization started a positioning contest. A top hit for the phrase "MSNBetter ThanGoogle" in the polish Google site on the October 1 will be the winner.

One guy thought that it is a great opportunity to promote the Browse Happy site which encourages people to use other browsers than Internet Explorer. To do so you only need to put the link to this page just like I do it below:

MSNBetter ThanGoogle

Have fun!

Properties

I have just implemented properties mechanism. We need some examples to see how it works. Recently I posted few messages to mailing lists from wrong mail account, and they have been bounced. This is how property solves my issue:

    property address.email (to) {
        '@lists.sourceforge.net' => "my_addr@poczta.fm"
        ''                       => "my_addr@other.host"
    }

What I wanted to say, is that my email address depends on who I am writing to. But how is it going to be used? Each time you start composing a new message elmo opens a template, and replaces properties (indicated by $) with their actual values. Let's take a look at default template:

    From: "$address.name" <$address.email>
    To: $to
    Subject: $subject
    
    $quote
    $=$mail.quoted
    $signature

In the first example we defined a property address.name, which will be replaced by an actual value depending on property to.

Now let's go to something more complicated. Let's redefine a quote to be different for different groups of people. In polish we need a different quotation depending on people's sex, so I made something like this:

    property quote (action
                    mail.from.abook
                    mail.from.foreign 
                    mail.from.sex
                    mail.from.name){
      'reply' 'yes' 'no' 'F' => "%e napisała:"
      'reply' 'yes' 'no' 'M' => "%e napisał:"
      'reply'                => "%e wrote:"
      ''                     => ""
    }

The quote property depends on 5 other properties. It depends on action, (which may be new, forward or reply), and some flags for author of the message we are replying. The magic happens in the resulting string, where I use %e. As you can expect: an actual value of mail.from.name property will be used. All %x tokens will be replaced by arguments values (%a is first, %b - second, and so on).

There is one more thing you could notice - a special token $=. You may place it, where you'd like to have a cursor placed in your editor. Elmo counts offset, line, and column of this token in resulting file, and you may use them in your editor variable, e.g.:

    set editor "emacsclient +%l %f"
New = stable

Finally I have released next stable version of elmo! I thought it could be done yesterday, but have found few bugs, yesterday night (e.g. body of function attach_save_all function was commented). By the way I have extended a tutorial, and made few improvements.

Unfortunately release system at freshmeat doesn't allow one to change branches names that easy, as one could expect. Wasn't it obvious for these guys, that unstable becomes stable once?

Good day

Today is my day. I have implemented few important features in elmo. Digital signatures are now verified with GnuPG, but the most important: I have finally implemented interactive search using shift-and algorithm. It doesn't look very good yet, but it works, and works well.

OpenSSL support!

Finally I have made it. The library itself is very handy, but it lacks good documentation. I have made few other improvements including better attachments indication, more intuitive mime types, and handlers definition, and few bugfixes.

22 Feb 2004 (updated 22 Feb 2004 at 22:29 UTC) »
GnuPG support!

Finally I have made it! I had to change lots of code, but it really works! I am so proud of me...

Ok... but being honest... right now elmo is only able to decrypt messages (because it was the easiest part). Encrypting seems easy too, but signature verification (and signing) will be much, much harder.

15 Feb 2004 (updated 15 Feb 2004 at 18:28 UTC) »
Back to elmo

After so many hours spent on fixing elmo, I was so tired that I had to leave it for some time, and do something else. After playing with other projects I got back to elmo today.

I decided not to rewrite pop3 support. I will fix it, and one day I will add imap support.

I have already commited few changes. These are all minor fixes: one segfault, one improvement in box_selection (it now caches box sizes), and few other things I have done earlier but had no time to commit them.

Now I'm working on gpg support! Trying to run gpg was a bad idea. I have found gpgme library, and it seems pretty nice. If what they write in the documentation is true, then I will have not much work. Now I'm going to play around with the library. Unfortunately it lacks some simple examples.

28 Jan 2004 (updated 28 Jan 2004 at 18:47 UTC) »
Editing messages

I have finally implemented editing messages stored in drafts and outbox for elmo. I am answering the questions related to packaging (one of many steps to complete the procedure of becoming a Debian developer).

Next good news is that elmo's home page has been updated, and it is now possible to download a fresh snapshot created daily from cvs sources (thanks to Krzysiek).

15 Jan 2004 (updated 15 Jan 2004 at 22:15 UTC) »
MIME handlers

There seemed to be some problems with executing programs (the "bad" tripple was FreeBSD, zsh, vim) with "portable" ANSI function system. So I switched to less portable execvp, but hope that this will work with any configuration. By the way I implemented mechanism, that lets user run a program that handles an attachment without quiting elmo.

Tutorial
Yesterday one French mailed me complaining, that he started elmo, but he doesn't know what to do now. He doesn't know how to fetch his mail, and he doesn't know how to send a message. He composed one, but then it got moved to outbox, and not sent. And I think, that he decided not to use it anymore.

What if he had documentation? Fortunately I was browsing freshmeat, and found a project cone, which is (like elmo) a text-based mailreader. Cone has one, very nice feature - good documentation. But the main advantage of this documentation is that you don't have to leave the program to browse it.

A great idea hit me today. An online tutorial is a piece of cake. I can prepare a mailbox with messages being chapters, and sections. This special mailbox may be a part of everyone's mailbox. And this is what I'm going to do.

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!