05 Aug 2004 (permalink)

Started weblog.

Thanks Wojtek for an excellent piece of software!

Radius news:

06 Aug 2004 (permalink)

Awfully tired of writing docs!

Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing.
-- Dick Brandon

Radius news:

Tar news:

Two updated localizations are available for 1.14: Dutch and Simplified Chinese.

Mailutils news:

Fixed minor bug in 'include/mailutils/daemon.h'.
07 Aug 2004 (permalink)
all right-thinking people know that (a) K&R are right and (b) K&R are right.
-- Linus Torvalds

I have a strong feeling that back in the days when we were editing our code with ed (I still use it quite often, I must admit) our code contained less errors and was far more readable than today.

I have just finished cleaning up my buddy's code that was written on a 120-columns-per-line screen and contained quite a few copy-n-paste bugs. Sure, one can read a 120-chars single-line declaration. One can even read a whole 80-line screen of such declarations, but I strongly doubt whether one will really understand what he has read and be able to spot out the error. Especially when one has been looking at his screen for 20 straight hours, you know.


My todo list is quite long (as usual), but I have a strong urge to play charango... Its strings will surely keep me away from the console today. Chores will wait. Vielleicht das nächste Mal:))

Anubis news

Implemented XELO extension. XDATABASE EXAMINE now works using MD5 hashes, just as was proposed in the initial 'pixie-dixie' draft.

Mailutils news

Lots of changes. Still cannot understand why compiling guimb/main.c fails at argp.h on Sparc. Hopefully Alex will be able to provide a preprocessor output file, this should solve the puzzle...
08 Aug 2004 (permalink)
Unha lingua é máis que unha obra de arte; é matriz inesgotable de obras de arte.

No coding today. Playing charango again:)

However, there are some news:

Mailutils news

The "error_t on Sparc" problem has been solved! It turned out that one of Guile includes defined error_t without defining symbol __error_t_defined. It's easy to fix, but Guile people should have known better than doing such things.
09 Aug 2004 (permalink)

Back to tar. I hope to fix listed-incremental problem today.

Anubis news:

Committed a fix to the problem recently spotted by Wojtek: when switching to the user's privileges anubis did not clear the list of complementary groups.

Tar news:

Luca Fibbi reported that version 1.14 incorrectly skipped members in a PAX archive. It turned out that it was incorrectly deeming the members to be sparse, and that, in turn, due to the fact that the member header was not decoded prior to calling skip_member(). Lots of interdependencies...
10 Aug 2004 (permalink)
Primero vamos a tomar mucha chicha y después nos pondremos a trabajar!

I have finally moved the runasimi site to LINGUA engine!

11 Aug 2004 (permalink)

Runasimi news

Added chapter about cardinal numerals in Quechua.
Though a program be but three lines long, someday it will have to be maintained.
-- The Tao of Programming


Writing LINGUA engine was a great experience and it has shown that eXtrans is a nice idea. It has, however, some deficiences. Some of them were already fixed (I hope to make CVS repository available soon). The two most important ones remain:

The diagnostics does not help to find out the exact place in the XML file where the error occurred. Its an awful work to scan the entire source to find out a misplaced or mistyped tag. I have made some improvements which do help in certain cases, but the main part of work is still ahead.

Keeping a separate database of target-source file dependencies makes it difficult to use eXtrans in makefiles. Both Ellinika and Runasimi use all-local rule to override the difficulty, but the solution is far from being optimal.

I'd like to rewrite eXtrans so that it produces usual makefiles instead of keeping its own database of files to be modified.

An interesting approach would be to create a derivative class from XTransBase which would override set_output so that it would add appropriate output file name to the makefile rule being generated. The rest of methods should probably simply call pass and do nothing. At the end of processing this auxiliary class would output the rules it has generated (and, possibly, purge orphan html files).

Theoretically this should work.

The related makefile rule will then look like follows:

	$(EXTRANS) -M $(SOURCE) > .extrans.mk
	$(MAKE) -f .extrans.mk


