sort of in love with jQuery

After a bunch of years of hacking code with GTK+ and Clutter, doing a web app is pretty sweet. It’s the first time I’ve ever really used jQuery properly (not just animating a little toggle), and I have to say, I’m sort of in love with it ((I am however, not in love with ExtJS)).

I can’t show you the app I’m working on yet, there’s a beta online but it’s still undergoing scientific verification. Also my latest work, with animated transitions and everything, which feels like a much more high quality app, is not yet pushed to the production server.

Still, it’s so straightforward to use, I rewrote the skip next/prev post feature I have on Planet VegMel to be in jquery, which makes it about 50x smaller and much less brittle. If you want to add it to your own planet, grab the Javascript.

automatically protecting people with private browsing

A friend of mine recently suggested people donate to the Women’s Domestic Violence Crisis Service, whose website provides a quick escape button (like a boss button) for victims of abuse to get away from the site quickly. Unfortunately the button simply takes you to Google (via an image map, I wonder why?). It doesn’t manipulate your history.

For people in abusive relationships, leaving behind browser history saying they were accessing a site to get help could be dangerous (this is why there’s a quick escape button in the first place).

HTML5 includes a History API, which will let you manipulate the most recent entry, and you could just screw up all the site history, that would be annoying for other people. It seems like the correct answer here is private browsing or incognito mode. While the warning page could include instructions on how to activate incognito mode for your browser (and offer to screw up the history) one wonders why HTML5 doesn’t include a method to load a site private/incognito so websites could offer to stay out of your browser history? I’m sure it would prove very popular with porn sites, but it might also help to protect some people.

importing from hg to git

Had to import a repository from Mercurial to Git today.

I used fast-export:

git clone git://repo.or.cz/fast-export.git

Because the author fields were an utter mess, I needed to create an authors map. This is not well documented but it’s of the form email address to author <email>. For example:

Administrator@MACHINE.localdomain=Bob McBadgers <bob@badgers.st>
badgerbob@gmail.com=Bob McBadgers <bob@badgers.st>
badgerbob@MyMachine=Bob McBadgers <bob@badgers.st>

You then create a new git repo, e.g.

mkdir myapp.git ; cd myapp.git
git init --bare --shared=group
../fast-export/hg-fast-export.sh -A ../authors.map -r ../myapp.hg/

If it produces an empty repo, ensure you have the Mercurial Python modules available.

end of holidays, now for something new

Just got back from a pretty amazing two week holiday visiting my best friend Steph in Beijing (read about it here).

Tomorrow I start my new job as a Senior IT Officer at the Bureau of Meteorology. I will be working on a foreign aid project to produce climate forecasting software for pacific nations. This should be exciting work with lots of Linux and open source.

I’m a little bit nervous, I haven’t worked in an office for almost four years. Spent some time this weekend shopping for new work clothes and appropriate shoes. Apparently civil servants don’t wear jeans and kicks to work.

danni in situ

the end of something

This is my last day at Collabora.

It’s more than a little sad. I’ve been at Collabora now since the start of 2009. I’ve watched the company grow from something small into something impressive. Collabora is the company for open source consultancy. I’ve been to some great events and met some great people. Some of whom are now good friends. I am going to miss visiting Cambridge.

Leaving was a personal decision. I am a social person, and working from home for so many years has left me craving an office environment again. It’s weird to leave somewhere when you work from home. There’s no cake, you don’t pack up your desk.

I want to thank Collabora for all the conferences it has let me attend, and all the open source work it has let me do just because it was cool.

There is a next. First I am taking two weeks holiday in Beijing, where I will be visiting my bestie and helping her celebrate her birthday. After that I will be starting work on a foreign aid project with the Australian federal government.

I am planning on staying involved with GNOME, although I’m not sure in what capacity. Unfortunately I won’t make it to GUADEC this year. I’m doing so much other flying in July and August that the idea of a 30h flight to Spain makes me feel a little ill. I will be at Pycon AU and almost definitely at linux.conf.au, hopefully at GUADEC next year (I know, I said that last year).

