Archives

Categories

Ziggy’s Lecture about Nuclear Power

The Event

Dr Ziggy Switkowski giving his lecture

I just attended a lecture by Dr Ziggy Switkowski (see the above picture) on the topic of nuclear power, for a long time Ziggy has been the most prominent advocate of nuclear power in Australia, so naturally the talk was pro-nuclear. The lecture was free for alumni of Swinburne University and introduced by Swinburne’s Chancellor who described Ziggy as a friend.

Before the lecture started I handed out flyers for Beyond Zero Emissions [1] with a plan for zero carbon use in Australia by 2020. That was more difficult than handing out Greens polling cards on election day. The people who attended were there for a purpose and they could see the free food and wine on offer inside the building so getting them to stop and take a brochure wasn’t easy. There were also people from Friends of the Earth [2] and some other anti-nuclear organisations giving out brochures.

specter of nuclear contamination

There were also some anti-nuclear protesters dressed as Uranium miners and the specter of nuclear contamination, they made for an interesting picture (which is amazingly good for a phone camera 20 minutes after sunset), but got in the way when I was handing out brochures. There were a few university security people at the door trying to keep the opposition away who were a bit annoying. There was also one policeman in attendance who was quite friendly, he asked whether there was a competition between the different groups as there is when handing out how-to-vote cards on election day.

15 minutes before the lecture was due to start I quit handing out the brochures and went inside for free food and drink (food always tastes better when the other team pays the bill).

The Lecture

I felt that Ziggy did a poor job of advocating nuclear power. There were a number of gaping flaws in his argument, but I have to commend him for his honesty in his appraisal of how hard it would be to develop a nuclear industry in Australia. Most nuclear advocates are a lot more optimistic about the process of building nuclear power plants and training all the people to run them.

I will write a post tomorrow rebutting some of Ziggy’s arguments.

After the Lecture

Immediately after the lecture the vice-chancellor stated that 500 people registered which made it the best attended such lecture that they have held. I don’t know how many of the 500 attended, but I did notice that about 1/4 of the seats in the lecture hall were empty. It’s rather sad that they can’t get more people to such lectures, is TED.com stealing the audience?

When I got out of the building I started handing out brochures to people as they left. I noticed that they were a lot friendlier than they were on the way in. I believe that people who left the lecture had greater interest in renewable energy because Ziggy just failed to make a good case for nuclear power. I expect that anyone who hadn’t already made up their mind would immediately want to research the alternatives after watching Ziggy’s lecture.

Links May 2011

John W. Dean wrote in insightful series of three articles for Findlaw about Authoritarian Conservatives [1]. In summary there are Authoritarian Followers who follow their leader blindly and Authoritarian Leaders who do whatever it takes to gain and maintain power. The Authoritarian mindset lends itself towards right-wing politics.

Mick Ebeling gave an inspiring TED talk about his work developing a system to produce art that is controlled by eye movements [2]. The development work was started to support the quadriplegic graffiti artist TEMPT1. Mick’s most noteworthy point is that all the hardware design and software are free so anyone can implement it without asking an insurance company or hospital (this is one of the few occasions when a TED speaker has received a standing ovation during a talk). The Eyewriter.org site has the designs and source which is licensed under the GPL [3].

Morgan Spurlock (who is famous for “Supersize Me”) gave an amusing TED talk titled “The Greatest TED Talk Ever Sold” [4]. He provides some interesting information about the brand sponsorship process and his new movie “The Greatest Movie Ever Sold”.

Ralph Langner gave an interesting TED talk about reverse-engineering the Stuxnet worm and discovering that it was targetted at the Iranian nuclear program [5]. The fact that the Stuxnet environment could be turned to other uses such as disrupting power plants is a great concern, particularly as it has special code to prevent automatic safety systems from activating.

Angela Belcher gave an interesting TED talk about using nature to grow batteries [6]. She is evolving and engineering viruses to manufacture parts of batteries and assemble them, the aim is to scale up the process to manufacture batteries for the Prius and other large devices at room temperature with no toxic materials. She is also working on biological methods of splitting water into hydrogen and oxygen which has the obvious potential for fuel-cell power and also solar PV cells. As an aside she mentions giving a copy of the Periodic Table to Barack Obama and he told her that he will “look at it periodically”.