mailutils Coredumped on reading a single escape character. Wonder why no one has noticed this before!
tar GNU multivolume cannot accept members with filenames longer than 100 characters to straddle the volume boundary. It did not check filename length, however.
12 Aug 2004 (permalink)
  Coca no es cocaina. Coca es la hoja sagrada.
  Jallalla Bolivia, jallalla Oruro,
  Soy de los cocanis alma, vida y corazon.

    -- Savia Andina


Added chapters about ordinal and monetary numerals.

Anubis authmode testsuite


The testsuite driver starts anubis daemon in authmode as follows:

  anubis --norc --relax-perm-check --altrc target.rc

where target.rc is the full filename to the configuration file for this instance of the program. It contents is described in detail in the next section.

Now, anubis switches to the daemon mode. Theoretically, we could have used DejaGNU's remote.exp to talk to the daemon. However, DejaGNU is not able to handle TLS encryption, so this method does not suite our needs.

Instead we launch a second copy of anubis, but this time using the following command line:

  anubis -Dfi --norc --relax-perm-check --altrc interface.rc

This instance of the program remains in foreground and DejaGNU talks to it using already existing anubis.exp module. Moreover, all the testcases can be run without modifications.

The following diagram illustrates data flow between main testsuite program and anubis daemon.


Configuration files

As usual, both target and interface configuration files are created from their corresponding *.in source files. The purpose of this step is to expand variables TESTDIR and TOP_SRCDIR, thereby providing correct paths to data and binary files. Usually this is done on compilation time by testsuite/etc/Makefile.am. However, to launch the first (authmode) instance of anubis we need to know the port number to bind to. Using any predefined port number is not a good idea, as it may be in use at the time the testsuite is run. Prompting the user to supply the port number is even worst.

The solution is to select the first available port number among TCP port range 1025-65535. For this purpose we use findport.c from the GNU Radius package.

The corresponding part of DejaGNU source will look like:

  # Prepare a sed expression:
  set sed_expr [remote_exec host "$FINDPORT -c1 -s1025 -f's^@AUTH_PORT@^%d^;'"]
  append sed_expr "s^TESTDIR^[board_info $host_board srcdir]^;"
  append sed_expr "s^TOP_SRCDIR^[board_info $host_board top_srcdir]^"
  # Create target configuration file
  set output [remote_exec host \
             "sed -e '$sed_expr' \
               [board_info $host_board top_srcdir]/testsuite/etc/target.in"]
  save_to_file "[board_info $host_board srcdir]/etc/target.rc" $output

  ... Run 'anubis --altrc target.rc' here ...

  # Create interface configuration file
  set output [remote_exec host \
             "sed -e '$sed_expr' \
               [board_info $host_board top_srcdir]/testsuite/etc/interface.in"]
  save_to_file "[board_info $host_board srcdir]/etc/interface.rc" $output

It is supposed that save_to_file writes to the file whose name is given in its first argument the lines from the list given as its second argument.

The amount of time elapsed between creation of the target configuration file and launching first anubis instance should be as small as possible, in order to diminish the probability of some other process occupying the port number retuned by findport. So, it is preferable to start first anubis instance right after creating configuration file for it.

Theoretically, it is still possible that by the time first anubis starts up the port number will become occupied. This will cause the testsuite to fail, so we should make sure an appropriate diagnostic message will be issued.

However, the probability of such failure is quite small. I have been using this approach in GNU Radius testsuite for more than four years and I cannot remember ever having encountered such a situation.

Given all the above, let's now see what should the configuration files contain.

Target configuration file, target.in

    mode auth
    bind @ANUBIS_PORT@
    local-mta TESTDIR/mta -bs -d TESTDIR/etc/mta.log \
              -c TOP_SRCDIR/testsuite/data/anubis.pem \
              -k TOP_SRCDIR/testsuite/data/anubis.pem
    logfile TESTDIR/etc/anubis.log
    ssl yes
    ssl-key TOP_SRCDIR/testsuite/data/anubis.pem
    ssl-cert TOP_SRCDIR/testsuite/data/anubis.pem

    sasl-password-db text://TOP_SRCDIR/testsuite/data/anubis.textdb 
    sasl-allowed-mech CRAM-MD5 DIGEST-MD5 
    # Err, a practical joke:
    smtp-greeting-message "Hej, sloneczko"
    smtp-help-message "Czlowieku, dopomoz sobie sam!"

