Started weblog.
Thanks Wojtek for an excellent piece of software!
Radius news:
- Radtest language has reached more or less mature status.
- The documentation draft for 1.2.94 is available
Awfully tired of writing docs!
QOTD:
Radius news:
- Finished documenting radtest. Fixed several inconsistencies as well.
- Documented radauth.
- New contributions in /contribs subdirectory: passwd_to_db from Gerald Coon, radsend (original name: 'simula.pl') from José García and passcvt from yours faithful.
Tar news:
Two updated localizations are available for 1.14: Dutch and Simplified Chinese.Mailutils news:
Fixed minor bug in 'include/mailutils/daemon.h'.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.
Software
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...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 definederror_t without defining symbol
__error_t_defined. It's easy to fix, but Guile people should have
known better than doing such things.
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 aPAX 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...
I have finally moved the runasimi site to LINGUA engine!
Runasimi news
Added chapter about cardinal numerals in Quechua.eXtrans
WritingLINGUA 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:
- Rudimentary error checking and reporting,
- Keeping its own database of target-source file dependencies.
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:
xtrans: $(EXTRANS) -M $(SOURCE) > .extrans.mk $(MAKE) -f .extrans.mk
Bugfixes
| 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. |
Coca no es cocaina. Coca es la hoja sagrada.
Jallalla Bolivia, jallalla Oruro,
Soy de los cocanis alma, vida y corazon.
-- Savia Andina
Runasimi
Added chapters about
ordinal and
monetary numerals.
Anubis authmode testsuite
Overview
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
BEGIN CONTROL
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
END
BEGIN AUTH
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!"
END
Interface configuration file, interface.in
BEGIN CONTROL
logfile TESTDIR/etc/anubis.log
remote-mta localhost:@ANUBIS_PORT@
ssl-oneway yes
esmtp-auth anubis:guessme
END
Testing
To be continued...
Implemented Anubis Dixie testsuite following the
guidelines set forth yesterday.
Nothing more to say. Playing music...
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.
Chávez guanyà! Estic molt content.
Takie oto ponure spostrzeżenie...
Hackowałem blogRight-a. Wynikiem jest ta strona.
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.
Nowe zdjęcia. A oto kod który je wyświetla: webgal.cgi.
|
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 :(( | |
Το μνημείο της Φιλική Εταιρείας στην Οδησσό
Έχω παρευριθεί στα αποκαλυπτήρια του μνημείου των θεμελιωτών της Φιλική Εταιρείας στην Οδησσό. Ωραίο μνημείο και ωραίο θέαμα. Περιμένω με ανυπομονησία την αρχή του διδακτικού έτους στο Ίδρυμα Ελληνικού Πολιτισμού!
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 restores. * `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 dumps. ** Correctly recognize sparse archive members when used with -T option. ** GNU multivolume headers cannot store filenames longer than 100 characters. Do not allow multivolume archives to begin with such filenames. ** 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 option. ** Fixed verification of the created archives. ** Fixed unquoting of the file names containing backslash escapes (previous versions failed to recognize \a and \v).
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.
Radius
I have released radius 1.2.94. Hopefully it won't be long before the release of 1.3.
Cpio
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.
Today I started the second year of learning Greek in Ίδρυμα Ελληνικού Πολιτισμού.
Chasing for bugs...
There are two very interesting ones:
Anubis
First is in Anubis. When running Anubis test suite inauthmode,
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:
- With
MALLOC_CHECK_unset, it is almost certain to appear in every test suite run. - With
MALLOC_CHECK_=2the bug never appears. I find it extremely uncommon, even taking into account Murphy's law. I suspect it to be a very important issue, although at the moment I cannot say why. - Using
mallocby Doug Lea ($Id: malloc.c,v 1.11.2.8 1998/08/28 12:06:46 drepper Exp $), the exact location of the dead loop is infrontlinkmacro, namely:else { /* This loop is endless. Obviously the memory chain is corrupted */ while (FD != BK && S < chunksize(FD)) FD = FD->fd; BK = FD->bk; }(invoked from
chunk_free()near line 2965).
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...
Radius
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...
News
Paxutils' project page is updated.
Antinews
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.
New releases
GNU Radius 1.2.95 and Anubis 3.9.96 are available.
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.
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.
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.
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:
<NODE> <K>string</K>+ [<F>string</F>] <P ID="string"> <M>string</M>+ <A>string</A>* <X>string</X>* <T ID="string" />* <X>string</X>* </P>+ <X>string</X>* </NODE>
(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:
NODE- Start the definition of a dictionary entry
K- 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.
F- 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.
P- Part of speech and meanings associated with it (see below). Attribute
IDintroduces the name (usually abbreviated) of the part of speech. M- Translation of the word (
Mstands for Meaning) A- Antonym
X- Cross-reference for this entry. Usually this is a reference to sinonym or some semantically related key.
T- Topic or group this entry pertains to.
IDidentifies the topic. When many entries pertain to the same topic, their definitions can be enclosed in<T ID="name"> ... </T>
construct.
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):
<NODE> <K>string</K>+ [<F>string</F>] <P>string</P> <M>string</M>* <A>string</A>* <X>string</X>* <T ID="string" />* </NODE>
Another one introduces an entry that is a reference to another entry in the dictionary:
<NODE> <K>string</K>+ [<F>string</F>] <P>string</P> <X>string</X>* <T ID="string" />* </NODE>
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).
Examples
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.
But seek the road which makes death a fulfillment.
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.
html (sic!) wygląda to tak:
<hr>
<center>
[
<?guile
(let ((env (current-image-neighbors)))
(if (car env)
(begin
(display "<a href=\"")
(display (image-url (gallery-id) (car env)))
(display "\">")
(display "Poprzedne zdjęcie")
(display "</a> | ")))
(if (cdr env)
(begin
(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 ... ?> :))
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).
السّلام عليكم
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:
- GNU Radius 1.3 is ready for the release. The current snapshot is marked 1.2.96 and is as usual available from mirddin.farlep.net. I am waiting for Jordi to finish Catalan translation, that's the only thing missing.
- Several bugfixes and improvements have accumulated in GNU mailutils which makes me plan to release a maintenance version next week. See NEWS file for a short description of these.
- I have submitted a hacked version of
rmail.elto emacs-devel. This version makes extensive use of the new features provided by GNU mailutilsmovemailprogram. Both modified source and diff file against the latest CVS version 1.393 is available. - Finally, Wojtek says it's less than a month left before releasing GNU Anubis 4.0.
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:
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-search-path) (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 functions (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
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...
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~~~T~~~~~~T
@ @ @
|~~~\ /~~ |~~~\ /~~ | /~~~\ ~~~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 :)
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...
Several things have happened recently:
- A courageous decision of the Polish Government prevented European Union from adopting a disastrous "Software Patent Directive"
- Re-elections in Ukraine. Let's wait for the results...
- A bunch of christmas releases: Anubis 4.0, tar 1.15.1, cpio 2.6 and mailutils 0.6
![[photo]](https://gray.gnu.org.ua/old/logbook/gallery/28.jpg)
![[image]](https://gray.gnu.org.ua/old/logbook/graphics/poland_banner_r.png)
![This is a link to this site's RSS channel [xml]](xml.png)