Bruce Schnier gave a good overview of the issues related to human perceptions of security in his TED talk about The Security Mirage [7]. There isn’t much new in that for people who have been doing computer work but it’s good to have an overview of lots of issues.

TED has an interesting interview with Gerry Douglas about his work developing touch-screen computer systems for processing medical data in Malawi [8]. This is worth reading by everyone who is involved in software design, many of the things that he has done go against traditional design methods.

Mike Matas gave an interesting demo at TED of the first proper digital book [9]. The book is by Al Gore and is run on the iPad/iPhone platform (hopefully they will have an Android version soon). His company is in the business of licensing software for creating digital books. The demonstration featured a mixture of pictures, video, audio, and maps with the pinch interface to move them around.

Dr Sommers of Tufts University wrote an interesting post for Psychology Today titled “Why it’s Never About Race [10]. It seems that there are lots of patterns of people being treated differently on the basis of race but for every specific case no-one wants to believe that racial bias was involved.

The Register has an amusing article about what might have happened if Kate had left Prince William at the altar [11].

Fiorenzo Omenetto gave an interesting TED talk about synthetic silk [12]. He is working on developing artificial fibers and solids based on the same proteins as silk which can be used for storing information (DVDs and holograms), medical implants (which can be re-absorbed into the body and which don’t trigger an immune response), and cups among other things. Maybe my next tie will have a “no pupae were harmed in the production” notice. ;)

The CDC has released a guide to preparing for a Zombie apocalypse [13], while it’s unlikely that Zombies will attack, the same suggestions will help people prepare for the other medical emergencies that involve the CDC.

Salon has an interesting article by Glenn Greenwald who interviewed Benjamin Ferencz about aggressive warfare [14]. Benjamin was a prosecutor for war crimes at Nuremberg after WW2 and compares the US actions since 9-11 with what was deemed to be illegal by the standards of WW2.

Eli Pariser gave an interesting TED talk about Online Filter Bubbles [15]. He claims that services such as Facebook and Google should give more of a mixture of results rather than targetting for what people want. The problem with this idea is that presenting links that someone doesn’t want to click doesn’t do any good. It’s not as if the filter bubble effect relies on modern media or can be easily solved.

Terry Moore gave a TED talk about how to tie shoelaces [16]. Basically he advocates using a doubly-slipped Reef Knot instead of a doubly-slipped Granny Knot. Now I just need to figure out how to tie a doubly-slipped Reef Knot quickly and reliably. Terry uses this as a mathaphor for other ways in which one might habitually do something in a non-optimal way.

Are Assholes Essential to a Free Software Project?

What do Assholes do?

Rusty just wrote a post titled “If you didn’t run code written by assholes, your machine wouldn’t boot” [1] about some of the anti-social tendencies demonstrated by programmers, including some that are implied to be fairly important. His post seems to imply that there are really great programmers who are anti-social and that we should just put up with it because of their great code.

One of the problems with his post is that he doesn’t define “asshole”. Holocaust deniers and all other Nazi supporters seem to clearly by assholes by any definition. People who have silly ideas about medicine and tell others seem to be merely misguided (although my dictionary gives “stupid or irritating or ridiculous” in the definition of “asshole” so technically they can meet the criteria).

In the comments Rusty states that “nuttiness is relative”. While that is correct it doesn’t seem to have much bearing on whether someone is an asshole. For example I know some very nice people who are utterly convinced by creationism.

Is Anyone Essential to Free Software?

Most projects have one person or several people in leadership positions, usually there seems to be a combination of project management and lead-programmer positions. Such people are obviously quite important to a project. But we have seen examples of people dying, being employed by Microsoft, retiring, relicensing the source in a bad way, and just losing interest without the project ceasing.

It seems clear that in most cases when a project which has a significant amount of use has significant bugs and no maintainer then someone will step in. The cases where no-one takes over the project are often resolved by someone creating a competing project. If no-one takes over an abandoned Free Software project then it’s a strong indication that the project wasn’t particularly important anyway.

I have no doubt that if any bug or missing feature made Linux systems stop booting then someone would fix it quite quickly.

