Links December 2010

Aaron Huey gave a disturbing TED talk titled “America’s native prisoners of war” [1]. He says “the last chapter in any successful genocide is the one in which the oppressor can remove their hands and say ‘my god, what are these people doing to themselves, they’re killing each other, they’re killing themselves’ while we watch them die“.

Peter Haas gave an interesting TED talk about how the poor engineering work in Haiti contributed to the significant death toll from the earthquake [2]. He advocates training for builders to prevent death and property damage from the next earthquake which is a lot cheaper than cleaning up the mess after buildings have fallen down.

Wired has an interesting article on Phylo, a new crowd-sourced science game where you can sequence DNA [3]. The article also has links to other crowd-sourced science games.

Brendan Scott gives a good summary of some of the most interesting news articles related to Wikileaks [4].

Petter Reinholdtsen published a detailed and informative letter that Peruvian Congressman Edgar Villanueva wrote to Microsoft on the topic of a Peruvian bill to compell the government to use free software [5]. This has a lot of great ideas for anyone who wants to lobby their government for free software related legislation.

Melissa McEwan wrote an informative blog post about why she doesn’t trust men [6]. I can’t do justice to this with a summary so just read it if you are male.

Diana Laufenberg gave an interesting and inspiring TED talk about ways of teaching children [7]. Her main point was about embracing failure, having children learn from their mistakes. I think that perhaps embracing failure is only going to work with an exceptional teacher such as Diana, and that the majority of teachers would probably fail if they tried to implement it. She does have some really interesting examples of how she teaches so it’s worth watching even if you don’t agree with the central point.

4

Locked Down Phones and Horrible Telcos

Choosing a Phone

I was considering renewing my Three contract and getting a HTC Desire HD [1]. What I need is a phone that is good for being a ssh client on 3G networks, has a good camera, and has all the fancy Google Apps.

In the comments Lon recommended a Norwegian review of phone cameras which gave the Sony Ericsson Xperia X10 a much better review than the HTC Desire HD [2] – the Xperia was the highest rating Android camera phone while the Nokia N8 was the best overall.

Also the Xperia is a lot cheaper, I can get it on a $29 monthly cap from Virgin as opposed to $44 per month from Three. So just on hardware and price the Xperia beats the Desire HD.

One of the advantages of the Xperia from Virgin being cheap is that my wife and I can use the same model of phone. This avoids having to solve two sets of phone related problems and also allows us to do things like swap batteries between the phones based on who can most conveniently charge their phone.

The Need for Root

But one problem with e Xperia is that the CyanogenMod images for rooted Android phones can’t be installed on an Xperia because the boot loader hasn’t yet been cracked [3]. I would like to run CyanogenMod so I can get wireless proxy support, and support for tunneling IP over DNS, ICMP, and OpenVPN.

The Three web site claims that they have 3G phone and net access in Bendigo, but on a recent holiday my phone said that it was “roaming” all the time and I couldn’t get net access. I ended up having to use McDonalds Wifi net access which had ports such as 22 blocked and thus forced me to use Iodine IP over DNS to get proper net access. To avoid having to talk my mother through rebooting servers in future I need to have a mobile ssh client that can use all possible protocols. I could carry my EeePC with me all the time, but sometimes it’s good to travel light.

OTOH, as I feel compelled to fiddle with all my computers it would probably give me a more reliable mobile experience if I was unable to mess with my phone.

Why Buying a Phone Outright Isn’t Viable

A $29 monthly plan is probably the cheapest plan that will do for anyone who uses a phone regularly, I have had a Three $29 plan for the last four years which allows up to $150 of calls to be made in a month and typically use about $60. So any plan which doesn’t have such a cap will have to be no more than half the price of Three on a per-minute basis to compete. If I’m going to pay $29 per month ($696 over a 24 month contract) then I can use a free phone. If I was to buy a phone then it would cost at least $500 for anything that I like and maybe a lot more.

Buying a phone independently of a contract would about double the cost of owning a phone. It’s really not a viable option.

Therefore I am compelled to buy a phone that is on offer from a Telco. Things like the Nokia N900 are nice devices but as the Telcos don’t offer them I can’t consider them.

No Discount if you Don’t get a Phone

The annoying thing is that the Telcos don’t offer a discount if you choose not to get a phone. Obviously buying the hardware costs them some money, so a $29 cap with a phone included should have a matching offer of something less than $29 if you choose not to get the phone from them. I currently have a $29 per month contract with Three, I can renew that for another two years at the same rate and get a half-decent phone for “free” or I can renew for two years on a $19 per month contract and get a low-end phone for “free” but I can’t get a price that is lower than $19 per month if I decide to keep my current phone.

If Three was to offer such a discount then I would consider buying a phone outright over the net and staying with them. But as it is they don’t provide good deals for buying a phone and give me an economic incentive to go to another provider. So I will probably use Virgin when my contract runs out in January.

