Archive for October, 2008

Agent Based Modelling

It’s easy enough to get from atoms to thermodynamics by making assumptions about homogeneity, indistinguishability and so on – I’ve never found making the same assumptions about human ‘atoms’ very convincing. In the same way that doing molecular dynamics allows you to avoid worrying about the stat-mech, economic simulations at the agent level could avoid the classical approximations.

Leave a Comment

Random tech news

Well not really random, these are the stories I filtered from the ACM tech news mailout.

Expectation of the singularity changes human behaviour, unsurprisingly.

Augmented reality – this is real use of computing to enhance our intelligence. Seems more useful than trying to create a sentient AI.

And this article blames the “Numerati” for the financial crisis. I’m not at all convinced by his narrative, but it’s an interesting read.

Leave a Comment

Fortran list directed input reading logical variables

Fortran 90’s list directed input is powerful, flexible, but tricky. My function to read a keyword, boolean value pair from a file was not working when I reshuffled the order of the input parameters (blame Python’s orderless dictionaries for this, not that I’m complaining). Originally I just read the string and logical straight in, then tested the string for a match to the key. However when reading list directed logicals it seems that fortran was biting off the next record as well. New improved read_bool follows:

subroutine read_bool(iunit,key,val)
! Searches the input file for the key and reads the value
! to the supplied variable when it finds it.
implicit none
integer iunit
character (len=20) :: st
character (len=*) :: key
logical :: val
integer i,w
rewind(iunit)
w = len(key)
do while (st(1:len(key)) .ne. key)
print *,'reading value'
read(iunit,*,iostat=i) st
print *,i
print *,st,val
! print *,key,st(1:len(key)),i
if(i .eq. -1) then
write(*,*) key
stop 'fatal error: parameter not found'
endif
if (st(1:len(key)) .eq. key) then
! print *,'I found ',st
backspace(iunit)
read(iunit,*,iostat=i) st,val
write(*,*) st,val
return
endif
enddo
end subroutine read_bool

Respect to Nick Maclaren for his online powerpoint slides (which didn’t lead me to the answer, but were quite useful nonetheless.) Also see http://cimss.ssec.wisc.edu/~gumley/programmingtips.txt, and the QUB notes which I always seem to stumble back to.

Leave a Comment

Purity of the species?

NS has a piece on the hybridisation of American wildlife. I find the conservationist obsession with purity disturbing.

Polar-grizzly bears are still bears. Seems to me like ‘species’ is a blurry category. The appearance of new hybrids like this fascinating – all the better if they find themselves better adapted to the environment they find themselves in. If these new hybrids cause a long term reduction in biodiversity I can see a problem, but in general I find the focus on the purity of ‘species’ a little uncomfortable, like when people talk about their ‘pure’ bred dogs. Pure what?

Leave a Comment

WoW as a model for post-human society

If if you were uploaded onto a substrate, what would you do all day? The system of incremental rewards coupled to random high-end rewards, coupled to the necessity for teamwork, and the necessity for grinding/farming has been a success of the particular applied psychology that is game design, keeping thousands (millions?) of people glued to their screens for often literally the majority of their time. More addictive than more open virtual worlds *because* of the restrictions imposed by the rule set.

Leave a Comment