US election news you may not have heard about

Listening to the US presidential candidates talking about who is more supportive of coal, or who will be tougher on foreign affairs, it can be easy to believe nothing will change, or that voting makes little difference. But there were real choices on offer, and 2012 saw many firsts. Here’s my summary of some of the more interesting results you may not have heard about.

It’s not all about the presidential elections, and the president is in many ways quite constrained. Hopefully many of these positive changes in the lower levels of US government will bring positive changes throughout the whole system,

Lucid Dreaming Chi Kung

I haven’t been lucid dreaming for a while now, at least a few months. In the past, I’ve found that I could become lucid quite regularly if I followed a routine of going to sleep relatively early (before 11pm), then waking up around 4am, then again at 5.30am and finally 7am.

This routine worked very well for me, and I could become lucid quite often while following it.

However, for all sorts of interesting reasons, I almost never follow that routine, and almost never go to bed before at least 2am.

This past week has been a good example. After a staff member family tragedy, I ended up I on the night shift packing boxes at work. I got to bed about 8am. My Coursera course routine has been to do nothing until the just before the deadline day (about 5.30am Monday morning). As the course has progressed, the readings have taken me longer, so I’ve worked right until the deadline the past few Sundays.

And then, there’s the odd stay up till seven just because I’m in the zone, full of energy and getting lots done.

Going to bed before 11 is like most people considering going to bed at 5pm – rather unlikely to happen.

Usually, after seeing too many sunrises in a row, I tend to crash, and have an early night, before slowly drifting later and later again. But now, for the first time since the mindfulness of dream and sleep retreat about 18 months ago, I’ve made three days in a row of going to sleep early, around midnight or before, and getting lots of sleep. The first two days I had extremely vivid, almost but not-quite lucid dreams. And today, the third day, I became lucid again.

The main inspiration for my lucidity has been my son. He began by telling me about his lucid dreams, which was my first realisation that such a thing existed. Quite often, he’s been the trigger in my dreams as well. Playing with him, chasing him down corridors, his form changing around every turn. Or simply when he’s been staying with me. So it’s fitting that yesterday was his birthday, and after a fun but exhausting day with him, I had another early night.

In the dream, I was at my parents house (another common dream motif). I tried to switch on a light, and it didn’t work. As a force of habit, I did a reality check, the easiest being a hand check. I obviously didn’t do a very good hand check because I didn’t realise I was dreaming, but I decided to leap into the air and start flying anyway, and to my complete shock I took off.

So it seems I have a new, more reliable, reality check – flying. Expect to see me hopping down the street from now on, trying to take off.

In almost all of my previous lucid dreams, I have known I was dreaming without doing a reality check. Either something strange has happened, or I’ve simply got the sense that it was a dream. Only once before have I done a reality check and been stunned to realise I was dreaming. Now I realise that perhaps my hand checks haven’t been working, although I don’t recall any failed hand checks after working up. My hand changes have always been subtle, a wrinkle hear, a marking there, rather than the dramatic missing finger or branch growing out some people report.

In this lucid dream I finally managed to do so tai chi and chi kung. After the inevitable blissful soaring through the sky, ended by breaking through a thin cloud, a wish I realise I had while driving in the day, I decided to meditate. Before really getting started, I decide to do tai chi instead.

This has never worked before. Either I haven’t found a spot in my dream where I could do tai chi – my first attempt saw me going on a mission to find a field across a strange city, each field being either covered in rocks or steeply sloped, and when I finally found a suitable field, waking up immediately.

I have only managed once to even attempt tai chi, but it was hopeless, with me staggering and falling about, utterly unbalanced.

Once again, my mind put obstacles in my way. There is a field near my parents house, and I ran there. My “usual spot” on the field was taken by a parked car. I have no usual spot, I’ve never done tai chi on that field. There was dog shit on the field, broken glass. But finally I found a spot, and could so start practising. I started with an eight section brocade, and as I bent my knees and lowered my body, I found myself in water, with only my mouth and hands above water. Somehow this wasn’t much of an obstacle, and I managed to carry on. When I got to the exercise of rotating the waist as far left and right as possible, I found I could keep going indefinitely, and I seemed to stop only to keep the exercise realistic, as I thought that turning around five times is not how the exercise is supposed to be done.

There were more obstacles, a child playing and falling into the water next to me, but I managed a reasonable session before waking up.

I’ve just tried the routine now, and realised that I’d mixed up two routines, the eight section brocade and the seven stars of dipper.

