New beginnings

Chicken green curry(I used to make a post every day about my life. What happened to that…?)

I said goodbye to my old job on Friday and I’ll start a new one tomorrow which is closer to home. It’s also doing more the kind of things I want to focus on, which will be interesting. My coworkers took me out to a place called Wild Rice in KoP for a goodbye meal.

Today, we went to Shupp’s Grove, but I didn’t get anything. The best part was stopping at Boehringer’s ice-cream stand on the way back, where I ate a turkey sandwich and no ice-cream, and forded the shallow anonymous stream with Rio, although I should have taken my boots off first. The ducklings are almost fully-grown.

I’ve been doing a lot more Metacity work recently than I have for weeks; let’s hope it continues. I’ve done some refactoring and commenting over the last few days, and today I fixed GNOME bug 92867 (theme viewer shows theme name in titlebar) and GNOME bug 430198 (allow toggling of non-composited minimise effect in gconf). They’re not major, but they’re progress.

One of our trees, a great and heavy oak, fell in a thunderstorm the other day, narrowly missing our house. It hit a maple on the way down which deflected it, although the maple was hurt in a rather self-sacrificing way. When the tree people came to clear it up it turned out that the oak was rotten to the core and dead inside. Not a work of art, but…

I thought  I saw an execution there.
The fascinated public gathered round.
The cheerful hangmen stripped the victim bare
And built their gibbet high above the ground.
The rope was taut, my wildness filled with fear.
I saw him fall.  I heard his final cry.
Yet when the hangmen left I ventured near
To find my fault: I’d never seen him die.
In fact, I think he’d died some years ago.
There’s blackness of decay in every breath.
The sound of flies was all that’s left to grow,
Now free to come and feast upon his death;
Prince of the trees, I have a simple plea:
I will not die till death has come to me.

This is perhaps a silly question

Photo Hunt: Word List #15-Mother/Daughter HandsIs there any need for us all to switch to the same DVCS, as long as we all switch to something that jhbuild understands?  It’s a huge, huge job to convert the whole of GNOME from one VCS to another, as I’m sure everyone who was around at the time we switched from CVS can attest, but it’s less of a vast job to switch between VCSs for one project.  So perhaps we can all stop attempting to convince the whole Foundation and start just trying to convince one group of maintainers; that seems more likely to happen, since the groups are far smaller.  Then later if a project decides it wants to change to another DVCS, we’ll have a lot of good information to help it do so, and changing DVCSs isn’t really all that hard, is it?  And in the end perhaps we’ll reach a consensus.  Where would the bzr/git/hg repositories be kept?  I don’t know.   Maybe there could be an official GNOME place to keep them; maybe people could make use of launchpad or github or repo or freehg or whatever for now.

I think this turned into a bikeshed discussion a while ago.  Maybe some tools are slightly better or worse than others, but I think any of them would be better than none of them, and I’d like it if everyone could get on with making awesome software rather than wasting energy arguing about where we keep it.

And now another subject: People were asking questions about how well Metacity co-exists with AWN.  Someone (I forget who, sorry) was saying it works very well, and I have been playing with it and can confirm this.  I also think AWN is very nifty and will probably continue using it.  I’ve also been playing with Anjuta, and it’s rather nice.  I wasted quite some time trying to get its GtkSourceView plugin to work: stick to Scintilla for now.

I should also tell you what’s going on in my life in general, but I am busy.  Later.

And now, some other links, while I’m here:

Photo by Judy Baxter, cc-by-nc-sa.

Thomas Thurman does not like cold meals because of broken applications

Cimi says that we have a large userbase and a small number of developers, and the key to continued survival is to have more of the users become the developers.  Then we have new blood, and new ideas, and also some help (good grief, I could clone myself four times over and still work full time on some of the work I have around here).