Locked Phones

Many Telcos still sell locked phones on a contract. When that happens it’s really difficult to get a phone unlocked as the Telco employees usually aren’t very helpful. There are a variety of web sites claiming to generate unlock codes for phones, most seem to charge $10 or more for this service and the free ones have a very small range of phones, so getting the unlock code from the Telco seems to be the only option for a phone at the end of it’s contract period as it’s not worth enough to justify the $10 expense.

While some Telcos sell unlocked phones on plans the ones that lock their phones have a chilling effect on the industry. Most people don’t test whether their old phone can be used with a different provider they just throw it out – the phone stores conveniently provide bins for old phones that are apparently recycled for some good cause.

Conclusion

If you make serious use of mobile phones (EG being ready to fix errors reported by Nagios 24*7) then choosing a new phone and plan is one of the most difficult things there is to do. All the plans are quite complicated and every Telco offers a different set of phones. The Telco web sites are usually poorly done, most of them don’t have an option to search for Android phones or for phones with a certain minimum resolution – they usually don’t even state the resolution and use terms such as WQVGA which don’t even have a fixed meaning in pixels. When it comes to choosing a plan most Telcos don’t have a clear comparison of the different plans, writing your own spreadsheet comparing plan costs is a good idea.

The fact that Telcos such as Virgin and Three/Vodaphone allow free calls to other people using the same company makes it even more tricky. I have to discuss my phone plans with several relatives as there is a good incentive for everyone to use the same provider.

I think that we need government regulation on the way that phones are bundled. The market for phones that aren’t associated with Telco contracts has been destroyed by the anti-competitive behavior of the Telcos.

7

Dynamic DNS

The Problem

My SE Linux Play Machine has been down for a couple of weeks. I’ve changed to a cheaper Internet access plan which also allows me to download a lot more data, but I don’t have a static IP address any more – and my ISP seems to change the IP a lot more often than I’ve experienced in the past (I’m used to having a non-static IP address not change for months rather than hours). So I needed to get Dynamic DNS working. Naturally I wasn’t going to use one of the free or commercial Dynamic DNS solutions, I prefer to do things myself. So my Play Machine had to remain offline until I fixed this.

The Solution

dyn    IN      NS      ns.sws.net.au.
        IN      NS      othello.dycom.com.au.
play    IN      CNAME  play.dyn.coker.com.au.

The first thing I did was to create a separate zone file, I put the above records in my main zone file to make play.coker.com.au be a CNAME for play. and dyn.coker.com.au is a dynamic domain. I have SE Linux denying BIND the ability to write to the primary zone file for my domain to make it slightly more difficult for an attacker to insert fake DNS records (they could of course change the memory state of BIND to make it serve bogus data). The dynamic zone file is stored where BIND can write it – and therefore a BIND exploit could easily replace it (but such an attack is out of the scope of the Play Machine project so don’t get any ideas).

Another reason for separating the dynamic data is that BIND journals changes to a dynamic zone and therefore if you want to manually edit it you have to delete the journal, stop BIND, edit the file, and then restart BIND. One of the things that interests me is setting up dynamic DNS for some of my clients, as a constraint is that my client must be able to edit the zone file themself I have to keep the editing process for the main zone file relatively simple.

dnssec-keygen -a hmac-md5 -b 128 -n host foo-dyn.key

For newer versions of BIND use the following command instead:

tsig-keygen -a hmac-sha512 foo-dyn

I used the above command to create the key files. It created Kfoo-dyn.key.+X+Y.key and Kfoo-dyn.key.+X+Y.private where X and Y are replacements for numbers that might be secret.

key "foo" { algorithm hmac-md5; secret "XXXXXXXX"; };
zone "dyn.coker.com.au" {
  type master;
  file "/var/cache/bind/dyn.coker.com.au";
  allow-update { key "foo"; };
allow-transfer { key ns; };
};

I added the above to the BIND configuration to create the dynamic zone and allow it to be updated by this key. The value which I replaced with XXXXXXX in this example came from Kfoo-dyn.key.+X+Y.key. I haven’t found any use for the .private file in this mode of operation. Please let me know if I missed something.

Finally I used the following shell script to take the IP address from the interface that is specified on the command-line and update the DNS with it. I chose a 120 second timeout because i will sometimes change IP address often and because the system doesn’t get enough hits for anyone to care about DNS caching.

#!/bin/bash
set -e
IP=$(ip addr list $1|sed -n -e "s/\/.*$//" -e "s/^.*inet //p")
nsupdate -y foo:XXXXXXXX << END
update delete play.dyn.coker.com.au A
update add play.dyn.coker.com.au 120 A $IP
send
END

Update

