Recent blog entries for GJF

I note the recent article on Open Source investment. I was too late to make any useful comments there, so I thought I'd put them in my diary.

Strangely, a growing proportion of my income is from Open Source development, or based on Open Source software. If I have a client that wants a job done, I look around for suitable open source tools. Last year it was PfaEdit (which I still use) and this year it was the swish-e search engine. In each case the product did not quite match my client's needs, but I was able to modify the source to get the functionality I needed - and then contribute the new code back to the project - I would not even dream of trying that with a large commercial software company. The end result is a happy client, improved open source products and an income for me.

I've been editing quite a few fonts recently. The fonts are PS fonts for Mac, but I do the editing using PfaEdit on Linux.

I've surprised myself by contributing several bug fixes for PfaEdit. I'm impressed with PfaEdit, it is certainly a lot better (for PS fonts) than the old copy of Fontmonger we have.

I've noticed that the world of fonts could do with more attention from the free software community. Hardly any fonts are available with a GNU (or even BSD) licence. It would also be good to have some really high quality ttf fonts like Verdana or Tahoma - I guess I'm going to have to learn TrueType programming and get hinting.

Unfortunately, I still largely make my living (or should that read earn my pittance) by making and or selling closed source software. Anyway - today I'm applying for a grant to do some localisation of free software into Maori language. My ultimate goal is a complete desktop and application suit in Maori along with some quality educational software.

Wow - I'm now certified to install, configure and disparage Windows 2000 server. Not much wonder I'm still only certified as apprentice.

I'm surprised...

I've installed wwwstat on my (virgule clone) web server so I could make some sense of the web logs. We're getting thousands of attacks directed at IIS (but I knew that already).

I'm still tweaking wwwstat, but one thing that caught my eye is that a number of people have downloaded the rtf- converter. I'm surprised - it must be the freshmeat entry I put up? Anyway, I'm quite pleased with myself.

Damn! We've suffered a number of virus attacks recently.

My Linux boxes have been logging Code Red attacks for weeks. Then recently a virus managed to send itself to one of my mailing lists (so now I've worked out how to bounce attachments sent to Majordomo according to MIME type).

Now we've actually been hit by Nimda - which is probably the nastiest I've seen. It infected two of our test servers, trashing one. This one has four different transmission mechanisms. E-mail, http (infected web servers), buffer overrun attacks on IIS, and through unprotected network shares on the LAN. Quick check for Nimda... search a Windows drive for exe or dll files containing the string: R.P.China ....

My Linux servers have not themselves been compromised, but I am concerned that there are buffer overrun exploits which they are vulnerable to - I guess I'm just going to have to swot up on this...

It's up and running!

My mod_virgule based site is officially launched. We had a launch celebration yesterday which went pretty well. Please feel free to take a look at the site - but please remember that accounts on the site are intended for Kaitiaki Maori rather than free software authors.

The source for my version of mod_virgule is
Please check out the rtf-converter too.

Some of the modifications I made to mod_virgule are:

  • using rtf-converter and ApacheRequest to upload rtf documents as articles
  • Some e-mail integration to export user data as mailing lists for Majordomo).
  • Require opt-in (check-box on user options) for higher certification levels - so that we can use trust metrics to manage membership of an incorporated society.
  • A simple web links database.

I realise that my version of mod_virgule ended up with lots more embedded html - so probably it is at the end of an evolutionary code branch. I am still impressed with raph's code, and the power of the apache api for add-in modules. I'm also keeping my eye on the xvl project for future development.

2 May 2001 (updated 30 May 2001 at 03:00 UTC) »

For my reference:

I've found libapreq a library for uploading files to Apache, I can use to accept uploaded RTF files in mod_virgule.

I also found the apache API listing on

Also found *NIX programming guide. Which I needed for the system call I need in order to launch the converter.

I've been Win32 API programming too long...

By the way, I sniffed out the error that was causing the the RTF converter to seg-fault... It had the smell of a stack overrun - and sure enough there it was a printf writing a number into a locally declared string (char str[64]) which was big enough until the number exceeds 9... result stack gets overwritten and program crashes when the function returns. It only seemed to affect the Linux version, not the Windows one. Probably would crash either/or at random if you tried converting enough documents...

It turns out we need HTTPS, so tinyproxy is on its way out. I've installed squid (on a 486!) and it seems to be working (I'm using it now).

On the mod_virgule front

I'm writing a mod_virgule module for my advogato clone site that will write alias files based on the trust metric levels. The idea is to have mailing lists consisting of all members above a given trust level and have these maintained entirely by mod_virgule. I'm hoping to manage posting restrictions with the majordomo list management functions.

I'm also still trying to weed out some bugs in my rtf to html converter application. Then I want to integrate that with mod_virgule users can upload rtf instead of typing into the form.

We had a hard drive crash on our web/e-mail/proxy server on Monday. There was a backup (albeit old) but it still took forever to restore the system. We have a saying in the NT world:

You moved the mouse. Please wait while your system restarts in order to make these changes take effect.

In the mean time - I put up a temporary web page on one of my 486 Linux testbeds. It took a bit of figuring, but I could add and remove ip addresses with a couple of commands on the console.

Even after several days work - it turns out we still can't get Humpty together again. The reinstall for some reason required upgrading to MS proxy 2 - but it turns out that proxy 2 can't live on the same machine as

In the end I installed tinyproxy on another Linux 486 and in about an hour and a half had it up and running. Now I just need an FTP proxy.

Why not just use Squid? The documentation suggests a 300MHz Pentium and a fast disk array. Oh well...

My free software projects

I'm about to start working again on my modified mod_virgule setup. I'm thinking of adding a News/Calendar application and maybe a voting application. I've almost finished my rtf-to-html converter. I'm just having a little difficulty with rtf tables and fields...

I have finally begun work on my RTF to "styled-html" converter application. I have been trying to use Paul DuBois' rtftools package, but I had lots of trouble trying to get imake to build the make files on Linux. I hacked a semi working version together using Visual C++.

Having got this far I fear the rtftools package is badly out-of date, it complains about lots of RTF tags and doesn't know to ignore /*/ groups - so it ends up dumping garbage into the text stream...

I downloaded and installed wvware which is used in AbiWord and it works really well with Word 8 files, but doesn't appear to support RTF. What is the best RTF reader package out there?

Re: mod_virgule
I must admit I'm kind of impressed by badvogato. I'm still working on my own version. I want to add Topics to the articles and maybe do event notices (in place of diaries).

17 older entries...

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!