Friday, 27 September 2013

The Forge Of Disappointment

I think New Zealanders have reacted to Oracle's stunning victory in the America's Cup very well. There's very little opprobium or anger, but instead a lot of praise for Team New Zealand and respect for Oracle. A lot of people are bitterly disappointed --- hopes were, rightfully, very high when TNZ was 8-1 up --- but I don't sense the doom-and-gloom that descends whenever the All Blacks fail to win the Rugby World Cup. This is probably because TNZ was, in the long run, always the underdog, whereas the All Blacks never are.

Like Rugby World Cups, this event has been unifying for large swathes of New Zealanders. It's gratifying to know that many of your friends and neighbours, and people around you that you don't even know, are sharing this intense experience. Shared enthusiasm and disappointment, joy and despair, all contribute to building our feelings of community. This is old news: historians traditionally see World War I as a key catalyst in the development of New Zealanders' national identity, especially the ANZAC deployment at Gallipolli, which was a horrible disaster militarily.

Being much more cerebral than sportsmanly, I used to see professional sports as ridiculous and wasteful, but now I think I see one way they can be genuinely valuable. We need events, even artificial ones, to rally around. My Canadian pastor observes that Quebecois separatism subsides dramatically while the Canadian hockey team is playing during the Winter Olympics. This sort of thing forges people into nations.

Sunday, 22 September 2013

A Tip For The Surivial Of Humanity

Let's assume that at some point in the future we'll be able to build computer systems capable of behaving just like a human brain. There are three obvious ways to get there. One way is to build a system that emulates an actual human brain, bootstrapped by copying the brain of an existing person. Another way is to emulate a human brain, but bootstrap via a learning process as children do. The third way is to build a system that doesn't work like a human brain but reimplements the functionality in whatever way seems most suitable to the hardware we have built. I believe that copying the brain of an existing person is by far the best path; the other options are much greater threats to the survival of humanity, and indeed intelligent life.

Fully reimplemented intelligence would be very hard to predict and control. Reliably engineering for virtue will be extremely difficult. In its early stages the system would likely be narrowly focused on specific goals (perhaps military or corporate), and there is great potential for catastrophic bugs, such as runaway goal seeking that accidentally devastates or exterminates organic humanity. Even if you think a complete transition from organic to machine intelligence would be a good thing, we could easily by accident end up at a dead end for intelligent life, for example if humans die off before all aspects of machine self-reproduction are automated.

On the other hand, if we copy an existing brain, we will know roughly what we're going to get: a disembodied human mind in a machine. We can even choose particularly virtuous people to copy. The process will no doubt be lossy, but people with severe disabilities cope with sensory and motor deprivation without going mad, and our emulated minds probably will too. We can be confident that a benevolent, thoughtful person who cares for the welfare of humanity will still do so after transcription.

The emulation-from-infancy approach falls somewhere in between in terms of risk. The result would probably be more like a human than fully reimplemented intelligence, but it's hard to predict what kind of person you would get, partly because they would grow up in an environment very unlike what we would consider a favourable environment for children.

I'm optimistic that an emulation approach is more likely to succeed technically than a full reimplementation approach at producing a self-aware general-purpose intelligence. Futurists tend to imagine that mere aggregation of computing power will bring on intelligence, but I think they're quite wrong. A great truth of computer science is that hardware scales but software remains hard. Porting existing software is expedient. However, copying an adult brain may be a lot harder than bootstrapping from infancy.

I'm not sure that any of these things will happen in my lifetime, or ever. There is great potential for God or man to frustrate our technological advancement.

Thursday, 5 September 2013

Unexpected Visitors

Today I was working at home when two Korean women knocked on my door. They were from a "Bible study group" and wanted to "conduct a survey". They were obviously evangelists so, not wanting to waste their time, I said I was a Christian already. That obviously was covered in their script, since they immediately asked if I knew about "God the Mother", and when I said no, whipped out a Bible, turned to Genesis 1:26-27 and explained that since God created men and women in his image and uses the plural personal pronoun, he must therefore have male and female sides. I explained why "the image of God" clearly cannot mean God is like us in every way, and the plural "us" in verse 26 is a royal plural, and then we went on a merry tour of Bible verses cherry-picked to support various unusual doctrines. They seemed to focus a lot on verses in Revelation mentioning the bride of Christ (something to do with "God the Mother" I suppose), and on verses to do with "living water". (They were interested in the source of it; no idea where they were going with that ... not the filioque controversy at least :-).). Suffice it to say that I did not agree with their interpretations.

