Archives

Categories

On Burning Platforms

Nokia is in the news for it’s CEO announcing that they have a “Burning Platform”, Jeff Waugh gives an interesting analysis of the situation [1].

What is a Platform for Phones?

This whole scenario makes me wonder about what a platform should mean in terms of mobile devices. Wikipedia says “A computing platform is some sort of hardware architecture and software framework (including application frameworks) that allows software to run. Typical platforms include a computer’s architecture, operating system, programming languages and related user interface (run-time system libraries or graphical user interface). [2]

I think that Nokia’s problem was that it didn’t leverage it’s strength in making great phone hardware. Nokia used to have a commanding share of the market due to simply making better phones. They had phones that were upwardly compatible (the same UI and used the same chargers), their phones were always very solidly constructed, and they had some good design features such as having the battery comprise part of the case – which allowed a replacement battery to be physically larger for longer battery life. Even now they have hardware features which are better than the rest – such as the N8 which is widely regarded as having the best camera of any phone. Nokia also did some smart things like releasing their N800 series of phones with more open software than most companies used, they supported running arbitrary Linux applications.

While they kept the platform as the API interface on a phone OS and maintained several different OSs (with multiple versions in production at any time) they made a less desirable platform for developers and a lot more development work for themselves.

Nokia fragmented their own market. There is no technical reason why they couldn’t manufacture a phone that is capable of running a choice of their own OS as well as Android (or alternatively their own OS or the Windows Phone OS). There may be technical issues that prevent designing a phone to run either Android or Windows phone, but they could have got two out of three options available.

On top of a hardware phone platform we could have multiple software platforms, Android, Windows, Meego, etc. The users could then decide which one to use.

A Hardware Platform for Phones

I think that it would be ideal if a phone company offered phones with a choice of OS and allowed the user to change the OS. The N8 is a great phone and the hardware is really appealing, I would have definitely bought one for my wife if it ran Android. Also the resale value of phones can be improved if they can be re-purposed. If someone knew that people on ebay were paying good rates for an old phone because it could be re-programmed then they would be more likely to buy it. As phones are essentially free for most people due to telco deals, a phone that has a resale value of $200 is a lot more desirable than one with a resale value of $100 if all other things are equal.

I would like to see the mobile phone as a platform just as the IBM PC compatible was a platform. Imagine if IBM had sued Compaq into oblivion when they first cloned the PC, if that had happened I don’t think that I would be using an IBM PC (Thinkpad) right now. The early IBM PCs really weren’t great systems for home use, for pretty much anything you might want to do the early PCs didn’t compete well with CP/M systems and systems from Commodore and Apple. It was only when cheap clones flooded the market that the “PC” platform took off. Modern PCs can boot from disks that were created 20 years ago. At every time during the PC’s history there has been a choice of OSs available that work with the standard BIOS boot loader and expect certain essential hardware (such as a BIOS interface for video, keyboard, and storage). This choice increased the market allowing economies of scale in production. It also allowed competition between vendors which forced the margins to be low and resulted in PCs becoming cheap – over the last 20 years every aspect of a PC apart from Intel CPUs and Microsoft Software has steadily dropped in price.

I would like to see phones designed with a common boot loader, a common core set of CPU functions (I believe that with ARM CPUs a lot is optional), and common interfaces to the touch-screen and the GSM system. The boot loader would ideally have support for booting multiple OSs, in a typical end-user case the store would provide the phone configured to quietly only boot one of the available OSs – but it would be trivial to offer the user a choice of OS at boot time for advanced users. The process of installing a custom ROM image in a phone is regarded as dangerous at the moment and most people who would like to do such things are hesitant due to the risk of “bricking” their phone. If booting the last good OS was an option then more people would try new OSs. With the current situation I am a little hesitant to re-program my new phones (and I’m braver about such things than most people).

One of the many problems with the current situation is that the phone vendor has to officially support every phone OS. One example of the problems with this is the Sony Ericsson Xperia X10 which is a fine piece of hardware that has been saddled with an older version of Android for it’s entire life, Sony has stated that they won’t produce any more updates and thus the demand for this phone is a lot lower than it might be. I believe that this is why the Xperia X10 is significantly cheaper than any other phone with similar features. Sony is losing money because they have a closed hardware platform and don’t support the recent versions of Android!

Ways of Booting the OS

It shouldn’t be a technical challenge to have support for basic touch-screen IO and 3G Internet access in the boot loader of the phone. Then an OS such as Android could be loaded from the network before being booted without needing an older version of Android running. 80386 systems with a few megs of RAM used to be able to boot from a LAN, a modern phone has much more powerful hardware and a network connection that’s at least as good as 10base2 networking so it should be able to do the same.

Modern phones have micro-SD cards for local storage. There’s no reason why the OS couldn’t be loaded on micro-SD card. Fixing the OS on a phone that was “bricked” could be achieved by putting the micro-SD card in a PC and then copying the files across – just as I often fix PC OS problems by installing the hard drive in a working system.

Changing the OS of a phone should be easier than changing a PC between Ubuntu and Fedora (the Linux distributions that seem to have the most usage by less technical users).

Conclusion

If Sony had made their platform the hardware then they could have spent their effort on what they do well (making great phone hardware) and delegated almost all of the work related to creating the OS to other companies (Google, MS, telcos, etc).

If the entire industry moved to a hardware platform for phones then the result would be lower prices and some thin margins for manufacturers. This would be good for users and OK for manufacturers. The current situation however is quite bad for users who can never get phones to do exactly what they want and not so good for phone manufacturers such as Nokia (and everyone else who does business with Microsoft) who find themselves on the wrong side of market forces. The phone as a hardware platform shouldn’t be too bad for Microsoft either, they did OK on the PC hardware platform.

Sony Ericsson Xperia X10i – First Experience

I have just got a new Xperia X10i for my wife. It’s with Virgin who use the Optus network. Optus apparently have better coverage than Three (who we have been using for 6.5 years) and Virgin offers the best deals – they have good phones on low monthly rates and do nice things like selling most phones unlocked (the Xperia is one that comes unlocked).

