Now I just need a name for this thing

August 31st, 2005

I was arguing (in a friendly way) with some people the other day and it got me thinking about an idea for a new website. Technically it is a kind of "conflict resolution" website, but in practical terms it is a forum for people to argue in without anybody getting angry or repeating themselves and without the argument devolving into what the definition of "is" is.

It occurs to me that this idea has been brewing in my head for some time - back when I was living at home, one of my brothers used to argue with my parents quite often all the time and I used to try to moderate the arguments. It was frustrating to try to get each party to actually listen to what the other was saying. Also, because the refutation of any given statement might involve several other statements (more than one of which might need to be refuted) it can get difficult to keep track and some threads of conversation might get forgotten.

Here is how the site would work. User A posts a controversial statement - say (for argument's sake):

  • Statement 1: "Abortion should be legal"

This statement becomes a page on the site. User B, happening upon this page, is given the option of expressing an opinion on this statement. The options are "I agree", "I disagree" and (the default) "I neither agree nor disagree". On each statement's page, the site would show the proportion of people who have expressed an opinion on the statement and the proportion of those who agree with it.

Suppose user B disagrees with statement 1. They then have the opportunity to make a set of arguments and statements in support their opinion. In this case, such statements might be:

  • Statement 2: "Abortion is murder"
  • Statement 3: "Murder should not be legal"
  • Statement 4: "Statements 2 and 3, when taken together, imply that statement 1 is false"

User A might agree with statements 3 and 4 (and can press buttons on the pages for those statements saying so) but disagree with statement 2. User A's arguments against statement 2 might take the form:

  • Statement 5: "Murder is the deliberate premeditated ending of a human life"
  • Statement 6: "An unborn fetus less than 24 weeks into the term of pregnancy is not a human life"
  • Statement 7: "Statements 5 and 6, when taken together, imply that statement 2 is false"

User A might also make another statement in support of statement 1:

  • Statement 8: "If abortion was illegal, it would create a black market for abortions which could be dangerous for women who are in desperate situations"
  • Statement 9: "Statement 8 implies statement 1"

User B might then agree with statements 5, 7 and 8 but disagree with statements 6 and 9 and give their reasoning. And so on.

There are two sorts of statements here - "monolithic" statements like statements 1, 2, 3, 5, 6 and 8 and "connecting" statements like statements 4, 7 and 9. The site uses connecting statements to create trees of deduction for a particular user - figuring out why people believe what they believe.

The site would keep track of unrefuted statements, track back through the deduction trees and show, for each statement, which side (if any) is "winning" the argument.

In the course of reading statements from other users, a user might change their mind about some statement. Suppose user C agrees with statements 3 and 4 but disagrees with statements 1 and 2, but is then persuaded to change their mind about statement 2. The site uses the trees of deduction to find contradictions in a user's opinions. The user will then be given the opportunity to choose which other statements they want to change their mind on to resolve the conflict. In this case, the site would say "Your opinions on statements 1, 2, 3 and 4 conflict. Which one(s) do you want to change your mind on?"

Another possibility is that two users might disagree on some experimentally verifiable fact. The site would keep track of such statements and, given a disagreement, would be able to propose an experiment which would resolve the disagreement one way or another. Once this experiment has been done, the result (with suitable references) can be posted in another statement and can be used to convince people of things or can be disagreed with (if people believe the experimental method used was flawed).

Yet another possibility is that two users agree to disagree on a particular statement, and make a connecting statement saying ("statement x is neither provable nor disprovable"). That is fine too - the site only records people's opinions on various statements, it does not pretend to be fount of universal knowledge.

Further refinements which could be made:

  • The site could keep track of definitions of particular words, so that users have a common vocabulary to communicate with (e.g. the word "murder" in statement 3 might be a hotlink leading to the page for statement 5). A statement about murder in a different context might link to a different definition.
  • Users could associate themselves with particular groups such as "liberal", "conservative", "libertarian" - this would not change any of the arguments but would allow the site to be able to generate interesting (although possibly obvious) statistics such as "90% of conservatives agree with statement 2". The site could even try to categorize users based on their opinions.

Of course, some users might disagree with the logic that the site uses to deduce things. For example, a user might disagree with "if A implies B and B implies C then A implies C" on finding some of their long-held beliefs in contradiction. Such users would be encouraged to set up their own site with their own system of logic (you can't even begin to have an argument if you don't agree on some basic axioms that you can use to deduce things). Of course, a similar website which uses a form of logic that isn't very useful won't be well-frequented!

Lyrics competition 2005

August 30th, 2005

Eleven extracts of the lyrics from eleven of my favourite songs are under the cut. Your mission (if you choose to accept it) is to identify as many of the songs as you can without using any sort of internet search engine. There will be a prize for whoever gets the most. Closing date is 11:59pm PDT on the 6th of September, 2005. One entry maximum per person. The judge's decision is final. No warranty, express or implied. Do not taunt the happy fun ball.

The lyrics are...
(1)
We may lose and we may win,
But we'll never be here again.

(2)
Unless the moon falls tonight,
Unless continents collide,
Nothing's gonna make me
Break from her side.

(3)
This whole damn world can fall apart.
You'll be OK, follow your heart.
You're in harm's way
I'm right behind -
Now say you're mine.

(4)
You got to cry without weeping,
Talk without speaking,
Scream without raising your voice.

(5)
But the truth is:
I never could stop dreaming,
Anymore than I could
Make them all come true.

(6)
The rocks may melt
And the seas may burn

(7)
I'm soaking through and through.
Then you handed me a towel
And all I see is you.
And even if my house falls down now,
I wouldn't have a clue
Because you're near me.

(8)
You'll never see the end of the road
When you're travelling with me.

(9)
You took off your coat, stood in the rain.
You were always crazy like that.

(10)
If it seems I'm floating in the darkness,
Well I can't believe
That I would keep you from flying.

(11)
You fill up my senses
Like a night in the forest,
Like the mountains in springtime,
Like a walk in the rain.

Spread the word.

I have a buffer

August 29th, 2005

I want to avoid any more long periods of not writing in my blog from now on - in fact I hope to post every day. In order to achieve this I have taken a leaf from the book of Raymond Chen (possibly one of the most famous, influential and respected Microsoft bloggers). Raymond posts at 7am every weekday without fail and can do this so consistently (even when he is on holiday) because he has a backlog of posts which currently reaches into late December. So, while some friends were visiting for tea yesterday, I created a buffer of my own.

Now that I have a backlog, when I think of something to write I can jot down a few notes and gradually refine it into a fully-fledged post during the time it's in the queue, instead of planning it and writing it - I longer have to make it into a fully polished post straight away. Maybe this kind of defies the point of blogging (which is supposed to be a raw, unpolished, up to the minute, stream of consciousness kind of thing) but it fits my perfectionist writing style better. I'm sure I'll still make posts about my day-to-day life from time to time, but for the most part I'll talk here about things which interest me and thoughts I've had.

In other news, things achieved today: hair is cut, car oil is replaced and media PC is (hopefully) fixed. I even went to work for a little bit.

Computer graphics of the future

August 28th, 2005

Back in secondary school I was fascinated by the concept of ray tracing. At first I thought it was the ultimate rendering algorithm - that photographic-quality computer-generated pictures would be possible just as soon as we managed to accurately model the way light reflected or was refracted by the surfaces we wanted to visualize.

Then it occurred to me that maybe shooting rays from the eye back to the light source was not necessarily the best way to go about rendering objects. What if we shot rays from the light sources to the eye instead? The trouble with that approach, I quickly realized, was that most light rays are absorbed by other surfaces before reaching the eye, so you would have to shoot an awful lot of photons to get anything approximating an image.

The next step in this mental process was to imagine combining forward and reverse ray tracing - shoot rays from the light source and bounce them around a bit to figure out where the light ended up in the scene, and then shoot rays from the eye into the scene (using the normal ray-tracing algorithm) to actually render the image, using the first set of rays to figure out which parts were lit up, which were in shadow and so on. Unfortunately I never got around to implementing this idea.

Turns out that someone beat me to it anyway - Henrik Wann Jensen had already invented photon mapping some years before and rendered some beautiful images of Cornell boxes, caustics and architectural models. All the good ideas have already been thought of...

If computers continue to get more powerful at the rate they have been, in 10-20 years it should be possible to render photon mapped images and model the subsurface scattering needed to render translucent objects (like people) all in real time. By then we will all have high dynamic range displays (I saw one of the BrightSide displays at an MS research techfest earlier this year - it was awesome) and will have sophisticated procedural geometry algorithms for rendering all sorts of complex natural objects. These technologies (especially combined) will be able to generate some truly awesome images, increasingly difficult to distinguish from real life.

The future of computer graphics looks good!

Wedding-related

August 27th, 2005

After weeks of alternating between procrastinating about wedding things and worrying that there isn't enough time to do all the wedding things I have to do, I finally set to it and took care of all the things that needed taking care of. There is still lots to do, but various wheels have been set in motion and for the first time in a very long time I find myself with nothing that I urgently have to do, and the possibility that this wedding might actually happen!

So now I can try to resuscitate my long-neglected blog. I thought I'd start off by linking to this, a fascinating new input device new input device that Steve Gibson (no relation to my fiancee) linked to on a newsgroup post a while back. The second movie is particularly cool-looking. I'm looking forward to the day I can throw away my mice!

Questionable Content

July 16th, 2005

I've spent the last couple of days reading through the archives of Questionable Content after my friend Christopher linked to one of the strips. I do enjoy a good webcomic, and that is one of my new favourites.

This panel did make me wonder, though, if the author has been spying on Gennie and me:

Now I'm off to read the new Harry Potter book.

Maths and music

July 9th, 2005

I love reading John Baez's column This week's finds in mathematical physics even though I usually only understand a tiny bit of it. This week he's talking about special relativity in 3 dimensions over the integers mod 7 - fascinating stuff, and a bizarre combination of physics and pure mathematics.

This morning I've been listening to this after having enjoyed listening to the single ("Emily") on the radio all week. I kept just missing the name of the artist because they would annouce it right before playing the song instead of right afterwards, but finally figured out what it was by googling some of the lyrics. Pretty good.

Rare topical post

July 7th, 2005

It's kind of surreal listening to the BBC radio stream from 10 hours ago, when the first reports of "an incident" in the underground were coming in, and knowing how the story is going to unfold. The first reports mention stopped trains and power surges, and only faint rumours of an explosion - there is no panic about multiple bombs and terrorist attacks. Although I'm sure that the possibility was on a lot of peoples' minds, it's nice that the reporting is not of the "shock, horror" angle and is keeping calm until more information is available. I imagine BBC reporters must have to go through some training to avoid rushing on air and saying "Oh my God the sky is falling" and to break bad news calmly.

I can't imagine how horrible it must have been to be one of those trains when the bombs went off. It sounds selfish, but I really hope that never happens to me. I know it's unlikely (terrorist attack is a rather unusual cause of death) but one can't help but imagine themselves in that situation, especially when the situation is so close to home. While it is a terrible tragedy, it is lucky that more people weren't killed - those trains are really packed at that time of a weekday morning.

No screws

June 23rd, 2005

Imagine what the world would be like if the screw thread hadn't been invented. (That's just an example - it could just as well be something else that is similarly obvious-with-hindsight and is in everyday use, but it was screwing in wall anchors the other day that made me think of it.) The screw thread isn't really used much in nature (as far as I know) apart from on a very small scale so it is kind of plausible that somewhere out there there could be an alien species at a similar level of technology to us who just never thought of the concept of screw threads. It could be that (even despite having invented all sorts of other things) their minds are built in just such a way that the concept would never occur to them without having seen it. Maybe that when faced with the problem of converting linear motion into rotary motion, they use some other device (like the rack and pinion) or just somehow evade the problem altogether (by using nails instead, for example).