Sadly, I can’t twist around indefinitely either.

Sustainable American poetic Greek and Roman mythological cryptography with Coursera

I’m finally getting around to trying a course with Coursera.

Coursera was founded by a couple of Computer Science professors from Stanford University, and its mission is to make “the best education in the world freely available to any person who seeks it”.

It launched in April this year, and has already had over a million students. Their course offering has expanded since launch, and browsing through their offerings is like being a kid in a candy store, or in my case, a bookshop. After missing out on Fantasy and Science Fiction: The Human Mind, Our Modern World, I’ve signed up for one starting tomorrow.

Of the four courses starting tomorrow; Cryptography, Gamification, Introduction to Sustainability and Web Intelligence and Big Data, I could happily do any of them. To further complicate the selection, coming up in September are jewels such as A History of the World Since 1300, Neural Networks for Machine Learning, Modern and Conteporary American Poetry and Greek and Roman Mythology.

I’ve spent too much time studying formally (majoring in IT and English & Philosophy), signed up for Honours in English (I pulled out after realising my fulltime job at the time didn’t leave much time for studying), and for about ten years used to peruse various university courses with an eye to signing up for more. Part of my reluctance was the idea of year/s spent on only one topic, and Coursera’s bite-sized modules, which seem to mostly be 4-12 weeks, fits perfectly.

It’s a revolution in education, especially for postgraduates, and I remember a friend who signed up for one having to choose between a University of Cape Town class for many thousands of rands, and a similar Coursera one taught by Stanford professors for free. I’m sure the UCT course was very good, but it really wasn’t much of a choice.

I’ve managed to resist signing up for multiple courses at once, and will be starting with neo-malthusians, climate change, peak oil and genetically-modified foods – in other words the Sustainability course taught by the University of Illinois’ Jonathan Tomkin.

Coming out of retirement

I started to play chess in 1993 vaguely seriously. The trigger was writing a chess program and finding that it could thrash me. I thought this was ridiculous, so decided to learn to play properly.

I played for about five or six years, but then ‘retired’, and, besides the odd game on, haven’t played much since.

Perhaps thanks to teaching my son and the fear that he could soon beat me, I’ve recently been getting back into chess and today am coming out of retirement to play in the DSK Open.

It’s been quite fun to prepare. When I played before, my tactical skill was much weaker than my endgame skill, so I tended to play carefully, steer for an endgame, and try grind the opponent down.

My preparation has mostly consisted of time on Chess Tempo, a tactics site, and a quick read through the odd opening line. My tactical skill has possibly even improved, but my endgame is very rusty, and much weaker than it used to be. Should be fun!

Too old, too young

It’s been interesting to observe since turning 40 the power of the words “too old” in my mind. Too old, too young, age is just a concept, but still has such power in our society. It’s one thing to be consciously aware of it, but another to be aware, and to be able to change, the unconscious effects.

Which is why I love to see videos such as these, of people of extreme ages doing wonderful things.

Let’s start with the old – 92 year old (she’s 93 now and still going strong) yoga master Tao Porchon-Lynch.

Then a 22-month year old climbing like a champ.

Finally, an 86-year old gymnast:

Related posts:

April 2012 African language Wikipedia update

It’s been about five months since I last looked in detail at the South African language Wikipedias, and there’s been significant progress in three of the languages.

South African Language Wikipedias

Language 1/10/2007 30/5/2010 19/11/2011 13/4/2012
Afrikaans 8374 15260 20042 22115
Northern Sotho** 0 540* 557 566
Tswana 40 103 240 490
Zulu 107 195 256 483
Swati 56 173 359 361
Tsonga 10 174 192 193
Venda 43 162 193 190
Sotho 43 69 132 145
Xhosa 66 115 125 136

Afrikaans remains by far the largest official South African language Wikipedia and continues to develop. It’s a healthy, thriving project with many good articles. Northern Sotho has been fairly stagnant since becoming an official project, but the good news comes in the next two on the list. Tswana has more than doubled in size to pass both Swati and Zulu, the primary reason being the Google Setswana challenge. Google offered prizes for participants, including a trip to attend the Wikimedia Foundation’s annual conference in Washington DC, USA, as well as netbooks, android phones and so on. It’s encouraging that although the contest is now over, there is still fairly heavy development going on, and hopefully this will be sustained.

