The documentation for the GNU cflow project is finally available. I ask you to kindly take a look and report me your opinions, suggestions and the like.
Straight to the business: first, the very first batch of fotos from Lwow is available (it probably will take me at least a couple of weeks to publish them all, at the present rate ...) Anyway, enjoy! If the gallery is missing a translation to your native language, just let me know.
Secondly, thanks to Wojciech's kind assistance, we have managed to bring mailutils namespace to a unified form. It is a great step for our team. Just think that currently mailutils codebase counts 193759 lines of C text, this will show you what it feels like to ferret out all this code, changing global symbols, without breaking anything. Should you ever plan to go into such a risky adventure, consider using this script. The docs are also available. If these are not enough, write me, I'll be glad to answer your questions.
To tell the truth, I have never thought I would wish to make my scripts repository available, but now I think I should do it.
Returning to mailutils, now that it has taken its new form, I have finally undertaken final API cleanup. First goes mu_folder_list and friends. Untill now it has been (1) non-recursive, and (2) used a kludgy struct folder_list, which seems to have been a leftover from the dark times when mu_list_t has not yet been there... So, this has changed. Now, one can write:
and obtain a list of all folders under dir up to fifth nesting level! If one is careful enough (or, if one knows pretty well what he/she is doing, which is the same thing, anyway), one may write:
Oh, well, I mustn't forget to tell Jocke about it! It was him who made me think about this folder business.
All in all, given all the recent changes to mailutils, I am inclined to think that the next release version will not be 0.x, but 1.0:) I am pretty ready to delay the release for a pair of months and to release a couple of alpha versions more, to achieve the result.
Oh, by the way, now mailutils interfaces with GNU radius. Strange, I haven't thought about it earlier...
I have had neither time nor desire to write any articles within the recent three months. Sure enough, there were plenty of news during this time. I am still a bit short of time for a detailed description (maybe next time), but a can provide a very brief summary:
Puszcza.gnu.org.ua, a central point for development, distribution and maintainance of software projects in gnu.org.ua domain, is up and running.
Mailfromd, a mail filter, is reaching stable state. By this time it has been running long enough on my mail server without any problems. The latest addition to the filter is the ability to limit mail sending rate of a user.
My gallery can now speak several languages. Visit it soon to see new fotos (more on this subject later)
However, I had to write a special post-processing program to handle lex and yacc sources, created by ctangle. Here it is.
RMS has finally dubbed cflow a GNU package. I am now installing a repository on Savannah and working on other procedure issues (docs, web page, FSF directory entry etc.)
There are quite some news in this respect. Firstly, I have prepared a patch to GNU MDK that fixes several incompatibilities between the language described by Dr.Knuth and the language accepted by MDK itself. These are:
I have also returned to work on Douglas Laing MIX package. Douglas has kindly given me his permission to distribute the sources under GPL and has informed Dr.Knuth about the new package.
Why work on another MIX assembler/simulator when MDK is available? Well, there are quite a few reasons of doing so. While being a nice package, MDK does not quite satisfy my needs. What I want is a MIX assembler/simulator as closely conforming to TAOCP as is possible. Douglas's MIX meets this requirement, especially after I added back TTY device (by the way, I'm looking for a name for the new package, Conformant MIX seems to be quite a good choice).
Secondly, any MIX package is meant first of all for those who are studying TAOCP and are experimenting with the programs from its examples and excercises. This audience will certainly welcome a debugging feature. I have implemented MIX terminal mode, which, apart from remembering me IBM 360 console of the good ol' times, allows to debug MIX programs.
Another thing, given its special audience, a MIX package should be extremely educational itself. Again, MIX fits this description quite well. Its simulator is initially written closely following the guidelines set forth in TAOCP itself. Besides, it is written in WEB. And this brings me to the third objective of the package:
I want to rewrite the entire package in WEB. The primary motivation is explained above: it is to make sources well-documented and educational to the very extreme. There is a secondary motivation as well: I want to explore the limits of usability of CWEB tools, by pushing them to the very edge. At the risk of being accused of heresy, I must admit I doubt whether they could effectively be used for a real-world programming. Writing in literate programming style requires one to switch attention between TEX subtleties and writing good code, which is a difficult task (the new CWEB major mode for Emacs might help in this regard, though) and does not improve productivity. Besides I do not like much the way cweave formats large C data (e.g. arrays of structures). It is simply awful. So the purpose is to explore all pros et contras of CWEB tools.
The majority of MIX sources are rewritten in WEB. I have even managed to produce a valid YACC source file from a .w source (see mixal.w)!
The only two sources left are lex.l, which is downright impossible to write in WEB, and automatically-generated optab.c, which, being processed by cweave, looks like a pile of ..., well, garbage.
Oh, well, and last but not the least: the package will provide a MIX simulator written entirely in Elisp. There exists a preliminary implementation already.
I have published my modifications to Warren Toomey's apout package. The modifications permit to run all programs from the earliest UNIX binaries found so far: so called 1972_stuff, binaries dated 1973, discovered by Dennis Ritchie.
Here is my message to Warren describing the details. It is interesting to notice the date, by the way.
Have you ever tried to download, compile and install a dozen and a half aspell dictionaries on one machine? If you ever need it, use this script.