Interface configuration file, interface.in

    logfile TESTDIR/etc/anubis.log
    remote-mta localhost:@ANUBIS_PORT@
    ssl-oneway yes
    esmtp-auth anubis:guessme


To be continued...

14 Aug 2004 (permalink)

Implemented Anubis Dixie testsuite following the guidelines set forth yesterday.

Nothing more to say. Playing music...

15 Aug 2004 (permalink)

El dia de avui es, potser, decisiu per als veneçolans: es celebra el referèndum revocatori... Fa més de un any que no tinc novetats de Oswaldo i Francisco. Com estaran?

He millorat el diccionari de Quechua una mica. Llavors em torno a tocar quena amb la consciència tranquil·la.

16 Aug 2004 (permalink)

Chávez guanyà! Estic molt content.

20 Aug 2004 (permalink)

Tak, postęp się na pewno załamał, to możemy sobie spokojnie powiedzieć. Rozglądając się - a mam czterdzieści kanałów w telewizji - nie widzę żadnych, ale to żadnych polepszeń. Widzimy tylko, że dawniej musiało się użyć pałki, a dzisiaj można mordować dzięki laserowemu naprowadzaniu bomb, wyłącznie naciskając jakiś guzik. Dzięki czemu jest się izolowanym od osobistych, emocjonalnych stresów przy tej robocie.
--Stanisław Lem

Takie oto ponure spostrzeżenie...

Hackowałem blogRight-a. Wynikiem jest ta strona.

22 Aug 2004 (permalink)
Wreszcie skonwertowałem zdjęcia z wyjazdu do Kijowa (zawsze używam starej "Praktyki", stąd potrzeba konwertowania negatywów na JPEG). Oto pierwsze z nich:


Kijów. Andrzejewski zjazd. "Zamek Ryszarda". Okolo 8:00

Musiałem przypomnieć sobie kurs astronomii by obliczyć kiedy słońce będzie w potrzebnym miejscu :^)

Zamkiem Ryszarda nazwał ten gmach wybitny rosyjski pisarz Wiktor Niekrasow (podobno na cześć Ryszarda I "Lwie Serce", z ktorym oczywiście ten gmach aż nijak nie jest związany). O gmachu mówiono dziwne rzeczy, głównie z powodu tego że, jak powiadają mieszkańcy, jego kominy wydają nocą dziwne dzwięki. Swego czasu w "zamku" mieszkało wielu pisarzy i malarzy.

24 Aug 2004 (permalink)

Nowe zdjęcia. A oto kod który je wyświetla: webgal.cgi.

31 Aug 2004 (permalink)

Good news

Welcome to my local CVS Repository.

Today I was heavily hacking on tar. Lots of bugfixes and improvements. See ChangeLog entry for more info.

Bad news

