Friday, April 22, 2005

New PhD Idea

Empirical Modelling and Language: Meaning Without Language



Computer Science and Morality



1. Short history/intro of morality

2. Morality and robotics

3. Morality and software development

4. The discipline of computer science

5.



Monday, April 18, 2005

Going against the grain

I was attending a conference last week where I heard a couple of talks on the topic of 'social norms'. I have heard about the nature of social norms and the speakers have attempted to argue about why we follow social norms. What I think may be more interesting, which has not been discussed, is why some people like to go against social norms. There must be a benefit in not complying to social norms because the norms are the standard way of acting, so there must be a conscious effort to avoid the [internalised] norms. What is this benefit? If there is no benefit then is the person not acting rationally?



To follow social norms is to become a member of a society. Therefore to not follow is to move away from society — either to distance oneself from the society or in order to change the society. It is clear that some groups want to change social norms or change society, for example: women rightfully standing up against society to gain the right to vote.



However, there is another group that do not follow social norms because there is another benefit other than changing society. This is the personal benefit of standing out in the society — being unique. At the current time, society somehow respects people who 'go against the grain' and we see them as powerful. It seems to be a great time to be different.



On Voices

"We are how we act." People get judged on appearances, body language, background and occupation all the time. As we all know, it can be quite foolish to judge people on the surface like this, but we all do it. I have a real weakness for voices! When I begin listening to a speaker, I very quickly make judgements about what they have to say. Sometimes I listen and decide very quickly that this person has nothing interesting to say because their voice just doesn't inspire me to listen. Other times I might hear this amazing female voice and I think she is beautiful before I have even set eyes on her. It is a terrible problem! Can anyone sympathise???

Thursday, April 7, 2005

The ego–less programmer

"The competent programmer is fully aware of the strictly limited size of his own

skull; therefore he approaches the programming task in full humility, and among

other things he avoids clever tricks like the plague."

— Edsger Dijkstra

Wednesday, April 6, 2005

Dependencies vs. Constraints

[This topic came up yesterday at Chris Roe's seminar on dependency. It was particularly well discussed, so I am repeating some of the points that I thought were relevant.]



1. Dependencies are not the same as constraints.

2. Both dependencies and constraints can be thought of as relationships between variables (or observables).

3. Dependencies are relationships that have a direction. If we consider the example of a = b + c then changes to b or c will update a, but not vice-versa. There is no way to change a and effect b or c.

4. Constraints are often multi-directional. If we consider a constraint a = b, then changing b will cause a change to a, and changing a will cause a change to b. The relationship is always maintained.

5. A dependency maintainer is a machine that simply maintains the dependencies at all times. At no point is there a state (that is visible to the user) where a can be any value other than b + c. It is a requirement of dependencies that they are maintained indivisibly.

6. A constraint maintainer is more complicated than a dependency maintainer. Firstly it requires more information about updating constraints. If there is a change to a in a = b + c, then it must decide to update either b or c in order to maintain the constraint. The programmer must understand this to create valid constraints, and must have a knowledge of the constraint maintainance methods. This may lead to undecidability issues when making updates.