I chose the phone for use in system administration work. A large screen should be good for reading email and running a ssh client. Hopefully I will be able to use the phone’s Wifi to provide mobile net access to a laptop for any problem that can’t be solved on a tiny screen. My wife doesn’t do much sysadmin work nowadays, but it’ll save some effort if we can both use the same model of phone. Also according to Amobil.no the Xperia X10 is the second best phone for camera-phone functionality [1], and my wife would really like to take some good pictures with her phone (she loves the LG U990 Viewty that she has right now).

Screen

One major reason for choosing this phone is that it has the biggest and highest resolution of any phone that doesn’t cost a huge amount of money. It does well in this regard, the screen is very good to look at. However it is apparently not particularly sensitive and we still have the protective cover on the screen which makes the swipe to unlock operation quite difficult. My wife generally likes to keep the protective plastic on such screens for a while to prevent damage, but she may take this off sooner than on other devices.

Sony Foolishness

One reason that this phone is cheaper than any other phone with similar specs is that it’s made by Sony. Sony won’t provide updates to Android 2.2 or better and they have their own stupid applications installed in an intrusive manner. The main screen of the phone has a large icon for the Sony Timescape program. If you choose a background image of a person’s face then the Timescape logo is in the ideal location to obscure the person’s eyes. Generally it’s not desired to have the person in your phone background look like Zorro. Fortunately you can delete icons from the home screen, you just have to press and hold the icon until a trash-can appears at the bottom of the screen and then drag it to the trash.

Phone Book

The core phone functionality is fairly important for a mobile phone. But it seems that every modern phone has some serious failings in this regard. The Xperia comes with a phone book that is reasonably good for managing contacts and partially coalesces multiple entries with the same name – which is convenient as I somehow managed to import 3 copies of each entry in my wife’s phone book. The down-side is that the multiple entries are still stored, so when it comes time to update someone’s phone number my wife will have to separate the entries and then delete all but one of them, adding probably a minute of effort for each one. With 60 phone book entries that’s probably an hour of wasted time during the course of her phone use.

They really should do a time based analysis of phone use and optimise the UI for efficiently performing common tasks. I think that an ideal design would start off by asking the user to rate the importance of phone functionality, camera, facebook, twitter, etc and then give a UI that matches the important tasks. A device that has 384M of RAM, 1G of built-in Flash storage, and an 8G micro-SD card (which Virgin provided with the phone) should be able to offer a selection of UIs.

Camera

The configuration for the camera allows some settings to be changed easily and others have to be changed through the “advanced” settings which requires one more button press and a few extra taps on the screen. One real stupidity is to have the phone light be in the advanced settings, so if the room happens to be a little darker than expected you suddenly need to go to a lot of extra effort to turn on the light.

Finally it would be really good to be able to take a quick picture. I would like to be able to be able to press a combination of buttons and have it immediately take a picture regardless of what had been running before. Not press the main menu button, the camera icon (which I made a link from the home screen), wait a second for it to load, and then press the shutter button. Ideally I would like to press a combination of hardware buttons to have it immediately take a picture even when the screen is locked. I don’t want to wait for the screen unlock process, sometimes the perfect shot is only available for a second.

Wifi

It doesn’t support ad-hoc networks. This is really annoying for me as I don’t own an access point – and I don’t plan to buy one just for a phone. My laptop (Thinkpad T61 with Intel Corporation PRO/Wireless 3945ABG [Golan]) doesn’t seem to support running as an access point, and my EeePC 701 with an Atheros AR5001 has the same problem, here is the error message:

# iwconfig wlan0 mode master essid x
Error for wireless request “Set Mode” (8B06) :
SET failed on device wlan0 ; Invalid argument.

I have a cheap Realtec USB Wifi device that claims to support being an access point but just fails when I try it. So presumably it doesn’t really support it but the driver is buggy.

It seems that I may need to put a custom Android installation on it to get ad-hoc working.

Also it’s apparently necessary to root the Xperia to get Wifi tethering to work for providing net access to a laptop. So I guess I’ll hacking it soon.

Internet Access

The Virgin web site couldn’t help me set up the Internet access because I ported a phone number from another Telco. I had to use the phone number supplied by Virgin to login to their web site and the site then wanted to “sent” (probably SMS) the settings to my phone, but of course it couldn’t SMS to that number as I’ve got the Three number active. Presumably they were expecting that customers would setup Internet access before porting their old number.