Summer is over :((
02 Sep 2004 (permalink)

Το μνημείο της Φιλική Εταιρείας στην Οδησσό

Έχω παρευριθεί στα αποκαλυπτήρια του μνημείου των θεμελιωτών της Φιλική Εταιρείας στην Οδησσό. Ωραίο μνημείο και ωραίο θέαμα. Περιμένω με ανυπομονησία την αρχή του διδακτικού έτους στο Ίδρυμα Ελληνικού Πολιτισμού!

Today I attended the opening of the monument to the founders of Φιλική Εταιρείας near the Foundation for the Greek Culture in Odessa. Nice monument! The opening was dedicated to the 210th anniversary of the city and 10th anniversary of the Foundation. The programme of the celebrations is quite long and interesting. More info and photos in the future logs!

GNU tar 1.14.90 released

As the version number implies, it is an alpha. Complete list of user-visible changes follows:

* When restoring incremental dumps, --one-file-system option
prevents directory hierarchies residing on different devices
from being purged.

With the previous versions of tar it was dangerous to create
incremental dumps with --one-file-system option, since they
would recursively remove mount points when restoring from the
back up. This change fixes the bug.

* Renamed --strip-path to --strip-components for consistency
with the GNU convention.

* Skipping archive members is sped up if the archive media
supports seeks.

* Restore script starts restoring only if it is given --all
(-a) option, or some patterns. This is to prevent accidental

* `tar --verify' prints a warning if during archive creation
some of the file names had their prefixes stripped off.

* New configure option --with-rmt allows to specify full path
name to the `rmt' utility. This supercedes DEFAULT_RMT_COMMAND
variable introduced in version 1.14

* New configure variable DEFAULT_RMT_DIR allows to specify the
directory where to install `rmt' utility. This is necessary
since modifying --libexecdir as was suggested for version 1.14
produced a side effect: it also modified installation prefix for
backup scripts (if --enable-backup-scripts was given).

* Bugfixes:
** Fixed flow in recognizing files to be included in incremental
** Correctly recognize sparse archive members when used with -T
** GNU multivolume headers cannot store filenames longer than 100
characters. Do not allow multivolume archives to begin with such
** If a member with link count > 2 was stored in the archive twice,
previous versions of tar were not able to extract it, since they
were trying to link the file to itself, which always failed and
lead to removing the already extracted copy. Preserve the first
extracted copy in such cases.
** Restore script was passing improper argument to tar --listed
** Fixed verification of the created archives. 
** Fixed unquoting of the file names containing backslash escapes
(previous versions failed to recognize \a and \v).
06 Sep 2004 (permalink)

cpio + tar + pax = paxutils

Three commits in a day are definitely too much...

The festivities are over, and I'm back to work on free software. After more than half a year delay (!!!), Savannah people have approved paxutils. The project seems to have bad karma... Anyway, since I've just released tar 1.14.90 and the version 2.5.90 of cpio is ready and working, I've started merging the two projects into paxutils. The road will be long. I am going to export as much of the good ideas and as little of the codebase from each package as possible.

If everything goes as expected, the first version of paxutils should be ready by the January. If, on the contrary, the things continue going from bad to worst as they have been during all this year... well, then I'll make it by the beginning of March.

16 Sep 2004 (permalink)


I have released radius 1.2.94. Hopefully it won't be long before the release of 1.3.


Version 2.5.90 of cpio is available for download from alpha.gnu.org. This is the first version of GNU cpio with official NLS support.

Working on GNU Anubis. Our current deadline is tomorrow.

20 Sep 2004 (permalink)

Today I started the second year of learning Greek in Ίδρυμα Ελληνικού Πολιτισμού.

21 Sep 2004 (permalink)

Chasing for bugs...

There are two very interesting ones:


First is in Anubis. When running Anubis test suite in authmode, Wojciech noticed that some daemon instances enter endless loop attempting to free a chunk of memory.

My further investigation has shown that it always occurred when trying to free an ASN1 node belonging to _gnutls_pkix1_asn tree. The bug manifests the following regularities:

It seems like a heap corruption, the two basic questions are: why it is not revealed at an earlier stage by malloc debugging code, and why enabling this same debugging code makes the bug disappear? It will take a while to answer these questions...


Yep, the second one is there. It manifests itself as an incorrect comparison of two struct timeval. More precisely, in the following snippet:

        gettimeofday(&now, NULL);
        timersub(&now, start, &diff);
        if (timercmp(&diff, tval, <)) {

timercmp incorrectly returns false when now differs from start by several milliseconds (the actual order of magnitude of tval is several seconds).

The bad thing about it is that both timersub and timercmp come from standard glibc headers...


Paxutils' project page is updated.


Paxutils' official page at http://www.gnu.org/software/paxutils is still unavailable, despite the fact that I have uploaded an updated version two days ago. E-mails to Savannah hackers and GNU webmasters have so far given null effect. In fact, they remained unanswered.

For the time being, I have to host paxutils page on my server.

I'm quite accustomed to various delays, but frankly, sometimes I'm getting bored...

Good reading

The Ancient Scripts site is fantastic.

A very good introduction to Korean language.

22 Sep 2004 (permalink)
Gaudete, patres conscripti, hodie enim aequinoctium celebramus.
24 Sep 2004 (permalink)

New releases

GNU Radius 1.2.95 and Anubis 3.9.96 are available.

25 Sep 2004 (permalink)

LINGUA project

I had a bit of free time, so I've used it to polish LINGUA engine. Currently it is written using eXtrans , which, albeit a great program, is not flexible enough for my needs. In addition to already described problems, its handling of nested tags is not consistent.

Surely I could have modified it further, but it appeared to me that I'd be better off writing a replacement for it from the scratch. And of course I was going to write it in Scheme :)

So, I've started a new project under a working name xmltools. It is a collection of Guile modules that should provide the functionality similar to that of eXtrans yet largely extended and improved. The project uses expat library and Mixp - a Guile interface module to expat.

In its current state, xmltools already supply all of eXtrans functionality, including postprocessor support.

Today I have written basic part of lingua.scm. The good thing is, it is already able to process xml and produce valid html output!

Hopefully it won't be long before I rewrite LINGUA entirely in Scheme.

29 Sep 2004 (permalink)

Well, it took four days to entirely rewrite lingua in Scheme using xmltools. Now it allows much greater flexibility than eXtrans version did. Moreover, it is easily extensible. There are still some minor points to work out, but as a whole xmltools+lingua is quite mature now, uhmm..., except for the docs... I'll need some time to write them. Then I'll probably host the project on Gna!.

In the meanwhile I have already rewritten ellinika using the new stuff. It allowed me to use normal Makefiles, split the single source file into several smaller ones and do a lot of cool things I couldn't have dreamed of using eXtrans version.

04 Oct 2004 (permalink)

News in argp module

(did I say I am maintaining it? Well, so I am, since the day before yesterday)

I've fixed a nasty coredump that occurred if the option name of an OPTION_DOC was set to NULL. Besides, updated argp will never attempt to translate an empty help string. And finally, new option OPTION_NO_TRANS prohibits translating name field of an OPTION_DOC option. The latter is already used by tar.

07 Oct 2004 (permalink)

Dictionary structure

I have started to rewrite dictionaries in Ellinika project. The idea is to use XML instead of the definition language I have been using so far. The latter was designed to be simple, short (I hate to type) and suitable for describing dictionary entries. Its parser is written in C and is therefore fairly fast. Presently, the dictionary created with it contains 1150 entries, and the process of its creation has confirmed that the dictionary structure is right and input language generally suitable for the purpose. However, it has also exposed some drawbacks of the language.

The principal drawback is that currently a dictionary entry is supposed to contain only one part of speech 1) , i.e. currently assumed entry structure is:

 (key part-of-speech articles)
However, there exist words that pertain to several parts of speech simultaneously, and that change their meaning according to the part of speech. For example, κρυώνω, when used as a transitive verb, means to refrigerate, whereas being used as an intransitive verb it means to feel cold, to freeze. The number of such words (verbs in particular) in Greek is fairly large.

So, I have decided to redesign the input language, but instead of simply fixing the already existing language, I've chosen to fully write the dictionary sources in XML.

External representation

In the new definition language each entry is represented as follows:

 <P ID="string">
  <T ID="string" />*

(as usual, optional elements are inclosed in brackets, * means zero or more occurrences of the element, and + means one or more occurrences of the element).

Elements have the following meaning:

Start the definition of a dictionary entry
Introduces the dictionary key, i.e. the word of the source language that is explained by this entry. There may be several keys if the notion in question has several sinonyms.
Introduces grammatic forms of the key, whenever these are not formed by standard rules. In future I expect to write proper verb conjugator, then this field will probably mark a reference to or invocation of it.
Part of speech and meanings associated with it (see below). Attribute ID introduces the name (usually abbreviated) of the part of speech.
Translation of the word (M stands for Meaning)
Cross-reference for this entry. Usually this is a reference to sinonym or some semantically related key.
Topic or group this entry pertains to. ID identifies the topic. When many entries pertain to the same topic, their definitions can be enclosed in
<T ID="name">

There are two special forms of this notation. One is useful as a shortcut for those words that have only one part of speech (as I said I hate to type, so I'm trying to spare as much typing as possible):

 <T ID="string" />*

Another one introduces an entry that is a reference to another entry in the dictionary:

 <T ID="string" />*

This is useful for such pairs as "ο ποταμός" and "το ποτάμι", both meaning "river" but having different genders. The special form <X /> means reference to the immediately preceeding node definition wich has at least one translation (M element).


A working example can be found here.

Internal representation

The initial version of the dictionary translator is already available. See its heading comment for the short description of the internal representation (Scheme of course).

1) The term part of speech is used here in broader meaning: e.g. for the dictionary purposes transitive verbs and intransitive verbs are regarded as different parts of speech. I'll possibly have to introduce finer granularity here (e.g. part-of-speech/subpart or something similar), but currently I am not sure it will be worth the effort.

08 Oct 2004 (permalink)
Do not seek death; death will find you.
But seek the road which makes death a fulfillment.
-- Dag Hammarskjold
10 Oct 2004 (permalink)
Nowe zdjęcia: z Kijowa i z Odessy.
11 Oct 2004 (permalink)
I have merged guile-sql and guile-gettext into a single project: gamma.
12 Oct 2004 (permalink)

Dictionary support is ready

Dictionary of Ellinika site has been completely rewritten in XML (see this entry for more info). The project now uses gamma instead of guile-sql + quile-texinfo.

17 Oct 2004 (permalink)
Zgodnie z propozycją Wojtka dodałem do galerii przyciski przejścia wstecz i naprzód. W pliku html (sic!) wygląda to tak:

(let ((env (current-image-neighbors)))
 (if (car env)
    (display "<a href=\"")
    (display (image-url (gallery-id) (car env)))
    (display "\">") 
    (display "Poprzedne zdjęcie")
    (display "</a> | ")))
 (if (cdr env)
    (display "<a href=\"")
    (display (image-url (gallery-id) (cdr env)))
    (display "\">") 
    (display "Następne zdjęcie")
    (display "</a> | "))))
Już jasne do czego zmierzam, co? No właśnie, chcę zmodyfikowac mod_guile tak, by Apache rozumial <?guile ... ?> na równi z <?php ... ?> :))
03 Nov 2004 (permalink)

Fatally short of time...

The new radius documentation is available. The main page is now xhtml 1.0 (as well as radius homepage)1) . I wish I would be able to convert documentation files to xhtml as well, but that would require either updating texi2html (I wouldn't like to do this) or texinfo (I'd love to, should the time permit)...

Anyway, the package itself is ready for the release. Today I have fixed a small bug that manifested itself on BSD systems, and have given a final polish to the docs. I'm going to release the stuff before Nov 06.

1) By the way, I'm working on the xmltools translator for producing standard GNU web pages (working name boilerplate).

19 Nov 2004 (permalink)

السّلام عليكم

Well, my log got interrupted for more than two weeks... I have started to learn Arabic, and it is taking now the rest of my time, which was in short supply already. I am growing more and more fascinated by both Arabic script and its grammar...

The long silence does not mean nothing was being done. So, a short summary:

21 Nov 2004 (permalink)

Yesterday I released version 1.3 of GNU Radius. I wish Jordi updated Catalan localization. It was very important to me. Pity...

More work on rmail.el. People from emacs-devel have supplied some fresh ideas and RMS have asked me to update documentation as well:

Documentation is the castor oil of programming. Managers know it must be good because the programmers hate it so much.
22 Nov 2004 (permalink)

Updated versions of rmail.el: modified source and diff file (against the latest CVS version 1.393).

ChangeLog entry:

 * mail/rmail.el: Updated to work with movemail from GNU Mailutils
   (rmail-pop-password,rmail-pop-password-required): Moved to
   rmail-obsolete group.
   (rmail-set-pop-password): Renamed to rmail-set-remote-password.
   All callers updated.
   (rmail-get-pop-password): Renamed to rmail-get-remote-password.
   Take an argument specifying whether it is POP or IMAP mailbox we
   are using. All callers updated.
   (rmail-pop-password-error): Renamed to rmail-remote-password-error.
   Added mailutils-specific error message.
   (rmail-movemail-variant-in-use): New variables.
   (rmail-remote-password,rmail-remote-password-required): New
   customization variables.
   (rmail-probe,rmail-autodetect,rmail-movemail-variant-p): New
   (rmail-parse-url): New function.
   (rmail-get-new-mail): Updated for use with GNU mailutils movemail.
   Accept mailbox URLs no matter what flavor of movemail is being used.
 * etc/NEWS: Document changes to rmail.el
 * man/rmail.texi: Likewise
09 Dec 2004 (permalink)

Back again

After a more-than-busy two-week pause I'm back again (I'd better tell some other time what I've been doing during these two weeks). Most important news during this time are: together with Max we have set up our server (Ulysses) and I've finally managed to mirror both ftp.gnu.org and www.gnu.org. Moreover, both mirrors are now accessible as ftp.gnu.org.ua and www.gnu.org.ua.

Another mirror I've been runnng, that of the Unix Heritage Society at tuhs.org.ua, is now hosted on this server too.

Needless to say that my personal page is served by Ulysses as well.

The question now is, how much will it cost to maintain all this, given its average daily traffic... We'll see...

Other FS news: a simple script to view po files. Why? I don't know. May prove useful some day... Click here to see it work.

Hacked on GNU mailutils and introduced a universal sql-access layer. The auth library has been rewritten accordingly and mail.local is finally able to retrieve mailbox quotas from SQL database, a feature many of the mailutils users have constantly pinged me about.

While feedling with mailutils I've noticed something that makes me feel a bit uncomfortable: we have no convention on how to write diagnostic messages. Some of them begin with a capital letter, some don't. Some end with a period, some don't. A chaos. We should certainly change it, but I'd better do it after releasing 0.5.1 maintenance release (this change will affect po files, and hence will require waiting for the translators to finish their jobs).

Anubis: a couple of security-related changes proposed by Ulf Härnhammar. Socks.c still waiting to be rewised by Wojtek.

Oh, yes, forgotten to say: among various junk on my machine I've excavated my geek code. Its surprising how little has changed since I wrote it...

10 Dec 2004 (permalink)

Items from my museum

An /etc/issue made by a friend of mine for one of my machines. It is dated some time around 1999

                           | _ . -   ...- . |
                           |  ##### ./~\. . |
                           |. # @ =  \_/. . | 
                           |  #,  # __ . -  | 
                           |. #   = .  -- . |
                           |_ #####  ..   - |
                              @   @      @  

       |~~~\   /~~   |~~~\   /~~   |      /~~~\  ~~~T~~~  ~~~~~/
       |   |  |      |   |  |      |     /     \    |         /
       |___/  |--    |___/  |--    |     |     |    |        /
       |      |      |      |      |     |-----|    |       / 
       |       \__   |       \__   \___  |     |    |     /_____

I baptized the machine pepelatz (a term from Georgi Daneliya's film Kin-Dza-Dza). Wander what's this? Here's the definition:

Excerpts from "The Technical Dictionary of Cuue", Prentice-Hall, 5255:

pepelatz, n: Flying apparatus (usually very rusty) used in conjunction with gravitzapa (see).

gravitzapa, n: An indispensable part of pepelatz (see).

I can only add that the machine looked almost exactly as its prototype :)

13 Dec 2004 (permalink)

I have been chasing for bugs in gsasl 0.2.2 for over four hours. Managed to find quite a few. Debugging is probably the most exhaustive kind of work I've ever tried...

Emacs folks have begun arguing about GFDL vs. GPL problem (though, frankly speaking I can't see any problem at all). Debian people evidently become tired of it and their discussion on this topic has faded away. Now it's emacs-devel turn, isn't it? Interestingly, how similar both threads are: the two sides go on spitting different reasons and no one seems to have heard the other, whereas RMS keeps olympic silence and only when really annoyed does he tell: "I believe GFDL does what it should". So spricht Zaratustra...

22 Dec 2004 (permalink)
Gaudium magnum anuncio vobis, o patres conscripti: hodie solisticium hiemale celebramus!
27 Dec 2004 (permalink)


Several things have happened recently:

28 Dec 2004 (permalink)
www.gnu.org.ua has become official mirror of www.gnu.org!