In a more general sense it seems that every time someone takes a position in a project that is of wide interest they are displacing someone else who might have done the job. When you volunteer to do significant work for a project you may be displacing someone who is more skillful than you – this isn’t necessarily a bad thing as there are plenty of other projects to work on, some of which require more skill.

Growing More Programmers

It seems to me that a large part of becoming a great programmer is facing great challenges. People who could be described as “optimistic” or “arrogant” will tend to take on more challenging tasks and therefore learn more. I’m sure that there are a lot of people out there who have the potential to be great programmers apart from not taking on the challenging work, this seems to be an unfortunate waste of talent. Given a large enough population if someone leaves a senior position there should be someone else who can obtain the skills needed to take over. One advantage of this for Free Software development is that even if the best person to take on the challenge isn’t living in the most convenient continent that won’t be an obstacle, while with proprietary software development projects the teams are small and it’s common that no-one else is capable of stepping up to a lead position. Another advantage is that when the lead developer leaves there are generally many candidates to replace them, all of whom can start work and be judged on the work that they do.

I think that the best claims that can be made regarding essential people are not in regard to technical skill alone but to a combination of technical and people skills. Getting a group of programmers to work together is really hard but it’s something that needs to be done for any significant project. Also the larger projects tend not to stand alone, being able to get changes included in other projects requires some skill.

Ben Collins-Sussman and Brian Fitzpatrick gave an insightful talk at Google IO 2008 titled “How to Protect Your Open Source Project From Poisonous People” [2]. The first half of their talk is mostly about people who are misguided or difficult rather than what most people would consider “poisonous” and the second half is more about people who are actively poisonous and need to be removed. They advocate a community based on Politeness, Respect, Trust, and Humility. They describe in detail how the methods they advocate result in the members of their community being more productive, it seems obvious that those principles will lead to better career growth for people within the community and more friendly people wanting to join.

When is being an Asshole OK?

I once worked for a company that apparently had a team consisting solely of assholes. Apparently one asshole got promoted to management and after some internal transfers they ended up with all the assholes in the company on one team. I guess that when someone has negative interactions with everyone they won’t notice the difference if they are put in a team where everyone is difficult. For a corporate environment that lacks a “no jerks” hiring policy this is probably a good way of improving productivity overall. I am not aware of any significant Free Software project that was comprised of mostly jerks – although I have seen a few with dysfunctional environments that encourage the worst behavior from their members.

The smaller Free Software projects have less need for people who can relate to other people. There are many useful Free Software projects which have only one developer, in most cases anyone can take the source code and use it without dealing with the author. But even for a single-developer project an asshole can cause some serious problems. One example I know of concerns a developer who had unclear licenses and started making legal threats in response to a request for a clear license. Another example is of a developer who released code that was designed to not work when one particular user compiled it and redistributed the binaries. Both of them caused some significant amounts of time to be wasted by people who were unfortunate enough to develop systems that interacted with the code in question, and even more time was wasted when some misguided people defended them in the inevitable flame-wars.

Even for a project with only one developer it’s still better for everyone if that developer isn’t an asshole.

One comment I’ve seen related to this issue suggesting that some types of asshole behavior shouldn’t be a problem – an example that was cited is a colleague who cheats on a romantic partner. Jeremy Clyman (who is currently doing a Ph.D in Psychology) has written an interesting article about this for Psychology Today [3]. He reviews the movie “The Dilemma” which deals with someone catching their colleague’s wife cheating. Jeremy analyses the psychological issues involved and how they can (among other things) impact the ability for such people to work. I once worked in an office where two married employees were very open about having an affair and we were all apparently expected to lie on their behalf if necessary, it really affected the quality of the working environment.

Extreme Assholes

There are lots of people involved in Free Software development who are difficult and many who are to some extent assholes. But some of them take being an asshole to the extreme, such as Holocaust deniers (an example which Rusty used). In the comments on his post the Westboro Baptist Church is also mentioned.

It is possible to entirely disagree with someone on a contentious issue such as abortion but still be able to get along with them. But when someone supports a hate-based organisation such as the WBC or supports Nazis in any way then there will be many people who just can’t tolerate them – and no-one should be expected to tolerate such people.