It is supposed to be possible to use the -k option to nsupdate to specify a file containing the key. Joey’s comment gives some information on how to get it working (it sounds like it’s buggy).

rhesa pointed out another way of doing it, so I’ve now got a script like the following in production which solves the security issue (as long as the script is mode 0700) and avoids using other files.

#!/bin/bash
set -e
IP=$(ip addr list $1|sed -n -e "s/\/.*$//" -e "s/^.*inet //p")
nsupdate << END
key foo XXXXXXXX
update delete play.dyn.coker.com.au A
update add play.dyn.coker.com.au 120 A $IP
send
END

Update

Added a reference to the tsig-keygen command for newer bind.

7

Empathy, Autism, and Geeks

LWN has a recent article titled “The dark side of open source conferences” which concerns sexual assault at conferences [1].

There are a significant number of comments with attempts to derail the discussion in ways that can really only be interpreted as attacks on Autistic people. The claims seem to be that the problem is not violent sexual assault at conferences, but guys on the Autism Spectrum who hit on girls when they don’t want it. Naturally no supporting evidence was made for such claims. But that doesn’t stop the discussion which has a logical end-point of excluding people like me from conferences.

The Irony

I think it’s ironic that those who are making claims about what they call “empathy disorders” have failed to be Empathic by not realising the following things:

  • Women who start a discussion about serious sexual assault probably aren’t going to be happy if someone starts talking about chat-up attempts. While unwanted chat-up attempts are unpleasant they are in a different category and mixing them seems to be diminishing the significance of violent attack.
  • Most members of a minority group (in this case women in the Free Software community) probably don’t want discussions of how to help their group diverted by discussions that attack another minority group. What looks a lot like a “divide and conquer” attack against minority groups isn’t going to be appreciated by members of either group – and probably members of other minority groups who see what’s happening aren’t going to like it.
  • There is no reason why people should require significant exposure to members of a minority group to treat them in a decent manner. The claim that we need more women at conferences so that men can get used to them and not treat them badly is ridiculous. Among the many stupid aspects of that idea is forgetting the fact that women comprise 52% of the population in first-world countries and we all deal with women every day. Women at IT conferences are not fundamentally different from women in the rest of society.
  • When most people interpret your writing in a way other than what you intended it seems to be a reasonable assumption that you failed to explain things clearly. Telling everyone who disagrees to “get therapy” is unlikely to help convey your point. Telling people to “get therapy” is particularly likely to get a bad reaction if you are discussing something that actually involves dealing with psychologists.
  • When there is an obvious resource on the Internet relating to a topic it’s a good idea to read it instead of just making stuff up. Failing to do so will be taken as an indication that you aren’t trying to be Empathic. The Wikipedia section on Autism Spectrum Disorders has a lot of useful information [2]. Please read it before making comments about Autism and Empathy.
  • Having to be told how other people feel is not inherently a sign of a lack of Empathy. Asking people how they feel because you can’t work it out is a sign of Empathy as it indicates an acknowledgement that other people have different emotions and you probably don’t understand them all. The people who know that they can’t understand other people and listen when told are probably better than average when it comes to Empathy.
  • Finally what people say about themselves and their own experiences should be taken seriously.

Some Final Points

Instead of talking about how some other people should be more Empathic it seems that a better idea would be to try and demonstrate Empathy. Set a positive example.

I did a Google search for “Empathy Disorder” and found this interesting article [3]. It’s about how Neuro-Typical people (people who aren’t on the Autism Spectrum) can learn to be more Empathic, it’s probably more relevant to the issue of Empathy in the free software community than discussions of Autism.

I think that the experience of a lot of people on the Autism Spectrum is similar to mine. It’s not that we can’t work things out it’s just that it takes a lot longer. For things that can’t be worked out in real time we have rules based on past experience. Naturally the rules include “don’t touch people” and “don’t try to chat up women at conferences“.

Here is a link to my previous post on this topic [4].

Update: I’ve clarified some of the writing and added an extra point about having to be told how others feel.

23

Aspie Social Skills and the Free Software Community

LWN has an article by Valerie Aurora titled “The dark side of open source conferences” [1] which is about sexual harassment and sexual assault at Free Software conferences. Apparently some conferences create such a bad environment that some people won’t attend, it’s a well researched article that everyone in the community should read.

The Autism Derailment

The comments have the usual mix of insight, foolishness, and derailment that you expect from such discussions. One derailment thread that annoyed me is the discussion about men on the Autism Spectrum started by Joe Buck [2]. Joe seems to believe that the 1% of males on the Autism Spectrum (and something greater than 1% but a lot less than 50% in the Free Software community) are a serious part of the problem because they supposedly hit on women who aren’t interested in them – in spite of the fact that the article in question is about women who are “being insulted, harassed, and groped at at open source conferences“. The article had no mention of men who try to chat up women – presumably this was a deliberate decision to focus on sexual assault and harassment rather than what Joe wanted to talk about.

