Recent blog entries for fjf

'God save thee, ancient Mariner!
From the fiends, that plague thee thus! -
Why look'st thou so?'

I have just built AbiWord as a shared library - the UNIX version, totalling just over 9MB.

It's strange to be working on a non-Cocoa build of AbiWord - must be about two years since I last did this. I remember (oh years and years ago, when I was but a twinkle in my parents' eyes) turning AbiWord (version 1, I think) into a library; this was the gtk1.2 version which I was maintaining on OSX 10.1 or something similarly prehistoric. This was before I discovered how to link plugins to executables on Darwin and I had the idea of turning Abi into a library. Can't remember whether it worked, but I do remember that compile time su-... er, wasn't good. Hardware is better these days, though.

I enjoy reading tf's blog. Here's a rant against democracy.


I'm no philospher, but the idea of a benevolent autocrat began, I think, with Aristotle's Philosopher Prince. The idea crops up from time to time, for example in Asimov's robot series and Frank Herbert's Dune series. I have also played with the idea in my (unpublished) novel. I discussed this idea with a German friend of mine a few years ago, and she was extremely hostile to the idea of autocracy, and I think just about everyone is, not necessarily because autocracy itself is bad but because in practice autocrats tend to be ruthless in pursuit of their own ideals.

I think that in order for an autocracy or a democracy to work, the governed need to trust the governor, to believe that the governor is doing what is best for them. More importantly, the governor needs to have an eye on the future - the long-term future.

Modern democracy in practice in dominated by commercial interests where nothing is sacred except money, by the short-term interest of re-election and the immediate-term interest of public image. Celebrity is worshipped. For these reasons, and others, we cannot trust those who govern.

Whether it's democracy or autocracy, it seems we cannot trust those who rule us.

So, what is democracy really? Partly it is, as tf says, justice - even those who govern are ultimately accountable, even though their power makes it harder for us to ensure this. Mostly, however, it is the "dark side" of democracy - beaurocracy - that we both crave and fear. Beaurocracy is about making the world safe for us, and it achieves this by gradually stamping out freedoms and repressing individuality.

One day the world will be perfectly safe: nothing bad will ever happen to us and everything will be completely predictable.


The trouble with Open Source is that everyone can hear you scream.

Tired after a long week in Italy and too much romantic (or unromantic, rather) stress, the last thing I needed was open warfare (sorry, free warfare - free as in speech, that is), and on the subject of warfare there's an amusing article at The Register.

April 1st, Day of Merriment. Here's my contribution - which no one noticed (well, no great tragedy).

Where was I? Oh yes. Stress. Here's what started it. I liked it, but it turned out to be too controversial.

Gone now, alas, before anyone even had a chance to play with it and tell me, from first-hand experience, that it sucked.

Alas, poor source code! I knew it, Horatio:
A menu of infinite jest, of most excellent fancy

Five to midnight... I'm tired of playing the fool.
Peace. Out.

My surface plot adventure continues with even more fractal fun. I've got the continuous potential method more-or-less sorted out, and I think I know what's causing the ripples; these only show up when colours are adjusted for a directed light source.

Off to Italy tomorrow for a week, for a conference in Turin. By complete coincidence, Benoit B. Mandelbrot will be giving a key presentation there...

It's funny. I've been programming Cocoa on and off for two or three years, and quite intensively over the past five months, but never really did anything requiring lots of drawing. I've been putting it off...

Which is odd because normally the first thing I do in a new programming language is draw Mandelbrot figures. Well, I'm writing some software to plot surfaces, so for test cases I've been using data representing areas of the Mandelbrot figure: Fractals are fun!

I must say I am increasingly concerned about the amount of stuff that gets put in the trash can without any thought for the environment. I have decided to write a new "green" trash can application which filters any open source code, data or applications and recycles it by compressing it and making it available to the rest of the open source development world via the web. To prevent the trash can recycling itself, I will of course have to make it a proprietary, closed source application.

On a separate note: I discovered today that Schostakovich's piano concertos make the perfect antidote to an afternoon of Bach's violin partitas.

I don't know. I think Eugenia understands the OSS development process well enough. As she herself says:

I do OSNews for pure fun (it is just a hobby for me in order to fill up my free time), so if you have a problem with my spelling and grammar either:
a) do not come back (spare us and save your time too)
b) send me a proofread version of the article in question.
Whining about something I can't radically improve overnight, is not an option.

Sounds familiar?

Anyway, there's a difference between a small project like AbiWord where it's 20 or so developers trying to satisfy 20000 or so users, and big projects which act like they're the answer to life, the universe and everything. They can't all be 42.

Welcome to the real world.

I have decided that programming is addictive. Or maybe it's just that I'm coding in Cocoa and I'm a chocaholic. Or maybe, as my quiet friend says, I really do need to get laid.

Cocoa. What a strange language! I remember being utterly baffled by it at first, and then at second, also at third... and then one day it started to make sense. Objective-C, the language where everything is expressed between square brackets, like array[indices].

Which you can also have. So:

for (i = 0; i < N; i++) {
  FigureArray * go = [FigureArray arrayWithCapacity:ArrayOfArraySizes[i]];
  [go figure];

And of course, with Objective-C++ the square brackets could mean just about anything anyway, e.g.:

class Nuts : public ExerciseInRedundancy
  inline id operator[](NSArray * A) {
    if (A)
      if ([A count])
        return [A objectAtIndex:rand([A count])];
    return @"Cashew";

(Question: When Apple was thinking of mixing Cocoa with Java, did they plan to call it Cappuccino?)

Insane. I love it. I even looked into using GNUstep. I even compiled an obscure CVS branch of gcc and patched GNUstep source so that I could look into GNUstep using Objective-C++ but

And there is but.

But isn't there always a but?

I'm sorry, but I can't stand GNUstep. From a user perspective: it's too ugly. From a developer perspective: half the methods don't have proper names. I'll take another look next year, but until then it'll just be me and Abi and random Apple users telling me that I've obviously never used a Cocoa application because AbiWord for OS X sucks...

Funny guys. I'll have to send them a bunch of rose stems.

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!