I leave you with this photo of Kings College, taken out of the window of the old Collabora offices:

kings college

why we need anti-harassment policies

Yesterday Michael Meeks expressed his distaste at GUADEC’s Attendee’s policy.

I have personally advocated for conferences to adopt anti-harassment guidelines. I am also an advisor to The Ada Initiative, which is involved with this work.

Michael writes:

Fair enough getting aggressive against stalking, groping and such horrors; but encouraging censorship of “offensive” verbal comments related to sexual orientation, religion etc. looks like a persecutors charter in the making. What is offensive ? and to whom ? the fear being that -very- quickly such good aspirations slide from “applied common sense” into a militant denial of a basic right to reasonably critique others’ world-views. Put another way I’m really happy for people to tell me how wrong-headed I am on any number of engaging topics, and to discuss them in an animated and friendly fashion. I loathe a framework that will discourage people from coming and saying: “your Christian faith seems incomprehensibly stupid to me” (for example), or “the crazy English always fall down the stairs”, or whatever.

Here is the relevant section of the attendee’s policy:

Harassment includes offensive verbal comments related to gender, sexual orientation, disability, physical appearance, body size, race, religion, sexual images in public spaces, deliberate intimidation, stalking, following, unauthorized or inappropriate photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

Firstly, if you can’t understand the point of an anti-harassment policy, or you think what’s written is obvious, then the policy probably isn’t there to protect you. Typically, when you are a member of the dominant demographic group in a space, you do not need to be protected in this way. On the other hand, I’ve heard women be told you don’t belong here, that they’re unfuckable or a dyke. I’ve been followed, I’ve had my picture taken repeatedly without my consent, one time including a sleazy remark. My friends have been stalked, photographed discreetly, inappropriately touched and sexually assaulted.

More often than not the attempted defence against this sort of behaviour is I didn’t know. Experience shows that some people do need acceptable and unacceptable behavior spelled out precisely.

Offence is in the ear of the listener (who is not always the recipient of the comment). It’s also important to distinguish the ability to critique from being offensive. Dialogue is negotiated. You can willingly consent to discuss your religion, but you don’t have to accept being verbally abused because of it. The list here indicates the common problem areas across the broad technical community (GUADEC/Desktop Summit is better than most, but not immune). Most of these are also present in various jurisdictions’ anti-discrimination law.

The goal of these policies is to make sure that everyone at the event has a good time. That no one feels like less of a person or has their day ruined because someone else was nasty to them because they’re Muslim, gay, African, obese, partially-deaf or so forth. That no one should ever feel unsafe. The goal is not to stifle discussion or censor fun (if you think hurting people is fun, consider therapy). There are many ways of being funny without putting your audience down.

People should feel comfortable and safe in our community. An anti-harassment policy is a statement that our community makes an effort to be inclusive, friendly and safe for everyone.

For more information, see Conference anti-harassment policy resources on the Geek Feminism wiki.

now everyone should use their hackergotchi as their avatar

I was doing the work to close #645921, so we can finally remove the legacy theme code from Empathy. This required rewriting the legacy themes as Adium themes, which once I came to understand how Adium themes work, was really not that difficult.

Then I started thinking what else could I do… so I decided to do this:

Planet GNOME Empathy Theme

It could stand for a little bit of tweaking, but that should be easy for someone to do. I realised what’s especially nice about using WebKit is that we’ve opened ourselves up to the whole world of HTML5 and CSS3 in our themes. Chat themes animated by CSS transitions anyone?

We’re still looking for someone to make a good default Empathy theme for GNOME 3 (#645920). I’m hoping that having ported the default themes to HTML should make it easier for someone to use one of them as a launching point.

For reference, Adium theme documentation:

Creative Commons Attribution-ShareAlike 2.5 Australia
This work by Danielle Madeley is licensed under a Creative Commons Attribution-ShareAlike 2.5 Australia.