I have seen two instances where Free Software developers advocated pro-Nazi positions (one had an archive of neo-Nazi propaganda and the other claimed that Nazis were not responsible for the Holocaust). Neither of the pro-Nazi programmers was evicted for defending Nazis, but both of them ended up leaving the community in adverse ways – after causing other damage in the mean time.

I don’t think it takes any great ability to predict the future to determine that someone who defends Nazis will eventually end up doing something that requires expulsion and drive away users and developers in the mean-time. There is no possibility that someone can support the Nazi or WBC ideology only when not associated with your project, it will affect all aspects of their life.

When a Holocaust denier is allowed to be a member of a community it also sends out a message that members of the groups which were persecuted by Nazis aren’t particularly welcome in the community.

Helping Minor Assholes

There are a lot of people who don’t have malevolent aims but who unintentionally cause some difficulty (it seems that the truly malicious are a tiny minority). I don’t think that excusing the bad things that they do on the basis of writing good code helps them in the long term. Many of the suggestions that Ben Collins-Sussman and Brian Fitzpatrick make seem likely to help people who don’t want to be assholes and direct them towards positive involvement in the community.

One trend that seems apparent is the non-linear response to certain types of bad behavior. There is often little difference in severity between something that gets almost no attention and something that results in a large and extremely hostile reaction. If someone persists in acting like an asshole for long enough it seems to be inevitable that they will eventually exceed some threshold for what is tolerated and get a very significant negative response. It would be good if things didn’t need to get to that stage.

I think that the most unfortunate aspect of Rusty’s blog post is that most people will probably interpret it as encouragement to write better code as a way of getting a free pass for being an asshole. I know that this isn’t what Rusty intended, but most people on the Internet don’t know Rusty as well as I do.

Conclusion

Ben Collins-Sussman and Brian Fitzpatrick seem to have some of the best ideas for how to deal with these issues when you control a project, but most of us aren’t in that position.

Everyone can advocate better behavior.

Extreme assholes need to be removed quickly and without a great debate about their contributions, freedom of speech, or other issues.

Since considering this issue I’ve been wondering about when one should avoid the lesser assholes and asshole-positive environments. People tend to adapt to their environment, so if you associate with assholes a lot then there’s a good chance you will start to become like them.

Book Company Bankruptcy

In February Borders went bankrupt [1], since then they have been in the slow process of closing down. Now Borders is trying to clear the last of their stock and offering 80% discounts off the marked price.

I bought a book by Stephen Baxter and one by Peter F. Hamilton and those appeared to be the last two books worth buying (IMHO) on the almost empty sci-fi shelves, the books were a little tattered but at 80% discount I’m not complaining.

It’s been almost four years since I last bought books, and I still haven’t read all the free sci-fi stories and watched all the free sci-fi movies from the net which interest me [2]. So I’m not planning to buy many more books unless I see something better than a 50% discount.

Paul Wayper writes about the difficulty of buying ebooks [3]. It’s ironic that some people have claimed that ebooks were part of the cause of Borders financial troubles given that they really aren’t working well, not even for the most dedicated buyers. In related news Kobo (the company that runs the Borders ebook store) has assured customers that they won’t lose the books that they own [4]. There are very few situations in which a company needs to assure customers that they won’t lose property that they have paid for and received due to a corporate bankruptcy.

As further evidence that Digital Restrictions Management (DRM) is a bad thing, Apple have shut down the iFlow Reader [5] so that they can monopolise ebook sales on the iPhone and iPad. This is a good reason to avoid restricted platforms (such as anything from Apple) and encrypted content.

It seems to me that Cory Doctorow’s scheme for giving copies of his books to libraries is a more effective way of donating in return for a free ebook [6] (which is rather similar to the “buy one get one” scheme that they used to run for OLPC). Hopefully Charles Stross will end up doing something similar to make Paul Wayper happy.

Preventing the End of the World

Some crazy people led by Harold Camping who call themselves Christian claimed that the world was going to end yesterday [1]. Harold had previously done this in 1994 so he’s got form for predictions that don’t come true.

The bible says that “the day of the Lord so cometh as a thief in the night” [2], so obviously Jesus can’t return on a day when billboards all around the world are predicting him! Maybe rather than being wrong, Harold has in fact prevented the end of the world by predicting it correctly!