Zulu has also seen good progress, adding 227 articles since the last update. There’s no Google to thank this time – the progress has mostly been due to a single highly active editor, a native English speaker and Zulu, French and Afrikaans translator, testament to the difference just one dedicated contributor can make.

The other languages have seen almost no progress. Particularly disappointing has been Xhosa. I know of at least three Xhosa Wikipedia workshops that have taken place, at the University of Cape Town, the University of the Western Cape and with the provincial government, and yet it still remains as the smallest of the official South African language Wikipedias.

Moving on to Africa in general, which I haven’t looked at in detail for about a year, there’s been much positive progress.

African Language Wikipedias

Language 1/1/2007 30/5/2010 11/2/2011 13/4/2012
Malagasy   2450 3806 36767
Yoruba 517 8858 12174 29894
Swahili 2980 17998 21244 23481
Afrikaans 6149 15259 17002 22115
Amharic 742 3810 6738 11572
Egyptian Arabic       8433
Somali     1639 2354
Lingala 292 1255 1394 1816
Kinyarwanda     1501 1807
Wolof   1068 1096 1116

Swahili, which has been the largest African language Wikipedia for so long, has been dramatically surpassed in size by both Malagasy and Yoruba.

The Malagasy Wikipedia, with its unique characteristics, is beloved by linguists and I believe many of the contributors are non-native speakers. Most of the contributors work in Malagasy or French, and I haven’t been able to understand the reasons for its particularly rapid rise.

Yoruba too has seen a dramatic increase. but surprisingly Swahili, which seemed to be in good shape a few months ago, has slowed noticeably, and even Afrikaans is starting to catch up in size.

I’d previously overlooked the Egyptian Arabic Wikipedia, and have added it to the comparison. It was launched in 2008 (being announced at the Alexandra Wikimania conference), so taking into account its late start, as well as some initial opposition to its existence as a separate project to standard Arabic, it’s growing well, at the third fastest rate behind Malagasy and Yoruba.

Progress in the other languages is steady, and it’s great to see the development of these projects towards an actual usable resource.

Related articles

Lessons from a server upgrade

Recently, the server hosting the Ethical Co-op website died, and needed to be replaced. It launched in 2005, running on a standard LAMP system.

Since it was written in the days of PHP4, and was working well, I’d never upgraded it to PHP5. Everything was running smoothly on PHP4, but this had reached end of life, and running PHP4 on the server was proving more and more of an obstacle when trying to install other, newer code.

So, when the server died late on Saturday night, and with the weekend usually being a very quiet time, I decided to use the opportunity to finally move to PHP5.

The server has needed to be replaced or reinstalled perhaps three times since 2005. I’m not a natural system administrator – I have a programming and database background, and have never done system administration professionally, so the first few times were a bit shaky. However, I’ve improved as I’ve gone along, and the installation went very smoothly this time.

I have everything carefully documented. There are a lot of tweaks to the vanilla system, various extra PEAR libraries installed, and all are carefully documented, so setting up from scratch is a breeze.

I upgraded the code from PHP4 to PHP5 which (considering my coding style carefully honed from its roots in ZX-81 BASIC) was trivial. Everything was back in good time by the end of the weekend, my tests reported no problems, and I went to bed.

Monday the problem reports started.

It didn’t take long to identify the problem. POST variables were being chopped off. Consistently nothing more than around product 200 was being returned. I’d never encountered a problem like this before, but after Googling I identified a culprit. Suhosin, the Hardened PHP project, has a post.max_vars setting which defaults to 200. A quick look at my config and I see This server is protected with the Suhosin Patch.

A perfect fit. This must be the cause of the problem!

Cursing the paranoid security, I spent much of the day investigating Suhosin. A Twitter search returned “Fuck Suhosin!” as the first result, making me more sure I’d identified the culprit.

None of the Suhosin settings were appearing in my phpinfo() output, which apparently is normal behaviour for the defaults, and explicitly setting them in php.ini, which seemed to solve the problem for most people out there, had no effect.

The server by default had the Suhosin patch installed, and in my attempts to get come control over the configuration I installed the Extension, which finally gave me control.

At this point I realised my first mistake. There may have been 200 products, but each product has five variables, so the cutoff was actually happening at 1000, not at 200.

And so I made my second mistake. If is by default set to 200, it couldn’t be the cause of the problem. Still, there was no way to know that the setting was 200 on my system, and in the default configuration file that appeared after I installed the extension, this line appeared

; = 1000