Now let's turn this hypothetical thought on its head and wonder if there could be some similarly simple and useful concept that we have just never thought of, that some alien species uses every day for all sorts of purposes. Some device that would easily solve all sorts of problems that we solve in much more complicated ways, just because nobody ever thought of the easy way of doing it. I imagine that when we do eventually make contact with intelligent alien species, that there will be all sorts of such "oh why didn't we think of that" moments (possibly on both sides, especially if it's a mutual first-contact situation). Probabably nothing as simple as the screw thread, but potentially all sorts of slightly more obscure things. Just one reason why the SETI project could pay big dividends if it is ever successful.

Things seen on the side of the road

June 22nd, 2005

I was on the bus from Redmond to Seattle last week (thus redeeming myself environmentally, at least for a day) and it was going very slowly because people don't know how to merge out of the bus lanes. I found myself staring out of the window at the hard shoulder in the sort of way that you can't do when you're driving (even very slowly). I'm quite amazed at the collection of junk that can be seen there. Amongst the things I noticed were:
A bolt (which looked like the sort of thing that I would be extremely worried about if it were to fall off of my car at speed)
Two pillows
Several (very tatty looking) books
A shoe
Cardboard boxes
A small plastic alligator

I can't help wondering who the owner of the plastic alligator was and how upset he (or indeed she) was about losing the alligator. Maybe a rival sibling tormented the owner by throwing it out. Maybe the kid just didn't like the toy and decided to do a scientific experiment to see what happened to plastic alligators that get thrown out of the window of a car speeding down the freeway.

I spent most of today writing a long email explaining the workings of a significant chunk of the code I've been working on for the past 2.5 years or so, so that my successor can (hopefully) understand it. Kind of interesting to reflect back on a large project like that.

Yesterday I fixed two things: a mouse which had been dropped one too many times and had some loose connections and the knife magnet which had fallen off of the wall due to my not knowing much about DIY. I always find fixing things very satisfying when the job is well done.