Now if a church like Harold’s can make predictions separated by slightly less than 17 years (let’s round it off to 6000 days) then we only need 6000 such churches scheduled to predict different days to cause the rapture to be indefinitely deferred. If the churches were to predict which week the world would end then we would only need something less than 900 such churches – or maybe 1800 so we have redundancy.

It seems that Harold Camping makes his money by scaring gullible people into selling everything they own and giving the money to him [3]. If we are to achieve the goal of having someone forecast the end of the world every day then it would be good if such people were forced to raise money more often than every 17 years. A good solution to this might be a tax on “end of days” religious investments, money that was given to a religious corporation or sole trader following a scare about the end of the world could be subject to a 100% tax rate if not spent within 1 year. Then Harold would be forced to make a prediction for every year and thus give us greater protection from the end of the world.

</Satire>

But seriously we need to tax religious organisations in the same way as other companies. A religious organisation that gives money to help the needy can use that as a tax deduction, and operating expenses such as paying salaries of staff are also tax deductable. So the serious religious groups would have a tax rate that is fairly close to zero anyway. When a religious leader wants to have 27 Rolls Royces they should be forced to pay tax on all that money, and additionally they should be compelled to publish a statement of company accounts for everyone who gave money – just as corporations are compelled to provide information to stock-holders.

Currently various religious organisations are denouncing Harold and his followers to try and save Christianity from ridicule (here’s one example [4]). It seems to me that if they want to avoid ridicule they should advocate that religious organisations be forced to open their books and pay tax on their profits so that people like Harold can’t use religion as a money-making scam.

Osama bin Laden

After almost 10 years the Americans finally found Osama bin Laden, unfortunately they were unable to take him alive. The Reid Report has a good summary of what happened [1].

Sam Varghese wrote an interesting analysis of the political aspects of this event in Pakistan [2], and he’s a lot less positive about it than most people. Later he wrote about the inconsistencies in the reports, it seems that bin Laden was executed while unarmed [3]. When dealing with someone who is no stranger to suicide attacks and who has stated an intention to never be taken alive it’s not unreasonable to shoot quickly, it’s just a pity that they couldn’t have been honest from the start.

Dr. Pamela Gerloff wrote an insightful article for Psychology Today titled “Why We Should Stop Celebrating Osama Bin Laden’s Death” [4]. She asks the rhetorical questions “What kind of nation and what kind of species do we want to be? Do we want to become a species that honors life? Do we want to become a species that embodies peace?” and suggests that we should mourn the series of tragedies that led up to this situation and to “feel compassion for anyone who, because of their role in the military or government, American or otherwise, has had to play any role in killing another”.

Daniel R. Hawes wrote an insightful article for Psychology Today that’s quite different from Dr. Gerloff’s article [5]. He is quite glad that bin Laden is dead. But he considers how the people who have lost friends and relatives on 9-11 might feel about this and says that “the shouts and celebratory chants that rang around America today seemed to me to carry a certain element of irreverence for those affected most deeply by the September 11 attacks and the entire military operations that followed”.

To represent the people who are partying now there is a post by Jenny Lind Schmitt that is totally unworthy of a site such as Psychology Today [6]. Jenny told her small children about al Quaeda: “They hate you because you are American. Their god is destruction, and they would kill you, a little child, if they had the chance, just because you are American.” She also describes al Quaeda as “lunatics”. Describing all your enemies as “lunatics” is quite common in general conversation, but it’s not suitable for a web site that discusses psychology (where some respect for people with mental health issues is expected). Teaching children to be bigoted against Islam is a bad thing too. It seems to me that a factor in the violence that comes from the middle-east is a result of women just like her telling their children similar things but with country names and religions switched. Finally some capacity for empathy is required for someone to have any insight into psychology, someone who can’t understand such things can’t be competent to discuss psychology.

In stark contrast to Jenny (who bears an irrational hatred in spite of apparently not having any close connection to the events in question) there is a TED talk by Phyllis Rodriguez (who’s son was killed in the 9-11 attacks) and Aicha el-Wafi (who’s son is in jail for being a member of al Quaeda and was accused of being part of the 9-11 plot) [7]. The two women became friends after 9-11 and work together in the cause of peace. From reading some interviews that Google turned up Aicha seems like a very intelligent woman, I think that the TED talk with her section translated from French to English didn’t seem to show this. Perhaps people who speak French and English would get more from the TED talk than I did. Also perhaps if she gave a talk to a French audience and it was subtitled then the result would be better.

