Older blog entries for graham (starting at number 5)

On the absolutely remote chance that

  • Anyone reads this...
  • and has been in a similar situation ..
  • and can be bothered to reply
a request for advice, reassurance, or anything...
I've never been a professional programmer (see earlier diary entry if you really must). I've been teaching in a small uni for 11 years now - I've got very good at 100 line programs, and not a lot else. I'm very pissed off - 11 years is too long, don't like the current trends in education etc etc. Thinking of leaving and finding work programming (almost inevitably webby stuff, perl, Java etc, at which I am a total amateur). But I have a lot to learn. At 45 is this a crazy move? Am I going to find work for 6 months, and then find the bubble bursts and we're back to 'sorry, no-one over 30'? I don't have the knowledge or confidence to try going straight into contracting, or the capital to start my own company - I need to work for someone else. No problem for me, but maybe a problem for employers - I am going to need to be paid more than the 17 year old who can do just as good a job as me in some ways (probably better in some), though definitely not all..

Any opinions? btw, I'm in the UK, not the US

What happened with mdillon? Gone, not gone..? Carrying on from yesterday: a history of being

incredibly slow on the uptake

Like, more than 20 years to get the point...
Started in computing in the mid 70s as an operator for Burrough's Machines (never seen a computer before). The first programs I see are Star Trek and a bit later Colossal Cave. Don't understand why they don't cost any money; but hey, the entire program is there. Doh. Learn my first programming (Algol68) by making selected stars vanish but keep their gravity ('black holes", yeah!) and similar tinkering. Rewrite some of the company's accounting software so it no longer runs over a weekend on an antique B500 but in a couple of hours on the amazing dual B6700. Everything works, lots more time in the pub.. Get put through disciplinary procedures. Now, if you told me a novice programmer rewrote the entire end of month accountancy procedure for the uk for a company and didn't get the output checked by an accountant, I'd understand. Then, I was pissed off. No more of this programming stuff for me; lets work on the hardware instead.

Bought a ZX80, rebuilt the keyboard, the memory, the graphics system. Left Burroughs and went off to work on hardware... I thought. City & Guilds in electronics should be enough, shouldn't it? Doh again. Worked as a wireman for a couple of years, then back into computers repairing BBC micros. Lots of pirate software, no free software. Assembly language test routines coming out of my ears, built my own ICE system and pushed up the overtime money (piece rates, you see). Managers find out, make me sign a piece of paper accepting 400 pounds for the design and promising never to design anything there again. That one I still don't understand. Someone told me the entire company was meant to be a tax-writeoff and intended to lose money. Maybe. Whatever, definitely need more qualifications to get out of this trap.

Work as a lab technician in assorted polys/unis. In between helping students, lots of little board designs, homebrew PAL programmers etc. - and day release. Finish the course and get a job teaching. Assembly language, helping out on programming courses. Meet Unix. Oh, you don't use Sun's C compiler? This gcc thing is better? And free? How bizarre. Doh. Can't run Unix on PCs though, better to concentrate on DOS, then Windows, instead. You're using Minix on your PC? How bizarre, why not use a proper system like Windows? Doh. The internet - great, what a nice atmosphere, everyone's so helpful, loads of people sharing software I can develop and use for classes. It's just there, no need to feed my own changes back (they're not good enough anyway). Doh.

Linux mania starts. The penny drops. After 20 years you may now officially certify me as a dimwit (but you can't because it's been abolished!... Chuckles manicly). Rest of this story may or may not continue another day.

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!