In response Mackenzie made the following insightful point:

I don’t think any autistic person who is high-functioning enough to A) contribute to open source B) want to be at an event with so many people and C) carry on any sort of conversation is low-functioning enough not to understand “stop” or “no.” If you can understand “your patch has been rejected,” you can likely understand “don’t do that again.”

Understanding how Other People Feel

Bruce Perens claimed “What they [Aspies] don’t understand is how the other person in the situation feels“. Like many (possibly most) people Bruce doesn’t seem to get the fact that no-one can really understand how other people feel. The best logical analysis of this seems to be the Changing Emotions article on Less Wrong [3]. While Less Wrong deals with Male to Female conversion as the example (which may be relevant to the discussion about the treatment of women) the same logic also applies to smaller changes. Anyone who even thinks that if they would always be able understand how their identical twin felt (if they had one) probably hasn’t considered these issues much. As an aside, having a psychologist diagnose you as being on the Autism Spectrum and therefore by implication thinking differently to 99% of the population really makes you consider the ways in which other people might have different thought processes and experiences.

Every time we have a discussion about issues related to sexism in the Free Software community we get a lot of documented evidence that there are many people who are apparently neuro-typical (IE not Autistic) who don’t understand how other people think – in many cases they go so far as to tell other people what their emotional state should be.

What Really Happens

Nix said “However, in that situation our natural reflex is to *get out of there*, not to jump on women like some sort of slobbering caveman” which is a really good summary.

In more detail, I think that the vast majority of guys who are on the Autism Spectrum and who are able to do things like attend computer conferences (*) realise that chatting up a random girl that they meet is something that just isn’t going to work out. Generally people don’t attempt things that they expect to fail so I don’t think that Autistic guys are going to be hitting on girls at conferences.

(*) Having never met any Autistic people who aren’t capable of attending such conferences I can’t speak for them. I really doubt that the Low Functioning Autistic guys are as much of a problem as some people claim, but lack evidence. In any case the actions of people who don’t attend conferences aren’t relevant to a discussion about things that happen at conferences.

Update: It Keeps Going

Dion claims that the misogyny at conferences is due to socially inept people, he also casually switches between discussing people who misunderstand when someone is flirting and people who hire almost-naked booth-babes (two very different classes of action) [4]. Several people asked for supporting evidence, naturally none was provided.

In response njs posted a link to Marissa Lingen’s blog post “Don’t blame autism, dammit” [5]. Marissa points out that people who offend other people due to lacking social skills will tend to do so in times and places that are likely to get a bad reaction – if you don’t know that you are doing something wrong then there’s no reason to hide it. If someone offends a senior manager at a corporate event then it could be because they are on the Autism Spectrum (I’ve apparently done that). If someone offends junior people at a times and places where there are no witnesses but is always nice to managers and other powerful people then it’s not related to Autism.

One final note, I have little tolerance for anyone who claims to be an Aspie when they do something wrong. You are either on the Autism Spectrum all the time or none of it. Anyone who wants any sympathy for me for an occasion where they stuffed up due to being an Aspie can start by making a clear statement about where they are on the Autism Spectrum.

Update2: Yet More from Bruce Perens

Bruce wrote “IMO, the kind of men who go in to software engineering suffer a lack of healthy interaction with women who are their peers, and it may be that the high incidence of empathy disorders in our field is involved” (which seems to be part of the inspiration for Joe Buck later in that thread) and now claims “Nobody here was trying to connect Asperger’s or autism with the touching incidents or violent crime“.

Matthew Garrett responded to that with “If you weren’t trying to say that the high incidence of empathy disorders in our field was related to a lack of healthy interaction with women who are their peers, and that that has something to do with incidents of sexual harassment or assault at conferences, what were you trying to say? Because that sounds awfully like ‘We wouldn’t have so many problems if it weren’t for all the autists’“.

Bruce’s latest comment is “If you choose to read something that nasty into my writing, that’s your problem. Get therapy“.

Through this discussion I’ve been unsure of whether to interpret the statements by Bruce et al the way Matthew does or whether I should consider them as merely a desperate attempt to derail the discussion. I can’t imagine any possible way of interpreting such comments in connection with the discussion of sexual assault as anything other than either trivialising violent crimes against women (suggesting that they are no worse than asking out someone who’s not interested) or claiming that anyone who lacks social skills should be treated as a violent sexual predator. It’s just not reasonable to believe that every single person who wrote such comments referring to Autism was misunderstood and really meant something nice.

As a general rule I don’t think that it’s the responsibility of other people to try and find a non-offensive interpretation of something that one might say. I don’t think that all the people who strongly disagree with the most obvious and reasonable interpretations of Bruce’s comments should get therapy. I think that Bruce should explain what he means clearly.