Now of course the less intelligent people on the right-wing are trying to spin this to say that Bush deserves credit for getting bin Laden. The Reid Report has a good analysis of the history of the hunt for bin Laden and it doesn’t make Bush look good [8]. Also the Reid Report has an interesting analysis of the operation to get bin Laden and the possibility for peace now that he’s gone [9].

LA Times has an article about the use of the name Geronimo as a code-word for bin Laden [10]. But compared to the use of words such as “crusade” and “paladin” by the US armed forces this hardly rates a mention.

This Event Will be Photographed

sign saying This event will be photographed. Images may be used in Banyule City Council promotional material (posters, website, flyers etc).  If you do not want your image used, please go to Event Control staff and tell them.

The above sign was prominently displayed at a fair that was recently run by the Banyule Council. We have had some discussions in the Linux community about what policies should be used in regard to photography at events, it seems that this is a precedent for being able to opt-out of public photography.

Autism Awareness and the Free Software Community

It’s Autism Awareness Month

April is Autism Awareness month, there are lots of articles about Autism, most of them are at best misleading if not wrong.

The most common error seems to be describing non-verbal Autistic children and then claiming that Autistic people comprise about 1% of the population. The number of non-verbal Autistic children is a lot less than 1% of the population, and at least 1/3 of the people on the Autism Spectrum have good verbal skills – and often talk more than average.

To be precise, they are describing the symptoms of people who would be diagnosed with “Severity 3” according to the American Psychiatric Association’s Diagnostic and Statistical Manual (the DSM) as applying to all people who are on the Autism Spectrum – even though of the currently diagnosed people probably about 1/3 might be classified as Severity 2 and 1/3 as Severity 1. It seems that severity 1 Autism is going to be the replacement for Asperger Syndrome in the new DSM-5.

The problem with misleading information in regard to what comprises Autism is that parents really don’t want to have a child who’s “abnormal” and search for evidence to make their wishes come true. At the extreme there are parents who can convince themselves that a 4yo non-verbal child isn’t on the Autism Spectrum. When people are given the impression that Autism is only about non-verbal children then they will probably think that a 6yo who can give a half-hour lecture on a topic of interest (regardless of whether the audience is interested) isn’t on the Autism Spectrum. There is also a similar issue with undiagnosed adults, I would have probably got assessed at least a decade earlier if I had learned more about Autism instead of believing some of the stories.

In a quick Google search for “Autism Awareness Month” I haven’t found any clear and accurate information on what Autism is or what should be done about it, so it seems to me that the awareness project has largely been a failure.

The Autism page on Wikipedia [1] and the page for Asperger Syndrome [2] are good places to start reading. By merely pointing to those two Wikipedia pages I’ve made this post a lot more useful than every article I’ve seen in the mainstream media.

To find some useful and insightful posts about Autism awareness you have to add some search terms such as neurodiversity, which turns up posts such as a post by Leah Jane about Autism Acceptance [3]. It seems that the Autism Awareness articles that are most useful at informing people will only be found by people who are already aware of some of the issues.

Most People Who Read this are Geeks

The majority of the readers for my blog come from aggregators that cater to fairly geeky people. Geek culture is largely Aspie culture. So I think that most people who read my blog have a good general knowledge of what people who might be diagnosed with Asperger Syndrome or High Functioning Autism are like – they just think that such people are merely a bit more geeky than is typical for the Free Software community.

So it’s not as if all Autistic people are hidden away somewhere because they can’t live independently. Many of us work in the computer industry and in academia. Probably the majority of people who have a university degree related to science or engineering have had a professor who was on the Autism Spectrum, probably most people who have any significant experience in the computer industry have had colleagues who are on the Spectrum.

After having become used to the geek culture I initially found it difficult to believe that I could be on the Autism Spectrum because I knew heaps of people in the Free Software community who are at least as geeky as me but apparently weren’t on the Autism Spectrum. I now think that the majority of people who are as geeky as me would get diagnosed with Asperger Syndrome (or High Functioning Autism under DSM-5) if they were assessed.

