“Warning: ‘post-commit’ hook failed with error output:”

To save someone time in the future:

If you are fixing a hook in a Subversion repository, such as post-commit, and your clients get the message “Warning: ‘post-commit’ hook failed with error output:” and nothing else, it means that the script exited with a nonzero error status but did not print anything to standard error. However, this is also the effect of attempting to execute a non-executable file, and Subversion does not mention to you if your hook is not set executable. The first thing you should check is whether it is.

Understanding Metacity themes

Oh look! A rare Useful Marnanel Post.

People were saying Metacity’s themes were under-explained, so I’ve spent a few days now writing the start of an explanation. I didn’t post it here because it’s a Metacity thing and belongs on the Metacity blog, but I linked to it here in case people who read planet and don’t read the Metacity blog would like to read it. I’ll add to it later to describe the two parts I skimmed over. Please link and disseminate, and correct any errors which have crept in. Comments are always welcome!

various pieces of nargery

I didn’t get the 2.22 release of Metacity out of the door last night because I couldn’t get it to build on my build setup (due to Cairo ABI changes), and releasing something I haven’t tested isn’t really on the cards. I will attempt to get a more current jhbuild working and see whether I can get a 2.22 series release out soon. Sorry :( I still don’t know why 2.23.x should build fine on the setup where 2.22.x fails.

There is a 2.23.21 release, though, with a lot of fun stuff; release notes should be coming through on g-a-l any moment now.

I have been talking to people about merging FUSA with the fork of FUSA which the GDM people made back in March, so that their version of FUSA is then the canonical one. An objection has been raised that this will make it harder in the future if we want FUSA to talk to KDM or whatever as well.

Does anyone know a way of including boilerplate blocks of text in *.schemas.in so they get translated? Obviously I could use entities or something, but I don’t know whether i18n works okay with those.

Andrew Tanenbaum made an interesting (and commonplace, perhaps, but easily forgotten) point about political blogging and news; I’ve linked to it from this post which says which paragraph.

Translation script

and then later a movie tooA while ago there was a post on pgo about the need for a particular script to make life easier for translators. I had a conversation in comments with two people, but I thought it wasn’t going anywhere because I seemed to be misunderstanding something fairly fundamental about their point; in the end it petered out. I could have done most of what they wanted, but I was worried I’d get it wrong and wanted to be sure. I thought it might have been more productive to have the discussion over IRC. Now I can’t even find the post.

Can whoever it was get back in touch so we can talk, if there’s still a need?

Photo: “And then later a movie too”, by late night movie

Facebook translation

Apparently now you can translate Facebook, using a volunteer translation system. Some people are apparently asking whether it’s unreasonable for the users of a site to volunteer to help translate it.

I don’t think this is unreasonable, for a number of reasons. Most of Facebook’s content is contributed by the users; why shouldn’t the users help towards translating the interface? Other sites where most of the content is user-contributed have been doing this for years (LiveJournal is a clear example, although LiveJournal also makes their codebase free). In addition, there have been a number of voices asking for Facebook in Welsh for a while now, and no doubt this is true of many languages. What Facebook has done is to enable people who want translation into any language to do it for themselves and their cyfieithwyr rather than to be spoonfed the languages as Facebook sees fit.

“What do you have open?”

Answering Christopher Blizzard’s question, at that moment, I had:

1. Pidgin, with ten tabs used for talking to friends over the last several days
2. Firefox, with six tabs: the Wikipedia page about a cartoon, Debian/HURD, BBC News, work’s bug tracker, and electoral-vote.com
3. The volume control window thing
4. Nautilus, on my home directory
5. A fullscreen gnome-terminal, containing screen, which had two screens idle at local bash prompts, plus one showing a man page, one showing a pydoc page, one an emacs process where I’m adding something to Metacity (it has ten buffers, not counting “*Compilation*” and things), one idle at a remote bash prompt doing nothing interesting, and one open to a development server which itself has eleven screens inside it. These eleven screens are mutt (which is where I saw I saw the post I’m answering), irssi (with ten channels open, all quiet to very quiet), a rather complicated screen [ which contains two backgrounded man pages, three backgrounded vims, and a foreground emacs process where I’m working on fixing up Carmen’s website ], my local copy of Blog Wrangler which contains three backgrounded vims and was expecting me to launch another Blog Wrangler process at some point, a shell prompt, a screen where I was playing with yagtd, four separate lynxes or w3ms reading websites such as the Daily Office, a screen containing a couple of vims working on a site for Fin, and a screen that had been for reading Mono but I idled out.

The boy bands have won

The other day I saw four guys playing Rock Band do a 100% perfect performance of Dani California… well, the computer had told them it was 100%. It is actually technically a difficult thing to do to play Dani California all the way through, but what they were doing was repeating a series of notes in an exact order, which isn’t quite the same thing. A few weeks earlier, at a party at a friend’s house, we played a karaoke console game, which was a lot of fun. During the evening, someone got a very good score on Me and Bobby McGee; the game was basing it on the Joplin version, and I was struck by the way the game scored you on getting the ad libs right– it rather breaks my brain to be able to figure out what it means to get an ad lib “right”, especially on a song Joplin was covering in the first place!

So what we have is a place where a very few people are the creators,and they get scored on their work, and if the rest of the world produces anything it’s scored for fidelity to the creators’ work rather than how well it builds on things.

There is a TV programme in the US called Wheel of Fortune where a woman called Vanna White puts big square letter cards on a wall. She is very famous for doing this. Samsung made a commercial based around a robot putting letters on a wall with reference to what she does; she sued them and won. It seems she’s the only person allowed to go around putting big square letter cards on a wall. One judge wrote in his dissenting opinion: “Overprotecting intellectual property is as harmful as underprotecting it. Creativity is impossible without a rich public domain. Nothing today, likely nothing since we tamed fire, is genuinely new: Culture, like science and technology, grows by accretion, each new creator building on the works of those who came before. Overprotection stifles the very creative forces it’s supposed to nurture”. (I hope he won’t mind me quoting that.)

Chumbawamba released an album whose title is “The boy bands have won, and all the copyists and the tribute bands and the TV talent show producers have won, if we allow our culture to be shaped by mimicry, whether from lack of ideas or from exaggerated respect. You should never try to freeze culture. What you can do is recycle that culture. Take your older brother’s hand-me-down jacket and re-style it, re-fashion it to the point where it becomes your own. But don’t just regurgitate creative history, or hold art and music and literature as fixed, untouchable and kept under glass. The people who try to ‘guard’ any particular form of music are, like the copyists and manufactured bands, doing it the worst disservice, because the only thing that you can do to music that will damage it is not change it, not make it your own. Because then it dies, then it’s over, then it’s done, and the boy bands have won.”

It has often been the same way in the past, with a small elite of creators. But not all subcultures have been this way even in the developed world in the recent past. I’m happy that the free software world means there are more and more creators, and that the licences we use mean that people are encouraged to “restyle it, refashion it to the point where it becomes their own”, but we need to find more and more ways to encourage and spread the idea that it’s desirable or even possible to do so. Getting free software onto more desktops is an admirable goal, an important first step, but we need to help people understand they can be more than consumers.

(Disclaimer: I have never played Rock Band, and I suck mightily at Guitar Hero; I hope this isn’t sour grapes.)

And a last word on this, from XKCD.

Now you come to mention it, the launchpad logo could be a mitre

All my mailing lists, including all Ubuntu and GNOME lists and my diocesan mailing list, go into the same folder. So I was a little baffled at first to read a post on the diocesan list saying “Ubuntu: Logo design contest seeks to convey General Convention theme“. Strange how certain meanings of words become the primary ones in your mind.

Fear my LightGoldenRod

Scene: Coffee room, early morning.

Me: …and you know I wanted my comments in light green, and I know curses has a colour called light green, but for Emacs that’s the bold form of the colour green. But the thing is that Emacs uses rgb.txt colours, and there is one called LightGreen, but then what if you run in text mode? It uses the same colours, so it goes in and says, what colour is the closest to LightGreen? Aha, it’s yellow. So you get comments coming out in brown if you ask for LightGreen. I stared at that for so long before I worked it out.

Coworker: …

Me: And that concludes your rant for the day.

Coworker: You only get three; choose your next two carefully.

In unrelated news, writing all this Metacity test business has taught me stuff I never knew I never knew about the deep ways of X. It’s actually not as horrible as people make out, just extraordinarily complicated and yet fundamentally simple at the same time.

In further unrelated news, Carmen has now reached Minnesota in her house-moving roadtrip across the continent. I’ve been working on the Facebook application (much the most fun thing I’ve ever done with Facebook) and the website. You might enjoy reading her writeup of the first day or the second day, or looking at some photographs of Wisconsin.

Mildred Loving

Still working on Metacity testing back here. Move along, nothing to see yet.

In unrelated news, Mildred Loving, the person whose 1967 lawsuit Loving v. Virginia overturned all US laws which forbade people with one colour of skin to marry people with another, died on Friday. She made a statement on the fortieth anniversary of the case last year, which bears repeating now in her memory:

Surrounded as I am now by wonderful children and grandchildren, not a day goes by that I don’t think of Richard and our love, our right to marry, and how much it meant to me to have that freedom to marry the person precious to me, even if others thought he was the “wrong kind of person” for me to marry. I believe all Americans, no matter their race, no matter their sex, no matter their sexual orientation, should have that same freedom to marry. Government has no business imposing some people’s religious beliefs over others. Especially if it denies people’s civil rights.

I am still not a political person, but I am proud that Richard’s and my name is on a court case that can help reinforce the love, the commitment, the fairness, and the family that so many people, black or white, young or old, gay or straight seek in life. I support the freedom to marry for all. That’s what Loving, and loving, are all about.