I have often wondered what it is that stops people crossing over from being users into being developers.  Here are some thoughts I’ve had:

  1. Not understanding “free”.  I once saw that someone complained about Wikipedia because the version in his language couldn’t even get the word for “free” right: they’d used the “as in freedom” version, and he had an assumption that “the free encyclopedia” meant “the encyclopedia you don’t have to pay for”.  Similarly, when I was downloading a particular program with Rio last night and I explained to her what GPL meant, she got very excited and said “cool! Can I give it to my best friend at school?  And we can make a version which looks like this or that!”.
  2. Not being a hacker. The other day Fin was somewhere getting lunch with a group of people and there were no forks;  Fin picked up two wooden stirrers from beside the coffee machine and used them as chopsticks.  All the other people in the group were amazed at this ingenuity.  This is the sort of thing I mean: some people are content not to figure out ways to improve the stuff they’re given and rethink the fundamentals. It’s the sort of thing that RMS called “creative playfulness”, and some people are content not to have it.
  3. “But I’m not a programmer”.  Some people, creative people who would otherwise do well, think of themselves as non-programmers and so don’t get involved.  But we need more than just programmers to get involved– we need artists, copywriters, testers, triagers, sysadmins, coordinators.  At least, we say we do, but I think there’s a public perception that to be a real GNOME person you need to be a programmer; I wonder if we went down the membership list of the Foundation and checked how many people were coders whether there’d be an obvious disproportionality.  Something that struck me today was Mårten Woxberg mentioning the proliferation of Metacity themes; I think we see so many of them because they’re something relatively harmless and easy for non-programmers to modify, and they really have got the idea of free software about the right to share and the right to fork that only far more rarely happens with real software.

    Secondly, however, it is hard for us to remember that coding isn’t just something you can sit down and do, especially writing patches. We programmers have a fair amount of training merely to be programmers, and we take that for granted. Look at the willingness people have to contribute to Wikipedia, where the bar to entry is far lower (you might also say that the quality is lower too, but maybe we have better QA).  What is the solution?  Can we identify creative people who aren’t programmers but who might want to help, and help them become programmers somehow, not solely so they can have A Lucrative Career In Information Technology™ as my radio keeps telling me but so that they can help the world?  Some kind of course, perhaps including work on actual GNOME programs as a project?  Maybe we can join forces with an existing distance-learning institution?

  4. “But it’s all so huge! Where do I fit in?” (And hey, Rob, I promised you an essay about this a few months ago.  It is coming, when it’s ready.) When Mozilla’s first public release was made, I decided I wanted to help even though I’d never worked on free software or on a collaborative project that large before.  So I checked it out of CVS and started looking around.  After a few hours I started freaking out at the size of it all (who was it who called it a code-katamari?) and ran away and wrote my own little projects for the next eight years or so.   In the GNOME project, we do actually have a place for this to happen, GNOME Love, so we’re actually doing pretty much okay on this point.  It certainly helped me fit in with GNOME.  (If there was such a place for Mozilla back then, I apologise; I never did find it, though).

    I suppose the existing GNOME Love can always use improvement, but something I’d really like to see is a sort of Job Centre for all free software.  I’d like to be able to say “I need someone who knows about P to help out on Metacity and I’m willing to help them with Q and they will learn useful things like R and presumably gain XP on the system”.  And then someone could enter all the things they knew about, and the stuff they wanted to learn about or have appear on their resume, and it would email them when things came up.  Maybe this is something Canonical could fit into Launchpad somewhere.

Any more reasons than these why people don’t dive in?

Metacity overview: drag and drop

A new, long explanation in the Metacity blog about why it’s actually rather hard not to raise the lower window when you drag from it to the upper, in case you read planet but not the Metacity blog. GDK hackers are particularly invited to read it. I had to do quite a lot of research and sifting of the original sources to write this and it felt like I was back in grad school for a bit, but if there are any mistakes I really do welcome corrections. And all comments are welcome, of course.

On holy wars and a plea for decadence

I don’t want to live in a world of arbitrary change for the sake of change any more than I want to live in a world of arbitrary change for the sake of Microsoft’s shareholders. Change for the better is good. Change away from the worse is good. But change in itself is a nasty, disturbing, uncomfortable thing, makes you late for dinner.

I want to live in a world where each program asymptotically approaches perfection and fits its ecological niche. I want to live in a world where programs have irrational version numbers and get a digit closer to them each release, where bug lists truly do shrink to nothing.

I want to live in a world of decadence.

Our sad tree adventure

The weather broke, and we were very glad. We ate dinner with the window open and the rain brought the coolness of the breeze through to the table. The thunderstorm and the quesadillas reminded me of happy childhood days eating toasted cheese in an English pub.

A little while after dinner there was a sudden blast of white light, followed not by thunder but by a slow and repeated cracking noise. “What was that?” and we ran out into the storm. None of the trees were broken as we looked around until I saw the lawn beside the house full of branches and pointed…

One of the pin oaks had been struck and fallen, hundredweights of tree lying feebly there fluttering its leaves in defeat. I ran up to Rio’s room and asked to look out of her window to get a better look. On its way down the oak had hit the maple which sheltered the house and broken its branches away, bouncing off it to land on the lawn. Had it not, it would have carved a hole in the roof with part of its trunk, and written off Alex’s car with the rest.

This makes me sad, and grateful to the maple for its self-sacrifice, and particularly sorry for my friends the squirrels who have lost their drey.

Later: I swear it was a complete coincidence that tonight’s story in sequential order from The House at Pooh Corner was the one where Pooh and Piglet are with Owl in his house when the tree gets blown over in a storm and they have to escape.

abi changes come and bite me; also, blt has moved

I didn’t get the 2.23.34 release out today, although the previous 2.23.x release was only a few days ago and there wasn’t anything particularly interesting to users that was new other than updated Vietnamese translations. All the tests ran, but when it was preparing the archive, the linker got confused about a symbol in cairo: undefined reference to `pixman_format_supported_destination'. Re-jhbuilding everything and changing the prefix didn’t do anything for it.

This post says that that was added in pixman 0.9.7, but there isn’t a 0.9.7, just a 0.9.6 and a 0.10.0. I suppose I have to try 0.10.0 next.

Also: my twitter client, blt, has moved from Google Code to Launchpad: here it is. People have been sending in lots of patches, and a new release is coming soonish. Thank you all.