Adult Diagnosis

If you are wondering whether you might be on the Autism Spectrum then it’s worth reading the pages linked from the DSM 5 draft process have the full diagnostic criteria (both for DSM-4 and DSM-5) [4]. Also Glenn Rowe has a web page with tests designed by Professor Simon Baron-Cohen [5] and Leif Ekblad has a project to do long-term analysis of changes to personality test scores which starts with a quick Aspie quiz [6] (and also has lots of links to other relevant sites).

If you think that you might be on the Autism Spectrum (which means Asperger Syndrome in the case of most people who read my blog) then I recommend that you get assessed if possible. As assessment by a psychologist isn’t cheap there is the option of self-diagnosis in which case Chaotic Idealism’s post about self-diagnosis is worth reading [7].

What is Valid SE Linux Policy?

Guido Trentalancia started an interesting discussion on the SE Linux policy development list about how to manage the evolution of the policy [1].

The Problem

The SE Linux policy is the set of rules that determine what access is granted. It assigns types to files and domains to processes and has a set of rules that specify all the permitted interactions between processes and files (among many other things). The policy evolves over time to match the requirements of programs (applications and daemons). As a program evolves the things that it does will change and the SE Linux policy will tend to evolve to permit the set of all operations that were requested by all versions because people only complain when things stop working not when excessive privilege is granted. So we need to periodically remove old allow rules from the policy.

One difficulty in this regard is the fact that multiple versions of programs are often available for use at the same time. Debian in particular has a good history of providing separate packages for the old and new versions of programs such as Apache to meet the needs of users who want the tried and tested version and of users who want the newer version with better performance, more features, better documentation, or something else good. There is also a demand to have the same policy work with multiple versions of a distribution without excessive effort. Finally all the distributions that have SE Linux support have different people deciding when the new version of a daemon is ready for inclusion and therefore there is a need to support multiple versions for multiple distributions. So support for older versions of daemons can’t be removed easily.

