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.

Siarad dwli

Ydy wir. Mi ges i ebost llynedd sy’n dweud: peidiwch â siarad am offeren ar Planed GNOME; dydy hwn ddim yn Planed Eglwys. Ac mi atebes i, peidiwch â siarad bolocs: ffenestr i’r bywydau pobl GNOME ydy’r blaned, on’d ydy?

(I got an email last year complaining that I wrote about my everyday life, including mentioning going to mass at one point, which suggested that I should have restricted such posts to “Planet Church”. I told them where to go.)

For a change from our normal blogging, have a cat with a box of cake mix on its head.

Have a kitty with a box of cake mix on its head

Someone has suggested a fix for the problem where Metacity doesn’t give up the selection on the compositor when you replace it. A solution should be coming soon.

I still need to write up our goals for 2.24. I think I know what they are now.

I’m putting the bugzilla attachments thing to one side for a while until we have more consensus about what to do with it.

A lot of good ideas on the Metacity testing post. Still thinking them over.

Fate of the attachment status patches

To recap, bugzilla.gnome.org (henceforth bgo, of which I am nothing but an enthusiastic user) is running a rather heavily patched version of Bugzilla 2.x. One of the changes from 2.x is a system to let people set a patch’s status using a drop menu from any one of a number of options (including “obsolete”, “reviewed”, “rejected”, “committed”, “commit after freeze”, and so on), rather than simply the boolean “obsolete” or “not obsolete”.

In the meantime, Bugzilla 3.x has evolved a separate system of flags for greater control over a patch’s status, so that you can have a number of not-quite-boolean flags set on or off or maybe for each bug.

There is an idea, tracked as GNOME bug 433607, that bgo should switch to Bugzilla 3.x, which would be lovely and allow a lot more fun things such as XML querying of bugs, which is something I really want. Last year sometime in 433607 I said I would have a try at porting the bgo status system over to 3.x, and I’ve finally had time to do that over the last few days. Here’s the result.

However, I put this into Mozilla bug 431438 which was immediately marked as a duplicate of Mozilla bug 353690, which is saying that flags (in the 3.x sense) should be able to have arbitrary values. This won’t be released for another year until Bugzilla 4.x. So I suppose either we stick with 2.x, go to 3.x but apply the patch locally, go to 3.x and find a provable way to convert all existing statuses to 3.x flags, or wait for 4.x.

Lychee tea keeps me going!

Testing Metacity

I am aiming to build a set of unit and regression tests for Metacity for 2.24. The idea is to run Metacity in a sandbox X server (Xnest at first, and Xvfb when things have settled down) and run a test on it in a simple harness. This would be run automatically after every checkin, or every night, or both.

The usual way to do this would be using something like dogtail, but that’s not an option because Metacity’s menu and buttons are not accessible. (Should they be? That’s another question, but one I’d like an answer to.)

Perhaps the answer is to have a special window property called _METACITY_TEST or something which holds a ton of test information unless it’s compiled out (which it would be by default). We’d still need to find a way to simulate clicking certain buttons or whatever, unless maybe we could query the dimensions of a button and fake up a click message somehow.

I have a bunch of ideas about how to do this, but if anyone would like to hand me some clues, now’s a great time…