Older blog entries for graham (starting at number 3)

Don't really like the idea of writing a diary; do like somewhere to put down random thoughts. As predicted, the sheer number of entries seems to making the diary system unusable. Hope raph's following up on all the suggestions about diary cross-linking (if its possible to come up with a coherent system from the rather random proposals...)

Thoughts for today: the free software 'community', its self-image, outsiderness (or how can anyone be so slow?).
Free software is something with absolutely no historical precendent. People make parallels with pre-industrial gift cultures, but really the comparison falls to pieces as soon as you look at the details (say, the Kwakiutl). Superabundance of salmon and bits really isn't the same thing. And people seem to feel that: I've never seen anyone propose names for developers based on these societies (who would want to be called 'chief' ;-). Instead, there seem to be 3 instinctive identifications: Tolkienesque and fey: wizards, dwarves, even trolls (everyone forgets its from fishing, the attraction of this theme is so strong!); mediaeval: apprentices, journey[.*], masters; or technological: technocrats.
I don't feel happy with any of them. Technocrats is maybe the worst: the illusion that because you know how to do something, you have the right to rule others. It brings up images either of the 60's and white-coated 'scientists', or worse, Russia in the 20's and engineers believing that only their work involves skill, so that perfection for non-engineers can only come through glorying in the routine; the world of Zamyatin's 'We', futurism, the man-machine, fascism from the left.
The mediaeval theme seems cosier; its based on skill levels, so it doesn't seem exclusionary, people progress through stages. It still relates to remnants of skill in the non-digital world, to other crafts that have been kept alive. But it does exclude: the whole point of the original guild system was to exclude people who hadn't passed through it, to say 'you can only get the skills if you pass through this certified process'. It was rigid, and ended by blocking innovation, so that the towns where the industrial revolution began were the ones outside the old guild system. Personally I have a gut reaction against it from associations with portuguese fascism: the imagined nostalgia of bringing back a time when there was harmony between master and apprentice, when guilds existed but not unions, imposed by the brutest of force.
That's not to say that Advogato is somehow proto-fascist, but the terms are still exclusionary. Who is being excluded this time? Mainly, all the people who are having the skills sucked from their jobs by computerization itself. Working a check-out till looks like a pretty demoralizing job, but at least you can keep your brain going by being fast at mental arithmetic. Then the till gets computerized and replaced by one with images for each product. Someone maybe got into writing the code for that till; but its one more step in removing the slightest pleasure from work for the person on the recieving end. And its one example from millions, an example I only chose because I just saw it happen to someone. Computer sales people love to go along with the image of a world divided into the technical elite, and the 'moms and pops', people who supposedly could never handle or enjoy any complexity or skill in their work, when any part of that that is true is only true because the skill has been quite deliberately taken away from them. How do those people gain entry to the guild? Partly, its a real problem, not just a problem of names; but the names and the ideas that go with them don't help.

So what about the Tolkien terms? People either like fantasy or they don't. Some have extreme allergic reactions to anything that sounds fey, or whimsical. The one big merit for those terms is they don't try to resurrect the past, they never belonged to the real world. But they also encourage a vision of hierarchy (with wizards and deities at the peak) that doesn't need to be there. Free software is something new, it needs terms and organization that are new too; so why not choose terms that don't reinforce hierarchies? I'm sure Miguel, or Rasmus, or esr (if its really him) don't need to be told that they're 'masters' in some sense, let alone deities, and nor do the rest of us. For the particular areas we work in, we already know who the masters are. And for all the lip-service paid to non-programmers involved in free software, calling those people alone the masters reinforces the idea that non-programmers can never be masters, that those with other skills really are, in the end, excluded. Instead, why not call people by their roles? Someone who has written a good manual or book can be a master; but they are also a writer. Someone who organizes a Linux conference of a 1000 people may have master level skill as an organizer, but their title should be organizer, not master. Someone who creates a Unix-like operating system from scratch is a programmer; the world will know if he (in this case ;-) is a master.

OK, a concrete proposal for titles: organizer, writer, programmer, co-ordinator, teacher, designer... The list is indefinitely expandable (the category 'programmer' in particular is likely to fission and multiply). People in this community may in the end value programmers more highly, but that is their choice, not imposed by the terms used. It can still be used to filter out people not involved; to be a writer you should be able to point people to what you have written. It will not filter out trolls, any more than the current system does. It does have one big inconvenience: there is no-one in the world who knows who all the 'masters' in all these fields are, so the initial seed verifiers will have problems; but then the seed system doesn't seem to be perfect even within the world of coding alone as various other diaries have pointed out.

Ran out of time for the more personal part of this... another day.

This is bizarre: people seem to be using the diaries to communicate, rather than the article system. But the population of Advogato (and presumably the number of diary entries) seems to be growing pretty much exponentially, and who has the time to click through all the diary entries to check out the topics even now, never mind when there's 2^some_big_number people writing them...

To Java or not?

Anyway, I'll give it a go: noticed some of the comments re Java (hi, pvg). I have been blathering about starting a new project for ages, thoroughly annoying various people by not actually producing anything (hi thi, suspect you may well be lurking here somewhere ;-). I KNOW the ideal language for it is Scheme, but: it would take me twice as long to get up to any kind of speed in Scheme as a language I already know, I need to improve my Java for job-related reasons, and a large part of the potential users are not unixy people, they're died-in-the-wool windows users. So I'm planning on using Java. But there's no clarity in Java, as far as licenses go: I want my program to be gpl, but to avoid rewriting the wheel I'm going to have dependencies on several non-gpled programs; pccts/antlr, for example (that one's not a particular problem), as well as all that Swing vs AWT nonsense... Is trying to find my way past all that kind of crap going to mean I actually take longer than doing it another way? (don't know C++; don't like what I know of C++; vanilla C isn't really right for this thing). And will using Java put everyone else off helping out? Dither, dither, dither: I'll never be hacker material, dithering seems to be so much easier than coding ;-)

Oh, surprise - after a brief stay at apprentice I've drifted back down to observer. Guess this means the ratings are dynamically recalculated, rather than fixed. I was going to post something about the DarkeWolf article - guess I'll have to do it here.

As someone on the observer/apprentice borderline, I actually found the article helpful. I've realised there's no point in announcing 'here's my pet project idea - come and help me write it' - you need at least some working code before going public. What I hadn't thought of was how to handle the transition between the one-person development stage and the open development stage. The idea of developing the program 'as if' multiple users with separate accounts for each role may be blindingly obvious to the experienced, but it hadn't occurred to me. Thanks, DarkeWolf.

Hmmm... I can't post anything to the discussion on trust metrics 'cos I'm an observer... Its probably an accurate description; I run a web site geared more to free hardware designs; I've never released any free software, though I will do eventually. And I very much doubt if any of the people here know me to have any opinion either way. From my point of view, it'd be nice to have a grade midway between observer and apprentice - 'wannabe apprentice', so I could post occasionally. Would that totally destroy the trust system? Would it become another slashdot? Maybe observers could be allowed a limited number of posts, with posting rights withdrawn on first use of the word grits^H^H^H^H

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!