One of the things I do to make these things a little easier to manage is to put ifdef(`distro_debian', ` before any Debian specific bits of policy. When policy is conditional and only used in Debian I can freely remove it at any future time if Debian works well without it. Also it doesn’t matter if such Debian specific policy allows access that is not needed or desired in other distributions, the only down-side to this is that sometimes other distributions need to repeat work that I did, they determine what access is needed for their configuration and discover that it was already enabled for Debian.

What is Valid Policy?

We went to only have “Valid Policy” (as described by Christopher J. PeBenito), so the challenge is determining what is Valid Policy.

It seems to me that there are three type of access granted by valid policy (it is debatable whether type #3 is valid):

  1. Access that is needed for an application to perform it’s minimal designed task.
  2. Access that is needed for the application to perform all the optional configurations, EG an ftpd running from inetd or as a daemon, and daemons like http server being granted access to ssl keys or not.
  3. Access that is needed to perform all the operations the application requests, but which the application doesn’t require or shouldn’t require if it worked correctly.

Some common operations that aren’t required include opening utmp for write, searching /root, and many other relatively innocuous access attempts which don’t affect the program operation if they are denied. There are also many things such as writing temporary files to /root that don’t seem unusual if the application developer is not considering SE Linux (but which are often considered bad practice anyway). Some of these things (like using /root for stuff that belongs in /var/lib) have the potential to break things (for the daemon or for other system processes) even if you don’t consider SE Linux.

How to deal with those types:

  1. In most cases this can be determined without too much effort. For example a web server needs to listen on port 80 and read files and directories that relate to data. When writing policy I can write a lot of the allow rules without even testing the application because I know from the design what it will do. A large part of the other access is obvious in a “I can’t believe I didn’t realise it would need this” sense.
  2. The main question here is whether we have booleans (settings which can be tuned at run-time by the sysadmin which determine how the policy works) to specify which optional tasks or whether we allow all access for optional configurations by default. The secondary question is when certain unusual corner cases should be not supported at all such that the people who do such unusual corner cases need to use audit2allow to generate local policy to allow their operations.
  3. Sometimes we have to allow things that we really don’t like. Even when we write policy to allow a daemon to do unusual things (such as using /root instead of /var/lib) it’s still a lot better than running without SE Linux. Also SE Linux policy to allow such obviously broken things stands out and is a constant reminder that the daemon needs fixing, this is better than allowing symptoms of broken design to be forgotten.

How to Improve the Situation

We could have comments in the policy source for everything that is in category 3. If the comments had a fixed format so that a recursive grep could find them all then it would allow us to more easily remove the gross things from the policy at a later date.

But it seems to me that the main problem is a lack of people working on this. I am not aware of any people actively testing Debian policy for excessive privilege in regard to such issues.

Australia Needs it’s own Monarch

Tomorrow Prince William will marry Kate Middleton. If we don’t change anything he will probably become the King of Australia at some future time, so I think that now is the time to start discussing the options.

Walter Block makes some interesting points in favor of longer terms for politicians and for having a monarch to get a long-term view of the national interest [1], he’s not the only person to make such points, but he makes them in a better way than most. Of course the problem with this is the long history of kings not doing what’s best for their country – part of the ownership rights to property is the right to destroy it, so a monarch who owns a country therefore can be considered to have the right to cause the wholesale death of their subjects. There are some examples of “President for Life” political leaders demonstrating this at the moment. Even with a monarch who is generally a nice person and who has controls to prevent the worst abuses there is the possibility of Control Fraud.

In the Constitutional Monarchy system that doesn’t happen because a constitutional monarch has little power (no official position of power). But there is still the issue of whether the monarchy is any good.

Charles Stross wrote an interesting post about the apparent human need to have a leadership figure [2]. So getting rid of a monarch tends to result in a president getting the trappings of a king, and if things go wrong (as they often do) then they get absolute power until the next revolution. It seems that having one person who is the head of government and the head of state (as done in the US for example) is a bad idea, they can start to think that it’s all about them. I don’t think that the US is at risk of getting a “president for life” in the near future and I don’t think that Australia will do so if we become a republic, but that doesn’t mean that the republican system works well. I think that the Australian system is working better than the US system and I will generally vote against any changes that make Australia more like the US. As long as the House of Windsor provides monarchs who are as sensible as Queen Elizabeth 2 I will vote in favor of the continued rule of the House of Windsor in preference to an Australian republic (if Prince Charles ever becomes king I may support a republic).

A Way of Improving Things

I want to have an Australian monarch. Someone who will live in Australia for most of the time (as opposed to a distant monarch who visits once a decade if we are lucky). Protocol should dictate that the Prime Minister and cabinet ministers are forced to show ritual respect to the monarch, bowing etc, and no touching. A separation between the person who performs most of the ceremonial functions and the person who actually makes the political decisions should help constrain political egos. When a Prime Minister feels the need to suck up to someone more powerful it would be better to have that person be an Australian monarch than the US president.

Tradition has it that monarchs have to be descended from other monarchs (although there are cases of elected monarchs as happened in Danish history). An election for a monarch probably wouldn’t work well in a modern political environment, so we need someone with royal ancestry. One possibility is to have a spare descendant of our current Queen become the monarch of Australia, I think it’s quite likely that given a choice between remaining a UK prince or princess for the rest of their life and becoming the monarch of Australia there would be someone who would take the latter option and I expect that the Queen would consent to that arrangement if asked (she would have to prefer it to a Republic).

Another possibility is the fact that Mary the Crown Princess of Denmark has more children than the Danish monarchy requires [3]. As she was born in Australia it seems likely that her children will have more interest in Australia than most royals and a skim read of some tabloid magazines indicates that her family is quite popular. I expect that if a Danish prince or princess was invited to become the monarch of Australia then this would be acceptable to the Queen of Denmark.

In an ideal world there would not be such a thing as a monarchy. But as we don’t get to have ideal voters and therefore our politicians are far from ideal it seems to me that the constitutional monarchy is the least bad system of government. Don’t think that I am in favor of a monarchy, I just dislike it less than the other options.

Finally the Queen is the Supreme Governor of the Church of England. I think that it would be good to have a separation between church and state and therefore anyone who is in a leadership position of any religious organisation should be considered unsuitable to be the monarch.