Commented out, but indicative that the default was 1000, not 200 as the documentation indicated. By now I really was convinced that Suhosin was the spawn of all evil.

However, no matter what changes I made to these and other possible Suhosin settings, nothing made a difference.

Eventually I had to accept it wasn’t Suhosin, and I had wasted most of the day. It had been unclear to me from Suhosin’s documentation exactly the difference between the patch and extension was, and I had also been misled by some posts claiming that the patch was responsible for the POST var limit, when it appears after all it isn’t, and this is only implemented if the extension is installed.

By that stage there was such a mess from the day’s errors and the downtime that I was ready to cancel the week’s deliveries (the Ethical Co-op delivers once a week, with most of the orders arriving on Monday and Tuesday).

Bernhard of Meglakor had been helping me, and was much quicker than me to realise Suhosin was not the cause. I was convinced it was the cause; after all, it had seemed a perfect match, and it was the only thing I could find that limited POST variables.

But it wasn’t.

Earlier this year, PHP 5.3.9 was released. One of the minor changes made during that release was the following:

Added max_input_vars directive to prevent attacks based on hash collisions.

There it was! PHP now limits any input variables to 1000 by default! After all my worrying about upgrading the code, it was a minor configuration change in a minor version that caused all the problems.

A classic case of being led astray by mis-identifying the problem, and then being less open to alternatives because of the investment in the identification!

A simple change, and everything was working again.

Thanks Bernhard for clearing Suhosin’s name, and then identifying max_input_vars.

Related Posts:

SOPA and moving from GoDaddy

Late last year I moved most of my domains that I was hosting with GoDaddy to a new registrar, and the rest will follow closer to expiry.

For those who don’t know, in October, Lamar Smith, a US congressman, introduced a bill called the Stop Online Piracy Act (SOPA). The bill is a hideous monstrosity allowing the US government to, in essence, break the internet. While the bill only has jurisdiction in the US, and its consequences will be severe there, so much of the internet as we know it is based in the US, and this puts things at risk worldwide. I’m not going to discuss more about SOPA now, but here are some SOPA resources if you want to read more.

SOPA Resources:

So SOPA’s a bad idea, and almost everyone in the online world has come out strongly against it. However, the world’s largest domain registrar, GoDaddy, initially released a statement strongly supportive of the bill. GoDaddy have been in the news before. In early 2011 their CEO, Bob Parsons, videod himself shooting an elephant in Zimbabwe, leading to a boycott led by PETA.

But with their support of SOPA, they very quickly ran into much more widespread opposition. It began with a thread on popular news site reddit (which could not host in the US if SOPA was passed), and was given further publicity when Jimmy Wales announced that Wikipedia would be moving its domains.

There are many companies that support SOPA, but the main reason GoDaddy have been successfully targeted is that it is so easy to move domains. After a domain is registered, you normally forget about it, and it simply generates ongoing income for the registrar each year. However, moving is painless, a once-off process, you can again forget about it, safe in the knowledge that your money won’t be supporting GoDaddy each year.

Since I started moving, late last year, GoDaddy backtracked, and SOPA has faced increasing opposition and almost certainly won’t be passed in its current form, as even Barack Obama has come out against it.

Who did I choose as an alternative? There are a large number of top-level registrars accredited by ICANN, the non-profit group that effectively administers the internet (and which took over from the US government in 1998). As far as I know, the only South African company accredited (for .biz, .com, .net and .org only) is Internet Solutions – everyone else will be a reseller.

Moving gave me an opportunity to decide who I wished to support, and I eventually settled on They’re a well-respected registrar based in France, and in 2010 they were the 27th largest worldwide. They will also donate $1 from every transfer to the Electronic Frontier Foundation, and besides opportunistically taking advantage of the publicity, they consistently provide real support to a number of other worthy institutions, such as Creative Commons, Debian, the WWF and Spamhaus.

Investigating prices, their annual fee of $15 was $3 more than GoDaddy, but after deciding to move I was surprised to see they were only charging $8. I had the option to pay in Euros, but when I chose this, the rate went up to 9 Euro, or about $11.65. I went back to pay in dollars!

I wrote most of this post last year, and it appears since that the boycott and widespread opposition have been successful. Even the US president has now come out against SOPA in its current form. Still, removing some of the more insidious clauses doesn’t make for a good bill, but the spotlight is clearly shining, it’ll be difficult to sneak anything through, and companies will be resistant to publicly supporting something like this after the GoDaddy debacle.

Although there are always some that are immune to any criticism