One woman was somewhat older than the other, and obviously mentoring the younger, since the younger took the lead initially but when she started to flounder the older woman took over. When she finally tired of me she accused me of following my own ideas and not the text, and took her leave. Before they left I managed to hand them a card for ACPC and invite them to my Bible study at 7:30pm tonight. I genuinely hope they'll show up, though I'll be surprised if they do. (Then again, wouldn't they want the opportunity to convert more than one person at a time?) Funnily enough the only thing that really knocked the older woman off her stride was when she discovered I go to a Chinese church.

A quick search suggests that they belong to the World Mission Society Church of God, a pseudo-Messianic Korea-based, Christian-based cult, er, minority religious group.

In the excitement, there are things I wish I'd done differently:

  • Known something about their organization during the conversation
  • Pulled out my study Bible to get more background on some of the verses they were using
  • Had at my mental fingertips verse references for key concepts such as the church as the bride of Christ
  • Made a better case for them to visit our Bible study or our church to explain their ideas more fully
  • Gotten some contact details from them

I have immense respect for these women. They probably sincerely believe that their door-to-door evangelism is helping people reach salvation, and are willing to overcome fear, shame, a language barrier and demands on their time in pursuit of that. I think they're wrong about some critical issues, but they get more right about Jesus than the average person who rejects him completely. I'm impressed.

Tuesday, 3 September 2013

Debugging Transient Rendering Issues With GNOME Shell Screencasts

Debugging transient issues like flickering can be a real pain because it's difficult to see exactly what's happening when it only affects a few rendered frames. Enabling paint flashing in Firefox is useful for detecting unnecessary repainting but again it can be difficult to use when there's a series of consecutive interesting frames --- e.g., when you're trying to figure out why something has repainted many times in a row instead of just once. But now I have found an excellent solution to these problems!

Andrew Overholt recently pointed out to me GNOME Shell's built-in screencasting ability --- just press Shift-Ctrl-Alt-R to start recording, and a WebM file is dumped in ~/Videos. As far as I can tell, this file contains exactly one video frame per frame rendered by the desktop compositor, which is perfect for analyzing rendering issues. (Video frame timestamps are correct, so playing the file normally works as expected.) Loading it up in gmplayer, you can press '.' to advance one frame at a time. The video quality is high, and overall it's absolutely brilliant for frame-by-frame analysis of what was rendered.

Sunday, 1 September 2013

Servant Leadership

Every so often the principle of "servant leadership" is mentioned in discussions about management. Sometimes it's portrayed as something new and radical. It's definitely radical, but not at all new. It goes back as least as far as the New Testament, in which Jesus spells out the necessity of servant leadership among his followers. For example:

Matthew 20:

"Jesus called them together and said, 'You know that the rulers of the Gentiles lord it over them, and their high officials exercise authority over them. Not so with you. Instead, whoever wants to become great among you must be your servant, and whoever wants to be first must be your slave — just as the Son of Man did not come to be served, but to serve, and to give his life as a ransom for many.'"

Luke 22:

"A dispute also arose among them as to which of them was considered to be greatest. Jesus said to them, 'The kings of the Gentiles lord it over them; and those who exercise authority over them call themselves Benefactors. But you are not to be like that. Instead, the greatest among you should be like the youngest, and the one who rules like the one who serves. For who is greater, the one who is at the table or the one who serves? Is it not the one who is at the table? But I am among you as one who serves.'"

John 13:

"When he had finished washing their feet, he put on his clothes and returned to his place. 'Do you understand what I have done for you?' he asked them. 'You call me "Teacher" and "Lord," and rightly so, for that is what I am. Now that I, your Lord and Teacher, have washed your feet, you also should wash one another’s feet. I have set you an example that you should do as I have done for you.'" (This is of course the origin of the tradition of the Pope washing people's feet.)

It's not surprising people forget this, since these instructions have been followed poorly over the centuries. In general it seems very difficult to sustain servant leadership as organizations (of all kinds) grow vertically; unity across ranks diminishes, and greed, vanity and ambition take over. It's less of a problem when leaders are driven by shared belief in a mission more than desire for personal status and gain --- as tends to be the case at Mozilla, and the churches I've known. It has also helped that the churches I've attended have all been fairly small, with loose ties (if any) to higher levels of hierarchy.