I phoned the Virgin tech support and used the settings they suggested, but it didn’t work. Then I took the phone to a Virgin store and it started working after they rebooted it with no changes to settings. Just like Windows used to be. :(

Email Access – Default App

The email setup defaults to port 143 IMAP access, so even when a mail server provides access on port 993 for IMAPS and on port 995 for POP3S probably most users will not use any encryption because their phone doesn’t default to it. Also one annoying feature is that when I gave it the email address “test@coker.com.au” it decided to use “test” as the user-name for IMAP by default. It seems that a very large portion of the active email accounts nowadays are on systems that handle multiple domains and thus require the domain name in authentication, and a large portion of the remainder accept domain names even when they aren’t required. Besides it’s a lot easier to delete a domain name when it’s not needed than to type it in when it is.

The default hostname for sending and receiving mail is the domain name, if the MUA configuration program had checked the MX record it would have known that smtp.sws.net.au is a better default choice for the mail server. I’ve now started the practice of creating a CNAME entry named “m” in every domain I run, so when someone is setting up a mobile phone they just have to add “m.” to the start of the default hostname to use for sending and receiving mail. By doing this I can probably save an average user at least 30 seconds of typing, which is particularly important if I happen to be talking them through the process!

The MUA uses IMAP commands to load the text of the message without attachments and then loads attachments on demand, this will be handy for when people attach unreasonably large files. With IMAP caching and partial loads the core functionality seems OK, and some quick tests of standard but not commonly used IMAP functions such as noticing that mail has been deleted by another client seemed to work well. The performance of loading a new mailbox with 369 message was quite poor, I’m not sure how much of this is due to the network connection and how much is due to the client implementation. This is a real concern for me as I typically have about 7,000 messages in my IMAP account and 3,000 unread messages most of which are in two folders.

Another problem is the fact that there seems to be no way of searching in the list of messages, sorting/grouping by subject or sender, or showing unread messages. This makes the Xperia unsuitable for the task of reading mailing lists when on public transport. I would really like to be able to sort through a folder of mailing-list mail, delete messages that I don’t need to keep and flag ones that need attention when I have the resources of a desktop system when I’m on a tram or in other situations where a laptop can be inconvenient.

One undeniable bug I discovered (as opposed to the missing features I listed) is that when a message has a line with a URL followed by many spaces it won’t load correctly in the web browser, the spaces will be treated as part of the URL. I’ve changed the default signature in my email to have a description followed by a URL to avoid triggering this bug. Presumably other Android phones are bug for bug compatible. :(

Moxier Mail

There is a complete set of email and calendaring applications preloaded from Moxier.com. The Moxier mail client uses company.com as an example domain name (they should use example.com – does no-one read the RFCs?). It’s nice that they verify the SSL certificate and display the details when it’s not signed.

Unfortunately Moxier doesn’t support anything other than Exchange, and I can’t delete it either as it’s part of the base set of applications from Sony.

SMS

The SMS application is supposedly “conversation” based. This doesn’t seem like a benefit to me, it’s a pity that there is no option to make it act more like every other SMS implementation I’ve used over the last 12 years.

Battery

The battery is described as having a capacity of 1500mAh, for comparison a AA rechargeable batteries have capacities ranging from 1800mAh to 2800mAh. My first mobile phone had a rechargeable battery that took the same space as 4*AA batteries and the phone was designed to run on AA batteries if the main battery wasn’t charged. I would like to have an Android phone that had a battery pack of similar size to at least 2*AA batteries, and 4*AA would be OK too.

The Xperia battery was reported as being half discharged after playing with the phone for less than an hour. Basically when doing anything with the phone that is remotely intensive I need to have it plugged in. Unless of course I’m using one of the star-chart applications…

Lights

There are two white leds in the gaps between the keys for Settings, Main-Menu, and Back on the front. They are quite bright and annoying to look into at night.

SSH

SSH was one of the reasons for getting an Android phone, but it was one of the last things I worked on because everything else was so much fun. I’m currently using ConnectBot, it supports storing ssh host keys, generating a key-pair from random screen touches, locking and unlocking the key-pair (with a pass-phrase) and pasting the public key to an open window. All the basic functions just work although it’s rather inconvenient to enter the CTRL keys.

The next thing to investigate is a small and light Bluetooth keyboard. Using an external hardware keyboard will save me from the pain of entering CTRL keys (which is even worse than the pain of entering passwords that contain digits and mixed case). It will also allow me to type a lot faster and use the entire screen for the ssh session.

Current Bug Summary

Wifi doesn’t do ad-hoc mode or tethering.

MUA doesn’t correctly handle URLs in messages if many spaces follow the URL and is also unsuitable for mailing list mail.

Sometimes requires a reboot to make Internet access settings take affect.

Camera light can’t be easily turned on and off.

This isn’t too bad.

Conclusion

Most things do what I want. Once I get a MUA working with all my email, Wifi doing what I want, and a Bluetooth keyboard it’ll be a fairly ideal mobile sysadmin terminal. I’ll probably order one for myself this weekend.

Mplayer, Squeeze, and SE Linux on i386

I’ve just updated my SE Linux repository for Squeeze to better support running mplayer on the i386 architecture, below is the APT sources.list line:

deb http://www.coker.com.au squeeze selinux

The first issue is a bug in the compilation of the SDL libraries which makes them request an executable stack (bug #613535). Recompiling the libraries on my system caused this bug to go away, so it must be some issue with the compilation process. I have previously summarised the execstack issue, but we haven’t solved this yet [1].

The next issue is the fact that the ffmpeg libraries require execmod access (see my previous post for the details of the execmod issue [2]. The execmod issue with ffmpeg is pretty much the same as it was when I first wrote about the issue in 2008 [3]

Finally the allow_execmem boolean needs to be set on i386 with the command “setsebool -P allow_execmem 1” to allow libGL the access it needs. This is an issue I haven’t been able to solve, I don’t know why libGL needs write and execute access to memory, I posted to the SE Linux list about this some time ago but didn’t get any good answers [4]. Any suggestions would be appreciated.

LCA2011, Harassment, etc

The conference LCA 2011 had an anti-harassment policy [1] which was violated by a keynote speech. The speaker and the conference organisers apologised, but of course the matter didn’t end there.

Discussion continued on the lca-chat list (for conference delegates) [2], on the Linux-aus list (for members of Linux Australia – the parent body of the LCA conference) [3], and in some blog posts.

There is also some discussion on an LWN article that is linked from an ITWire article [4].

I think that the policy was reasonable and from all the descriptions it seems to have worked reasonably well. With such things there are always possibilities to tweak things, so probably there will be future policies which are better in some ways, but it seemed to do the job. The way that the LCA organisers handled the situation was appropriate. In the discussion there were some comments with logical failures that I think need further analysis, I’ll summarise them one per paragraph with the heading being a para-phrase of the claim.

Is it Offensive?

A particularly relevant blog post is Skud’s post about avoiding the use of the word “offense” [5]. In the various discussions about the speech in question most of the people who disapprove of the erotic images don’t use the word “offense“, this is presumably due in part to the influence of Skud’s post. This hasn’t stopped people claiming that the debate is about whether the images are offensive, I’m not sure if this is a deliberate straw-man attack or just cluelessness.

The anti-harassment policy does use the word “offensive” in two places, I think that this was a mistake but it doesn’t detract from the overall meaning of the document.

Is it Harassment?

There was some discussion about whether the actions in question were harassment. Wordnet’s definition of harassment includes “the act of tormenting by continued persistent attacks and criticism“. It seems unlikely that any of the people in the audience who objected to the erotic content in the lecture slides had never seen unwanted erotic material before. So I think that it’s worth considering this incident as just another entry in a list of similar incidents that some of the delegates have experienced, and thus as a continuation of persistent attacks – IE harassment. Melissa McEwan’s post about the variety of harassment that she has received from men is worth reading in this regard [6].

I think that a reasonable analogy here is the school bullying campaigns that were experienced by many members of the Linux community when they were younger. School bullying in most cases is not about a small number of extreme incidents, but about a large number of small incidents each of which when considered independently can be rationalised as something that isn’t significant (excusing such incidents independently is what allows bullying to be rife in most schools). In many cases of high school bullying the victim is blamed for supposedly over-reacting after a reaction is compared to some small incident at the end of a long harassment campaign, some of the criticism of the Geek Feminists seems to echo this pattern.

It seems to me that some of the more dismissive comments which demonstrated a lack of regard for the experiences of other people can reasonably be considered as harassment too (which is also something that Melissa McEwan mentions). Note that I am specifically not advocating that the discussion be shut down, merely that the people who claim that it’s only the (supposed) opinion of the majority that matters are part of the problem. However the fact that the apology for the talk received applause from the majority of the audience seems to indicate that the majority is in fact in favor of the anti-harassment policy.

Derald Wing Sue, Ph.D. and David P. Rivera (a doctoral candidate in counseling psychology) have written a couple of interesting short articles about this for Psychology Today. “Bullying and Microaggressions” describes bullying as more than physical violence and also discusses adult bullies [7]. “The Power to Define Reality” describes the way that the experiences of people who lack power can have the reality of their experiences denied [8] – this one really relates to some of the discussions about harassment.

But it’s Legal!

It has been claimed that the legal system works well in Australia and that Australian law should be the only necessary guide to content. A trivial counter-case that was noted in the discussion is the fact that pure sales presentations are not accepted at LCA – and such presentations are certainly legal! There is a good precedent for prohibiting things that are legal as part of the conference speaker agreement.

More generally the legal system changes slowly and still infringes on what many people in our community regard as basic human rights. There is no reason why an Australian conference should have as it’s standards the bare minimum that is required by Australian law.

It was pointed out that workplace social norms translate well between cultures, they are usually more stringent than Australian law requires – and Australian workplace law is a lot more stringent than the laws relating to conferences and other public events. It seems to me that a presentation which would result in a visit from HR if given at the office shouldn’t be regarded as suitable for a conference such as LCA.

But there is a Balance of Men and Women in Erotic Pictures!

The complaints are not about a lack of balance in the erotic material, but it’s presence there at all. Defending the slides on the basis that there was a supposed balance of male and female misses the point that most people just want no erotic material in presentations at conferences.

Also it seems to me that if there are pictures which aren’t offensive then the way to demonstrate this would be to publish them and say “look, they aren’t offensive”. If it takes 600 words in a blog post to justify the use of some images then that alone seems to be evidence that the images were poorly chosen.

But the talk was Effective

Some of the people who have commented on this issue mentioned that they couldn’t remember what was said when the images in question were displayed. When images from the talk are remembered and the main content of the talk isn’t that seems to be a failure of the talk.

When a major sponsor of the conference complains and requests that the talk video never be published that also seems like a major failure of the talk.

I think that the effective talks are ones that educate people and inspire them to do something positive and useful. A talk that inspires a discussion about whether the speaker deserves censure doesn’t seem effective.

There are claims that there is no way the talk could have made the point as well if it wasn’t for the images in question. But I can’t believe that someone who is capable enough to get awarded a keynote speaking position at a conference such as LCA is incapable of finding other images to make the same point.

But Similar Images are on MTV

When people want MTV content they can watch MTV.

Why Can’t we just try Educating Men?

It was claimed that education works in dealing with such issues in corporate environments and sporting clubs. My observation of the corporate environment is that such training must be extremely rare in Australia, the Netherlands, and probably the UK due to the fact that none of my employers have done it. I have heard first-hand reports of “diversity training” from people who work in the US. I expect that the fact that people who fail diversity training in a corporate environment get a meeting with HR is a major factor in it’s effectiveness.

The long email discussions and blog comment threads when these incidents happen could theoretically be used as training. But when you have some men using multiple mailing lists and dozens of posts arguing without appearing to learn it seems clear that they are not about to learn anything no matter what education is offered. It seems to me that you could broadly divide the free software community into two groups, those who want to learn how to do things better (but who are unlikely to make gross errors anyway), and those who won’t learn.

Besides, having a keynote speaker at a major conference apologise should be educational.

But Clueless Nerds Hit on Girls

I don’t know why every discussion about the treatment of women ends up getting a mention of this supposed issue.

But Women Could make False Accusations

In any classification system you have to make some sort of balance between false-positives and false-negatives. If the aim is to get zero false-positives then the incidence of false-negatives will increase. So if the aim was to never ever have a false accusation brought against a man for sexual harassment then the vast majority of real harassment cases would result in no action at all.

I don’t think it’s reasonable to expect that most women who are mistreated should suffer in silence just to reduce the possibility that men might be falsely accused.

The Rape Statistics cited in the discussion may be Inaccurate

There is no possible way of interpreting rape statistics to make it not be a serious problem, now matter how you analyse the available information it happens far too often and has a significant impact on the victim. Also the suggested reinterpretation of the statistics didn’t contradict the claim that it is likely that there are multiple rape victims attending LCA. So interpreting the statistics in a different way to get different numbers doesn’t change anything. Trying to diminish the significance of rape generally doesn’t support any other arguments that you might make.

There are things that you can just discuss for the heck of it and things which should be discussed with care (if at all) to avoid needlessly hurting people. In these sorts of discussions the right thing to do is to avoid debating the numbers as much as possible.

I think that the numbers produced by RAINN [9] are as good as we can get.

But I am very supportive of women in our community

If you spend all your time arguing with women and don’t listen to what they have to say then you really aren’t supporting them.

Conclusion

After publishing this post I’ll email the URL to a few of the men who helped inspire it, I will explain how disappointed I am and how I expect better from them. I encourage others to do the same.

Also when such discussions happen I encourage men to vote in favor of the positions advocated by women. Writing a message that addresses points in the debate can be difficult and if the debate is rapid then you may find that every point that you might make has been made by someone else. But in that case just posting to agree with the women can really mean a lot.

P2P Car Sharing Etc

Rachel Botsman gave an interesting TED talk about Collaborative Consumption, various ways of sharing and redistributing objects to save money and reduce their environmental impact [1]. It’s a pity that there isn’t something like swap.com in Australia.

P2P Car Rental

Among other things she mentioned P2P car rentals. The first company she listed is Drive My Car (link to the Australian site) [2] which has a good range of vehicles. They charge 16.5% as an admin fee, the rest is paid to the owner. Strangely they have a web page to estimate what you can get for your vehicle, but the rates that are returned by that page seem to be a lot lower than what cars are actually advertised for (I guess that the owner can ignore the recommendation and charge whatever they want). They deal in daily rentals and the owner may specify a minimum period – 4 days seems common. There are no changes needed to the car and the car owner only has to pay $25 per annum to be listed.

Relay Rides operates in Boston and San Francisco [3], they operate on a per-hour basis and require some sort of RFID unlocking device to be added to each car. The normal setup fee for a car owner is $250 but they currently have a promotion that waives that fee.

Get Around is a beta service that presumably operates only in the US (they seem US centric and don’t specify locations) [4]. They appear to offer per-hour rentals and require hardware to unlock the car. It seems that to get most of the useful information (prices etc) you need to sign up which is a mistake on their part.

Whip Car advertises their service on a supposed relationship between the car owner and the renter [5], I’ve met the people who live in about 10 houses of the 50 in my street, so if a random person in my street offered a car for rent then there would be a 80% chance that I don’t know them – but I guess if one of my neighbors had a car to rent at a low price I might be more inclined to get to know them. The information page says that drivers must have a UK driving licence which implies that they only operate in the UK. Why don’t these people state clearly on their web site the country that they service? Their business model seems interesting, I can imagine a few people who live near each other pooling funds to buy a vehicle and then using Whip Car to control reservations and manage sharing the costs.

P2P Rental of Other Things

A logical extension of the Whip Car concept is to have a service which only mediates sharing between trusted parties. It would have a web site that manages bookings including issues such as the minimum time between bookings, charges a flat fee per item that is managed, and then gives a summary to all parties of what the use was. Ideally it would allow for bidding for peak times. This could work for cars, computers, cameras, holiday homes, or anything else which can usefully be transferred between different users.

Egypt

Gunnar Wolf has written an interesting post about the current situation in Egypt, which includes references to Israel (where he lived for a few years) and Mexico (where he has spent most of his life) [1].

Gunnar included a copy of Mohammed Sameer’s blog post on the topic [2], which is a good idea as we can’t rely on Mohammed’s post remaining online.

The Reid Report has an interesting summary of various news sources [3].

I hope that the end result of this is a democratically elected government that respects human rights and offers fair trials to people accused of crimes and humane punishments those found guilty. It would be ideal if the transition could happen in a way that involves little violence and no interruptions to the food supply etc.

Update: Chris Samuel provided some information on free PPP access in other countries for people in Egypt [4]. This will probably be of short-term use as the Egypten regime will probably cut International phone access too.

Update2: Lars has written some interesting comments including links to articles about the US government wanting the power to cut off Internet access in the same way as the Egyptian government [5].

Autism, Food, etc

James Purser wrote “Stop Using Autism to Push Your Own Brand of Lunacy” about the organisations that use Autism for their own political agenda [1]. He references the ongoing vaccine issue (which didn’t even stop when Andrew Wakefield was proven to have engaged in fraudulent research) and a campaign of PETA.

PETA’s Claims

PETA claims that “many autistic kids improve dramatically when put on a diet free of dairy foods” [2]. They also speculate about the possibility of Autism being caused by dairy.

One thing that confuses the issue is the impact of stress on people with Autism Spectrum Disorders (ASDs). Whatever you are trying to do you will probably do it less effectively if under an excessive amount of stress, and the background stress levels of people on the Autism Spectrum tend to be quite high at the best of times. So add in some extra stress from a food allergy and the ability to emulate an NT can decrease a lot.

There are people who make credible claims about significant behavior improvements in Autistic children after changing their diet. Eliminate foods that trigger a minor allergic response and the behavior of NT kids will improve too.

I’m sure that there are some Autistic kids who have a minor intolerance to lactose or casein who’s behavior would improve if they had no dairy products. There are probably just as many Autistic kids who have a minor allergy to peanuts who would get the same benefit from avoiding peanut butter. It’s not inconceivable that some Autistic people may be allergic to soy or wheat and find that they can cope better if their consume more milk, cheese, and steak and less vegetables!

Also some people on the Autism Spectrum have a better sense of smell than NTs, and it’s fairly common to be more “fussy” about the appearance of food. Force children to eat food that smells bad and their behavior might deteriorate.

The issues of diet and Autism are more difficult than those of vaccines because while people just imagine the vaccines to have a bad affect, there are people who are proven to get a bad affect from certain foods.

Some Ideas for Research

I think that the biggest problem with PETA’s research in this regard is citing a study of only 20 individuals and only testing the removal of milk. A proper study would involve more subjects (maybe 100) and separate tests of removing milk, eggs, wheat, rice, seeds, nuts, soy, fish, spices, and food colorings and additives.

It would also test various methods of reducing stress, having a more quiet environment etc.

PETA do deserve some credit for leaving this URL in the comments [3], it’s a study that disproves the link between milk and Autism. But it’s still a small sample size of 14.

Why They Target Autism

In spite of psychologists moving to define Asperger Syndrome and Autism as the same thing, the people who make such claims aren’t talking about people like me. They want to make claims about people who can’t refute them, such as people who fit the Rain Man stereotype. The Low Functioning Autistic (LFA) people have less ability to communicate and are easier to ignore, so if you want to make some stuff up about a group of people then they are an easy target.

Parents of LFA kids are often desperate and will latch on to any idea that seems to help. They can imagine that things have improved in spite of a lack of evidence and also fail to realise that children can improve rapidly just due to their natural development, 1 month is not much time for an adult but for a 4yo it’s 2% of their life!

Also any supposed research that includes testimony of parents should be regarded as rubbish. If you talk to any child psychologist they will tell you about how difficult it is to convince parents that their child is on the Autism Spectrum, a Google search for “autism” + “denial” also brings up plenty of hits. Parental denial doesn’t stop at refusing to accept a diagnosis, it includes wanting to reject it at any later time based on any shred of evidence that may be available. So when there is a diet change or some other supposed cause followed by some apparently better behavior they want to claim that Autism is cured.

I’ve written a document titled “Some Suggestions for Parents of Aspies” [4] which is largely based on the childhood memories and adult experiences of various Aspies. My document covers many issues and few kids on the Spectrum will benefit from all of them, but I think that there is something there that can benefit every child on the Spectrum – and probably a lot of geeky NT kids too. It seems to me that when dealing with Autistic kids it’s a lot better to seek advice from adults on the Autism Spectrum than from random Neuro-Typical people (NTs), particularly if those NTs happen to have an agenda to push. The sensible parents are the ones who seek advice from psychologists and people like me rather than from random unqualified NTs.

Continuously Usable Testing of SE Linux

Joey has proposed a new concept of “Continuously Usable Testing” for Debian [1], basically testing should be usable at all times and packages that aren’t usable should be dropped. But to properly achieve this goal we need continual testing of usability.

The Plan For SE Linux

To do this for SE Linux I’m setting up a Xen server which will have a number of different DomUs for testing a variety of server applications. The system has 1.5G of RAM and 160G of mirrored storage. An image of a typical server will take about 4G of disk space, so we could have something like 40 images online and ready for testing. I have already setup Squid on another system on the same LAN to cache Debian packages, so running “apt-get dist-upgrade” on a number of DomUs won’t take that long. With 256M for a typical server image I could have 5 images running at the same time. If the hardware isn’t enough then I can expand it, I hope to get some donations of DDR-266 or DDR-333 RAM (or maybe DDR-400) to upgrade the system to 4G of RAM, I can add more hard drives, and I could even install more servers.

I want to have testing be very usable for SE Linux throughout the development cycle so that I don’t have to rush things before release.

At this stage I’m not sure whether to track Unstable or Testing for this. I guess it might be best to track Testing most of the time and only track Unstable for daemons that are changing rapidly. It might get boring testing every version that comes through Unstable, but if people want to do this then I won’t stop them.

Setting up the Tests

What I need are interested people who want to install server configurations for testing. If you have some favorite combination of daemons that you want tested for SE Linux support (even if it’s daemons that have no current policy) then I can give you root access to a DomU to develop test cases. Ideally there would be automated tests used for most things for example testing a mail server by using swaks to deliver mail and a POP or IMAP client script to retrieve it. But some things can’t be tested properly without human intervention.

For the automated tests I want to script the creation of DomUs, upgrading the packages in the DomU, testing it, and then shutting down the DomU if it all works. If at any time the tests fail (or the upgrade fails) then it would wait for human intervention. That would be me fixing SE Linux problems and other people fixing the application problems. I think that discovering SE Linux issues will only be a part of this project.

For the manual tests I will grant access to create and destroy the DomUs in question to people who can run the tests.

I’m thinking of having a couple of DomUs running permanently for things which are test candidates but also useful for the project, such as a MediaWiki instance. It really depends on the interest of people who might use such things.

Also I’m thinking of setting up some Ubuntu DomUs too, I probably should join Ubuntu and get involved with SE Linux there.

Sharing the Images

I have a web server in Germany with almost unlimited bandwidth and storage. For every image that is created I want to upload a version to the server in Germany to allow anyone in the world to test it. There are lots of possible ways of using this for software development. For example if you had a patched version of Apache that you wanted to test then you could download every image that had Apache installed and test that they all work. That would be easier than configuring Apache in different ways and also possibly provide better coverage.

Also if someone can’t figure out how to configure a daemon correctly then downloading a Xen image of a working configuration could be helpful (if a little bandwidth intensive). Note that deploying such an image in production would be a really bad idea, among other things there are lots of places where passwords are stored and you wouldn’t want to risk missing one.

I also plan to share the scripts used in running the Dom0 and anything else that seems useful along the way.

What We Need

The main thing we need is volunteers to configure virtual machines with their favorite daemons. Note that I don’t plan to have only one daemon per DomU, if we can get multiple daemons running that don’t conflict (EG file server and mail server) or multiple daemons that can interact (EG database server and a mail server or anything else that can be a database client) running on the same system then that’s a good thing. So there will be some degree of interaction with other people.

I’m happy to accept contributions from people who aren’t interested in SE Linux. But SE Linux will run on all DomUs.

Finally I also need more RAM for a HP D530S, DU875PA (that’s a Celeron 2.4GHz). I’ll accept donations of complete systems too once my HP system gets full, preferably relatively low power systems as they will be housed in a location that’s not as well ventilated as I would like (cost and availability of IP addresses were the main criteria). A laptop with a broken screen would be great!

The system won’t go live until Monday, but I think that probably people won’t be ready to do much work with less than two days notice anyway.

Free Amazon EC2 Servers

Amazon is providing free EC2 access for new customers (who have never been customers before) for one year [1]. It is 750 hours per month (enough to run non-stop for an entire month) of access to a Linux micro instance which has 613M of RAM and the ability to burst to two ECUs of compute power. The main EC2 web page [2] describes an ECU as “the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor” and they also describe a single core of a modern CPU as having 3.5 ECUs. So a micro instance could burst to half the CPU power of a single core. The DomU that runs my blog (as well as some web sites for friends) has been averaging less than 1% use of a CPU core over the last few months, so the CPU capacity of a micro instance should be more than adequate for most things that run on the net.

The free offering only provides 15G of free data transmission and 15G of free data reception per month. For my blog server that would be more than adequate as it has sent 24.5G and received 14G over the last 75 days.

The Cost of Disk IO

The offer requires that you sign up with a credit card so if you use more than the free capacity then you have to start paying. It seems that the main issue in this regard is disk IO.

The only storage that is available for a micro instance is the Elastic Block Store (EBS) [3]. The main way that EC2 operates is that when you create a new virtual machine it copies the data from an existing image so you can easily create dozens or hundreds of virtual machines with local disk performance – and the data is removed when the instance is shut down. EBS is essentially SAN based storage, it’s persistent and operates like a regular disk.

The pricing for EBS is $0.10 per allocated GB per month plus $0.10 per million IOs. Unfortunately they don’t define what an IO is apart from mentioning that you can use IOSTAT to measure them. According to iostat the server running my blog is doing 0.99 tps, so that means in a 30 day month I would expect 30*24*3600*0.99 = 2.56M transactions. Iostat also tells me that my blog server has read 62075330 blocks and written 91683344 blocks over the last 75 days 16 hours of uptime, that means it would do about (62075330+91683344)/75.66*30 = 61M block transfers in a 30 day month. So if I was to run my blog server on EC2 I could be spending either $0.15 or $6.00 per month on disk IO depending on how they count it (or maybe something in between, something larger than a 512 byte block but smaller than a “transaction” as reported by iostat could be used). Given that the last time I checked the prices one could rent a DomU for less than $6 per month [4] the difference in possible ways of measuring IOs is very significant!

The MySQL server that is the backend to my blog (as well as a few other things) seems to be averaging about 3 writes per second (and no reads during operation because the databases are small). So it might be another 5 million IOs per month for the database.

It’s unfortunate that Amazon haven’t clearly specified what they mean when measuring IO for billing purposes. Some aspects of measurement such as whether the bills for bandwidth include Ethernet headers can be ignored as a 26 byte Ethernet header won’t make much difference to the bill when the average packet size is around 400 bytes or more (from ifconfig output it seems that my blog server sends packets of an average size of 459 bytes and receives packets of an average size of 1250 bytes). But the methods of measuring disk IO could give a factor of 20 difference in the bill.

Optimising for EC2

If I was going to put my blog on EC2 then I would start by configuring Apache to log to a fifo and then write a daemon that stores the log data and allows my home server to poll it and get the log data. As the filesystem is already mounted with noatime it seems that writing logs is the cause of all the disk writes so if they were stored in RAM (which shouldn’t be a problem with 4M of logs per day) then all those writes could be avoided. Another possible solution to this would be to make /var/log be a tmpfs and then rsync the files periodically to my home server. I don’t really need to have all the logs remain on the server I just need them to remain somewhere.

Amazon also offers 100,000 messages on their Simple Queue Service (SQS) for free [5]. The messages can be up to 8K in size and are stored for up to 4 days. So it seems possible to put Apache logs into SQS messages in bundles of less than 8K and then get them out later for transfer to a server outside EC2.

If I was able to get my disk writes to almost zero then there’s a good chance that I could get into the free zone for one year.

Conclusion

Would I use this service? If I was looking for new hosting for my blog then I would seriously consider it. EC2 is quite fast and well connected and depending on how they work out the billing for disk IO I could probably keep the cost close to zero.

EC2 is a different way of running things so you can’t just have a virtual server running and expect it to automatically restart if it goes down for any reason (a standard feature of virtual hosting companies). Amazon does have a range of tools for managing EC2 instances and they all seem to be available in the free trial. So after spending the time to learn those tools the result should be good.

I think that there are two groups of people who could benefit from using this. One is hobbyists, this is a great way to learn some skills related to high-end server stuff and EC2 experience should look good on a CV. The other is companies who want to use EC2 anyway and who will just save some money that they would otherwise pay. I’ve seen someone recommend the free offering from EC2 for a company that needed a small server, I think that isn’t a good option as a company that only wants a single small server will be better off paying something between $5 and $20 per month for a DomU from one of the virtual hosting providers.

After a year you have to pay regular prices. A micro instance costs $0.02 per hour which is $14.40 per month, SQS costs $0.10 per month for sending up to 1G of data in and at $0.01 per 10,000 SQS requests would costs $0.03 (the 4M of log data I generate per day would be 1000 requests to write and read it which would be 30,000 requests per month), the EBS for MySQL would cost $0.10 for 1G of storage and maybe $0.50 for IOs. That means $15.13 before counting bandwidth.

My blog server averages just under 10G of transmitted data per month, the first Gig is free so that would cost $0.15 for each subsequent Gig which is $1.35 per month. It receives just under 6G per month which at $0.10 per gig would be $0.60. So including data transfer it would be about $17.08 per month.

This is a lot more expensive than some of the cheaper virtual server offerings but admittedly the cheaper virtual offerings don’t have as much RAM. Also with a blog instance running on EC2 I could easily configure it so that I could create some big instances that use the same MySQL database if a lot of extra traffic suddenly started arriving. A micro instance running MySQL on it’s own could cope with a heap of load a lot more easily than the PHP code for my blog. So using bigger servers to run the PHP code while running MySQL on the same server would be a good option – particularly if the bigger servers use caching.

Finally if you want to run an EC2 instance for a year then you can get a reserved instance, you pay $54 per annum and the cost drops to $0.007 per hour instead of $0.02 per hour. Using a reserved instance for my blog would give a cost of $54+365*24*0.007+12*(0.10+0.03+0.10+0.50) or about $124.08 per annum. $10 per month isn’t too bad. So if I migrated my blog to EC2 then I would probably keep it there after the free period expired. The ability to expand rapidly when necessary is worth paying extra. Of course I am making some assumptions such as that the performance of a micro instance doesn’t totally suck – as Amazon don’t specify what bursting to 2ECU really means it could have some performance problems.

Note that all prices in this post are in US Dollars.

Conferences and People on the Autism Spectrum

There have been some recent discussions about issues related to the treatment of women at Free Software conferences, I’ve written posts about Aspie Social Skills and Free Software [1] and Empathy, Autism, and Geeks [2] about this. But of course discussion continued on how Aspies supposedly cause problems that no-one seems to be noticing.

Lisa of Chaotic Idealism wrote an interesting post about the NT social bias [3]. In summary NTs seem to think that Autism Spectrum Disorders are only about socialisation, not realising that for many people on the Spectrum it’s sensory issues that are their main problem. Social problems are exacerbated by sensory issues and other causes of stress, so I think it’s worth considering ways in which conferences can be planned to be less stressful for people on the Autism Spectrum, people who have SPD [4] that isn’t associated with an ASD, and NTs who just get annoyed by loud noises etc.

What Autism Conferences Do

Autscape is one of only two conferences for people on the Autism Spectrum and the only one which clearly documents how they plan their conference [5]. The first noteworthy thing that they do is have badge colors to indicate what level of social interaction is desired by each delegate, I don’t think that this is relevant to Free Software conferences as people who don’t have sufficient social skills to suit at least a green badge probably won’t be attending. But I think that when attending a conference about Free Software or any other equally geeky topic (if there is an equally geeky topic) it’s worth keeping in mind the fact that there are probably a lot of people who would like to talk to you but lack the social skills to start a conversation.

No initiation Red Please do not initiate any interaction with me.
Prior Permission Yellow Please do not initiate unless I have already given you permission to approach me on a yellow badge.
Please initiate Green I would like to socialise, but I have difficulty initiating. Please initiate with me.
Neutral White (or no badge) I am able to regulate my own interaction.

The next thing that they document is a black circle badge which indicates that the wearer shouldn’t be photographed. Prior to reading that web site I wasn’t aware of this being an Autistic issue, I was only aware of it being an issue for women who don’t want zoomed-in pictures of themselves appearing on guys web sites (even pictures that aren’t up-skirt or down-blouse can be unwelcome). A conference policy that prohibited photographs that zoom in on one person without that person’s consent (or parental consent in the case of minors) would probably be a good idea.

Another thing about badges is that it’s a really good idea to have the delegate’s name on both sides of the badge if the badge is attached in a way that permits it to turn. People on the Autism Spectrum tend to have some difficulty in recognising people and in remembering names. I find it inconvenient when someone expects me to recognise them but has their badge turned around so I can’t see their name. Some people get really unhappy if they think that someone doesn’t recognise them.

Autscape has long breaks between activities and a leisure session each afternoon to allow delegates to recover from the stress of dealing with people. It seems to me that computer conferences in some cases could do with longer breaks between sessions. I find that a lot of the benefit of a conference is in what happens outside sessions and the standard practice of publishing videos of presentations makes personal meetings a more important part of the conference.

Autscape has designated quiet spaces. I think that for computer conferences which have hack-labs (which seems to be most Free Software conferences nowadays – even if they aren’t labelled as such) it would be good to have some lab areas designated as quiet zones. I think that it is a really good thing to meet people you’ve only known by email and then play some LAN based games against them and that this should be encouraged as part of a conference, but having that sort of thing separated from people who want to do some quiet coding is a really good idea. Whether people want to do quiet coding, read email, or just escape from the stress of a conference a quiet hack-lab would be a good place for it.

An issue that’s related to quiet spaces is the ability to escape from social situations. One of my pet hates is corporate meetings on boats, when the boat is in motion there is no escape. Corporate meetings that are only accessible by coach are also bad. Fortunately most conferences aren’t like that.

The Autscape web site states that they prohibit people from wearing perfume or aftershave to help people who are sensitive to smell. My observation of Free Software conferences is that encouraging everyone to have a shower every morning would be a good idea as there are stronger smells from unwashed people than from perfume.

One thing that’s interesting about the Autscape web site is that they have different color schemes available and have tested it in multiple web browsers – including Safari and Konqueror (which apparently don’t work so well). It’s interesting to note that they test with such a variety of browsers including free software ones – most corporations don’t do that.

Sensory Processing Issues

The main SPD issues related to conferences seem to be noise and light related.

For social events one difficulty that most people on the Spectrum seem to face is in listening to one person in a noisy crowded room. As well as that sudden noises and loud background noises can be very stressful. While it’s sometimes impossible to avoid crowds (which can be another problem) it is often possible to select venues that have less noise problems. A venue with carpet on the floor and soft walls (anything other than brick or concrete) will be a lot quieter than one with hard surfaces that reflect noise. It seems that a quiet venue will benefit NTs as well, there seems to be a strong correlation between the price of food at restaurants and the amount of sound absorbing material on the floor and walls – people who can afford a good dining experience seem to want it quiet.

In terms of visual issues the relevant problems seem to be related to sudden transitions and lecture halls that are extremely dark. The only thing that can be done by conference organisers is to seek to have the lights in the lecture halls as bright as possible without preventing the viewing of the projector screen, this is usually done anyway.

For social events the whole binge drinking at crowded bars thing doesn’t work too well due to noise, poor lighting, crowds, and the smell of vomit. But there’s no shortage of reasons to discourage binge drinking at conferences.

Food

Psychology Today has a good article about preferences for food and “picky eaters” [6]. Lots of people on the Autism Spectrum have similar issues. The thing to do when arranging a conference meal is to have things neat and without needless combinations. Think about making food look more like what you would expect to see in a Japanese restaurant and less like Paella. Also having some very plain food on offer is a good thing, I think that bread-rolls for dinner and ice-cream for desert makes a viable meal. But any dish with a word like “hash” or “mixed” in it’s name isn’t a good option. Finally some combinations are really bad, I always find rare steak and potatoes on the same plate to be rather disgusting – potato that’s blood-stained doesn’t appeal. The majority of conference meals satisfy these criteria.

Autscape provides options of eating outside the main dining hall for people who can’t tolerate the noise. For a Free Software conference it might be a better idea to provide seating outside the main area for people who are going to make noise. I don’t mind people who want to get really drunk at the conference dinner, but I would prefer them to be in a separate room. Also when assisting a drunk friend to leave the venue before they cause more problems it would be convenient if there was a good place to take them to. The one occasion when I had to strongly encourage a friend to leave a conference dinner to reduce his embarrassment the next day (and reduce the annoyance for everyone else) there was no good place to take him – so he just came back!

Conclusion

I don’t expect that anyone will make any significant changes to conference plans after reading this post. I have tried to focus on things that would benefit NTs as well, but there are practical issues that get in the way such as the cost and availability of venues that are large enough. But there are some smaller ideas that can be implemented with relative ease.

I hope that the people who are making claims about Autism and conference behavior will refer to this in future. If you think that there is a problem with the way people on the Spectrum act at conferences then the solution will more likely involve the suggestions I make here than anything else.