Mass migration destroys humanity?

Posted by James Bowery on Saturday, 19 November 2005 16:40.

A key distinguishing feature of humanity is its communication ability.  But what exactly is communication as opposed to manipulation?  How does communication arise?  What are the conditions for its continuation?  There have been a number of attempts at simulating the evolution of communication but till the simulation described in this article was run, none of them combined migration, climatic variation and the prisoner’s dilemma.

The simulaton is schematic but suggestive that migration can eliminate the very genetic capacity for communication and replace it with pure manipulation.

The prisoners dilemma is a classic model mathematically describing the behavior of people interacting and competing for resources. I recently wrote a computer simulation based on the prisoners dilemma that indicates mixing populations from all over the world really isn’t a very good idea and that in time the people that survive such a mixing will in fact separate and develop a sense of separatism even if it means creating harsh environmental conditions.  If they do not, communication itself ceases to be a genetic capacity.

This simulation is an advance over others including some that are available on the web as java applets which show that “isolation” is necessary for maintanence of “cooperation”.

The image at this link (you may need to magnify it to see it at full resolution—it is large) is a snapshot of a computer simulated ecosystem in which individuals can communicate, defect and/or cooperate under the prisoner’s dilemma. The snapshot was taken after 1413 generations of evolution.

In the Prisoner’s Dilemma if two individuals cooperate they each win 3 points for a total of 6. If one cooperates and the other defects then the cooperator wins 0 points and the defector wins 5 points for a total of 5. If they both defect they each get 1 point for a total of 2. Clearly, a world in which everyone is cooperating is going to have more total “points” than one in which there are defectors.

The question haunting biologists is how can cooperation evolve under these conditions? It is made even more complex when one questions how communication can evolve under these conditions since if one can simply say “cooperate” to another player, they allow your signal to influence their behavior accordlingly and then you defect against them, their lineage will die while yours prospers.

This simulation is a world that attempts to model what many others have implicitly attempted to analyze—the most recent fad being Simpson’s Paradox that is used by David Sloan-Wilson to discuss the merits of large groups such as religions without ever dealing with impact of modern technology on ecology let alone human ecology. All of these are valiant attempts to achieve what the man who many consider the founder of neo-Darwinian theory, W. D. Hamilton, best characterized in his 1975 paper “Innate Social Aptitudes of Man”. He concluded that classic paper with this statement about the Prisoner’s Dilemma in the evolution of human social aptitudes:

there is a law, and we can see why, and that sadly we also see the protean nature of this Dilemma, which, when suppressed at one level, gathers its strength at another.

Basically he is saying the Prisoner’s Dilemma cannot be avoided in evolution for if it is averted at one level of evolution is reappears at another: Say from the gene to the individual organism or to the group.

So now the simulation of a world attempting to maintain the genetic capacity for communication in the face of mass migration.

At the start of the simulation all locations in the 2d universe have a “manipulable gossip” who is cooperating with its nearest neighbors and telling them to cooperate. A “manipulable gossip” is the simplest form of communicator—they do what they’re told and they repeat what they’re told. If the world is filled with manipulable gossips, and they are all saying “cooperate” with each other then you have a stable cooperative world. That’s how the world starts in this simulation.

The next generation those players reproduce.  Their children will then continue to say what they heard, which is “cooperate” and will do what they heard, which is “cooperate”. On rare occasion a mutation occurs. This mutation can be in either the nature of the player or in the nature of its memory. This is a way of allowing the universe to evolve into a state other than pure manipulable gossips.

The center of the circular structure is the place with the most benign environment. The further from the center of the circle one gets the more harsh the environment until it becomes uninhabitable (grey). This is achieved by subtracting a cost-of-living from each player’s vitality each turn and making it proportional to the distance from the center. Vitality is required to reproduce and as a player ages it loses vitality at an ever increasing rate. When it goes to 0 it dies.

The pure white partial circle you see around the structure is a ring of pure cooperators—they walk their talk which is ‘cooperate’. You will notice on the inside edge of the white ring are cells with black interiors and white exteriors. These are hypocrites that say ‘cooperate’ and yet always defect. The regions where hypocrites are eating into pure cooperators will become grey if the climate is too harsh (too far from the center). Therefore, just inside the place where we see hypocrites eating outward toward the cooperators there is a ring of death—a grey gulf between them and the rest of the ecosystem.

One also notices communicators in this boundary area where hypocrites dwell and destroy cooperation. Communication is yet to evolve into a major strategy after 1413 generations. Communication is signified by interiors that are cyan or orange indicating that the individual is cooperating or defecting, respectively, based on what it last heard from nearby individuals. But this structure is starting to show how it is that harsh environments produce cultures capable of a high degree of cooperation and therefore a high degree of vulnerability to exploitation when climatic or technological changes allow their territories to be invaded by those less capable of populating harsh climates.

When communication does evolve in this simulation it, even more so than cooperation, rapidly declines and disappeares—regardless of climate—if there is substantial migration. This is due to the fact that hypocrites consume communicators faster than communicating groups can escape. However the tighter the strictures against migration, the more frequently can marginal habitats (harsher climates/high cost-of-living habitats) evolve communications as well as pure cooperators.



Comments:


1

Posted by Andrew on Sat, 19 Nov 2005 20:19 | #

Yeh, Digitizing IQ demographics, but how many on the left are going to listen and observe these notes.
But if you can go one step further to Teleporting, then digitize,(energize)atomize: the left to oblivion, where they belong, then we can go about our business once again.
This is very interesting, Congratulations


2

Posted by James Bowery on Sat, 19 Nov 2005 21:35 | #

# Xenophilic Destruction of Communication in the Extended Phenotypic Prisoner’s Dilemma
# Version 2.0a1
# Copyright 2002 James A. Bowery. 
# All rights reserved.
$xenophobia=shift || 99.95;# Xenophobia level 0-99.9999…
$initialType = shift ;# If undef or 0 then randomize initial types.
@subTypeName=(“C”,“D”,“S”,“H”);
$typeName[$_+1]=$subTypeName[$_>>2].$subTypeName[$_&3] for(0..15);
$typeName[0]=’..’;
%typeNum = map {$typeName[$_]=>$_} 0..16;
$initialType = $typeNum{$initialType} if $initialType;
$worldSizeX=350;# How many spaces in the world X dimension.
$worldSizeY=250;# How many spaces in the world Y dimension.
$worldSize=$worldSizeX*$worldSizeY;
$payoff[1][1]=1;# 2 Cooperators each win 1.
$payoff[1][2]=-2;# Cooperator playing defector loses 2.
$payoff[2][1]=2;# Defector playing cooperator wins 2.
$payoff[2][2]=-1;# 2 Defectors each lose 1.
$senescenceAge=10;# Age at which vitality evaporates.
$costOfLiving=3;# This goes up with age.
# Adjust payoff matrix for costOfLiving.
for $i(0..2){for $j(0..2){$payoff[$i][$j] += $costOfLiving}}
$costOfGestation=2*$costOfLiving;
$mutationRate = .001;# Probability of birthing a another type.
$topIndex=$worldSize-1; # Index the spaces from 0.
$topIndexX=$worldSizeX-1;
$topIndexY=$worldSizeY-1;
# Start with a space randomly divided 17 ways
# between SAY vs DO (C, D, Heard, Experienced) and empty spaces.
@s = map {$initialType?$initialType:int(rand(17))} 0..$topIndex;
# Start entire population near gestation vitality.
@v = map {$s[$_]?$costOfGestation:0} 0..$topIndex;
# Start population with random age up to senescenceAge.
@a = map {$s[$_]?rand($senescenceAge):0} 0..$topIndex;
$|=1;# Print every generation as it happens.
# Travel radius per gestation period.
$travelRadius=int(.5*$worldSize*(1-$xenophobia/100)+.5);
while(1){
@l=grep {$s[$_]} 0..$topIndex;# List of the living
$l=int(@l);# Total count of living.
last unless $l;# While there are yet living, continue simulating.
@ch=grep {$lastHeard[$_]==1} @l;# Count “cooperate” heard.
@cs=grep {$lastSaw[$_]==1} @l;# Count cooperation seen.
$pch=int(100*int(@ch)/$l);# Percent cooperate heard.
$pcs=int(100*int(@cs)/$l);# Percent cooperate seen.
$tv=0;#
$tv += $v[$_] for(@l);# Calculate population vitality.
$av=int(.5+$tv/$l);# Calculate average vitality.
#$xenophobia=-log(100/$xenophobia -1); # From logistic space.
#$xenophobia+=($pch-$pcs)/1000;# Compensate for + or - hypocrisy.
#$xenophobia=100/(1+exp(-$xenophobia));# To logistic space.
$travelRadius=.5*$worldSize*(1-$xenophobia/100);
for $py (0..$topIndexY){
for $px (0..$topIndexX){
$ix=$iy=0;# examine around the origin
$ix=int(($ix+$px+$worldSizeX) % $worldSizeX +.5);
$iy=int(($iy+$py+$worldSizeY) % $worldSizeY +.5);
$i=$iy*$worldSizeX+$ix;
if($s[$i]){
print $typeName[$s[$i]].”:”
.[CC,CC,CC,CC,CC,CD,DC,DD]->[$lastHeard[$i]*2+$lastSaw[$i]].” “;
}else{
print “..:.. “;
}
}
print “\n”;
};
print “\n”;
%lhash=map {($_=>1)} @l;# Create hash of living…
for $i (keys %lhash){#...so they can be randomly sequenced.
next unless $s[$i]; # If the space is now empty, skip to the next.
$ix=int($i%$worldSizeX);
$iy=int($i/$worldSizeX);
while($costOfGestation/$v[$i]<rand());
# Randomly pick a space within travel range to try reproducing.
do;
$rx=sqrt(-log(rand())*$travelRadius)*(rand()<.5?-1:1);
#$rx=int(rand(3))-1;
$rx=int(($ix+$rx+$worldSizeX) % $worldSizeX + 1);
$ry=sqrt(-log(rand())*$travelRadius)*(rand()<.5?-1:1);
#$ry=int(rand(3))-1;
$ry=int(($iy+$ry+$worldSizeY) % $worldSizeY + 1);
$r=$rx+$ry*$worldSizeX;
}while($r==$i);
# If location is empty and if vitality is sufficient…
if(!$s[$r]){
$s[$r] = $mutationRate>rand()?int(rand(17)):$s[$i];# Reproduce!
$v[$r] = $costOfGestation;# Offspring starts with some vitality.
$a[$r]=0;# Age 0 at birth.
$lastSaw[$r]=0;# No history.
$v[$i] -= $costOfGestation;# Parent sacrifices some vitality.
$s[$i] = $v[$i]>0?$s[$i]:0;# Parents with 0 vitality die.
}else{
$v[$i]—;# Lose vitality to reproductive search.
sub epSay{
my $i=shift;
return [1,2,$lastSaw[$i],$lastHeard[$i]]->[($s[$i]-1)>>2];
}
$sayi=epSay($i);# Someone’s here so talk!
$sayr=epSay($r);
$lastHeard[$i]=$sayr;
$lastHeard[$r]=$sayi;
}
}
# Randomly pick a space within travel range to find player.
do{
$px=sqrt(-log(rand())*$travelRadius)*(rand()<.5?-1:1);
#$px=int(rand(3))-1;
$px=int(($ix+$px+$worldSizeX) % $worldSizeX +.5);
$py=sqrt(-log(rand())*$travelRadius)*(rand()<.5?-1:1);
#$py=int(rand(3))-1;
$py=int(($iy+$py+$worldSizeY) % $worldSizeY +.5);
$p=$px+$py*$worldSizeX;
}while($p==$i);
sub epDo{ # Function to enable extended phenotypic moves.
my $i=shift;
return [1,2,$lastSaw[$i],$lastHeard[$i]]->[($s[$i]-1)&3];
}
if($s[$p]){# If a player is there…
$doi=epDo($i);# Play!
$dop=epDo($p);
$v[$i] += $payoff[$doi][$dop];
$v[$p] += $payoff[$dop][$doi];
$lastSaw[$i]=$dop;# Remember last moves seen.
$lastSaw[$p]=$doi;
}
$s[$p] = 0 unless $v[$p]>0;# If 0 vitality die.
$v[$i] -= $costOfLiving+exp($a[$i]-$senescenceAge);# Cost of living adjustment.
$s[$i] = 0 unless $v[$i]>0;# If 0 vitality, die.
next unless $s[$i];# If now dead skip to next space.

$a[$i]++;# Age one gestation period.
}
};


3

Posted by James Bowery on Sat, 19 Nov 2005 21:42 | #

# Xenophilic Destruction of Communication in the Extended Phenotypic Prisoner’s Dilemma
# This version includes climatic variation radially from the center outward.
# Version 2.0a1
# Copyright 2002 James A. Bowery. 
# All rights reserved.
$travelRadius=shift || 1;# Distance at which one can interact
$initialType = shift ;# If undef or 0 then randomize initial types.
@subTypeName=(“C”,“D”,“S”,“H”);
$typeName[$_+1]=$subTypeName[$_>>2].$subTypeName[$_&3] for(0..15);
$typeName[0]=’..’;
%typeNum = map {$typeName[$_]=>$_} 0..16;
$initialType = $typeNum{$initialType} if $initialType;
$worldSizeX=350;# How many spaces in the world X dimension.
$worldSizeY=250;# How many spaces in the world Y dimension.
$worldSize=$worldSizeX*$worldSizeY;
$payoff[1][1]=1;# 2 Cooperators each win 1.
$payoff[1][2]=-2;# Cooperator playing defector loses 2.
$payoff[2][1]=2;# Defector playing cooperator wins 2.
$payoff[2][2]=-1;# 2 Defectors each lose 1.
$senescenceAge=10;# Age at which vitality evaporates.
$costOfLiving=3;# This goes up with age.
# Adjust payoff matrix for costOfLiving.
for $i(0..2){for $j(0..2){$payoff[$i][$j] += $costOfLiving}}
$costOfGestation=2*$costOfLiving;
$mutationRate = .001;# Probability of birthing a another type.
$topIndex=$worldSize-1; # Index the spaces from 0.
$topIndexX=$worldSizeX-1;
$topIndexY=$worldSizeY-1;
# Start with a space randomly divided 17 ways
# between SAY vs DO (C, D, Heard, Experienced) and empty spaces.
@s = map {$initialType?$initialType:int(rand(17))} 0..$topIndex;
# Start entire population near gestation vitality.
@v = map {$s[$_]?$costOfGestation:0} 0..$topIndex;
# Start population with random age up to senescenceAge.
@a = map {$s[$_]?rand($senescenceAge):0} 0..$topIndex;
$|=1;# Print every generation as it happens.
# Travel radius per gestation period.
while(1){
@l=grep {$s[$_]} 0..$topIndex;# List of the living
$l=int(@l);# Total count of living.
last unless $l;# While there are yet living, continue simulating.
@ch=grep {$lastHeard[$_]==1} @l;# Count “cooperate” heard.
@cs=grep {$lastSaw[$_]==1} @l;# Count cooperation seen.
$pch=int(100*int(@ch)/$l);# Percent cooperate heard.
$pcs=int(100*int(@cs)/$l);# Percent cooperate seen.
$tv=0;#
$tv += $v[$_] for(@l);# Calculate population vitality.
$av=int(.5+$tv/$l);# Calculate average vitality.
#$xenophobia=-log(100/$xenophobia -1); # From logistic space.
#$xenophobia+=($pch-$pcs)/1000;# Compensate for + or - hypocrisy.
#$xenophobia=100/(1+exp(-$xenophobia));# To logistic space.
#$travelRadius=.5*$worldSize*(1-$xenophobia/100);
for $py (0..$topIndexY){
for $px (0..$topIndexX){
$ix=$iy=0;# examine around the origin
$ix=int(($ix+$px+$worldSizeX) % $worldSizeX +.5);
$iy=int(($iy+$py+$worldSizeY) % $worldSizeY +.5);
$i=$iy*$worldSizeX+$ix;
if($s[$i]){
print $typeName[$s[$i]].”:”
.[CC,CC,CC,CC,CC,CD,DC,DD]->[$lastHeard[$i]*2+$lastSaw[$i]].” “;
}else{
print “..:.. “;
}
}
print “\n”;
};
print “\n”;
%lhash=map {($_=>1)} @l;# Create hash of living…
for $i (keys %lhash){#...so they can be randomly sequenced.
next unless $s[$i]; # If the space is now empty, skip to the next.
$ix=int($i%$worldSizeX);
$iy=int($i/$worldSizeX);
while($costOfGestation/$v[$i]<rand());
# Randomly pick a space within travel range to try reproducing.
do;
$rx=sqrt(-log(rand())*$travelRadius)*(rand()<.5?-1:1);
#$rx=int(rand(3))-1;
$rx=int(($ix+$rx+$worldSizeX) % $worldSizeX + 1);
$ry=sqrt(-log(rand())*$travelRadius)*(rand()<.5?-1:1);
#$ry=int(rand(3))-1;
$ry=int(($iy+$ry+$worldSizeY) % $worldSizeY + 1);
$r=$rx+$ry*$worldSizeX;
}while($r==$i);
# If location is empty and if vitality is sufficient…
if(!$s[$r]){
$s[$r] = $mutationRate>rand()?int(rand(17)):$s[$i];# Reproduce!
$v[$r] = $costOfGestation;# Offspring starts with some vitality.
$a[$r]=0;# Age 0 at birth.
$lastSaw[$r]=0;# No history.
$v[$i] -= $costOfGestation;# Parent sacrifices some vitality.
$s[$i] = $v[$i]>0?$s[$i]:0;# Parents with 0 vitality die.
}else{
$v[$i]—;# Lose vitality to reproductive search.
sub epSay{
my $i=shift;
return [1,2,$lastSaw[$i],$lastHeard[$i]]->[($s[$i]-1)>>2];
}
$sayi=epSay($i);# Someone’s here so talk!
$sayr=epSay($r);
$lastHeard[$i]=$sayr;
$lastHeard[$r]=$sayi;
}
}
# Randomly pick a space within travel range to find player.
do{
$px=sqrt(-log(rand())*$travelRadius)*(rand()<.5?-1:1);
#$px=int(rand(3))-1;
$px=int(($ix+$px+$worldSizeX) % $worldSizeX +.5);
$py=sqrt(-log(rand())*$travelRadius)*(rand()<.5?-1:1);
#$py=int(rand(3))-1;
$py=int(($iy+$py+$worldSizeY) % $worldSizeY +.5);
$p=$px+$py*$worldSizeX;
}while($p==$i);
sub epDo{ # Function to enable extended phenotypic moves.
my $i=shift;
return [1,2,$lastSaw[$i],$lastHeard[$i]]->[($s[$i]-1)&3];
}
if($s[$p]){# If a player is there…
$doi=epDo($i);# Play!
$dop=epDo($p);
$v[$i] += $payoff[$doi][$dop];
$v[$p] += $payoff[$dop][$doi];
$lastSaw[$i]=$dop;# Remember last moves seen.
$lastSaw[$p]=$doi;
}
$s[$p] = 0 unless $v[$p]>0;# If 0 vitality die.
$v[$i] -= &costOfLiving;+exp($a[$i]-$senescenceAge);# Cost of living adjustment.
$s[$i] = 0 unless $v[$i]>0;# If 0 vitality, die.
next unless $s[$i];# If now dead skip to next space.

$a[$i]++;# Age one gestation period.
}
};
sub costOfLiving{
$costOfLiving+12*sqrt(($ix/$worldSizeY-0.5)**2+($iy/$worldSizeY-0.5)**2)-3;
}


4

Posted by James Bowery on Sat, 19 Nov 2005 21:44 | #

# Xenophilic Destruction of Communication in the Extended Phenotypic Prisoner’s Dilemma
# This takes the cell codes output by the simulation and produces .png images.
# Version 2.0a1
# Copyright 2002 James A. Bowery. 
# All rights reserved.
use Imager;
$timeLapse = shift || 1;
$timeLapsing=1;# Take snapshot of initial state;

($grey,$white,$black,$blue,$red,$lightBlue,$lightRed)=
map {Imager::Color->new($_)}
(’#333’,’#FFF’,’#000’,’#00F’,’#F00’,’#0FF’,”#F60”);
@light=($lightBlue,$lightRed);
@saturate=($blue,$red);
@c=(sub{$white},sub{$black},sub{$light[$lastHeard]},sub{$saturate[$lastSaw]});
while(<>){
push(@rows,$_),next if $_ ne “\n”;
@rows=(), next if—$timeLapsing;
$timeLapsing = $timeLapse; # Reset timelapse timer.
@a=split ’ ‘,$rows[0];
$worldSizeX=int(@a);
$worldSizeY=int(@rows);
$img=Imager->new(xsize=>$worldSizeX*6,ysize=>$worldSizeY*6);
$iy=0;
for(@rows){
$ix=0;
for $p (split ’ ‘,){
($genotype,$memotype)=split “:”,$p;
if($genotype eq ‘..’){
$say=$do=$grey;
}else{
($lastHeard,$lastSaw)=
map {{‘C’=>0,‘D’=>1}->{$_}} split ‘’,$memotype;
($say,$do) =
map {{‘C’=>0,‘D’=>1,‘H’=>2,‘S’=>3}->{$_}} split ‘’,$genotype;
($say,$do) = map {&{$c[$_]}} ($say,$do);
}
$px=$ix*6;
$py=$iy*6;
$img->box(color=> $say, xmin=> $px, ymin=>$py,
                  xmax=>$px+5, ymax=>$py+5, filled=>1);
$img->box(color=> $do, xmin=> $px+1, ymin=>$py+1,
                  xmax=>$px+4, ymax=>$py+4, filled=>1);
$ix++;
}
$iy++;
}
$fn=sprintf(”%.5u”,$frames);
$img->write(file=>”$fn.png”) or
die $img->errstr;
@rows=();
$frames++;
}


5

Posted by James Bowery on Sat, 19 Nov 2005 21:45 | #

To most programmers it will be obvious this was written in Perl.


6

Posted by John S Bolton on Sat, 19 Nov 2005 22:48 | #

In general, if failure is allowed to invade success, it will spread failure. Quarantine value, but not openness-value, is a law of life. Rather than altruism and its defectors, what needs especially to be protected by quarantine is the freedom from the aggression which otherwise multiplies, destroying even low level carrying capacities. Perhaps language diversity at its high points is a sort of quarantine value manifestation, as in the highlands of New Guinea, where it is traditionally associated with murderous hostility towards outsiders. According to the economist EPLazear, in a model with 90% different information between the two groups, plus 90% relevance of the disjoint information, but only ~1/2 fluency between them:“the expected value of diversity is negative”.


7

Posted by John S Bolton on Sat, 19 Nov 2005 23:08 | #

Currently, productive societies do not cooperate to spend resources on the removal of parasitical lineages, arisng internally or via migrants. Even convicted aggressors are allowed to breed while they’re in prison. Not only is the necessary cooperation thwarted, but communication which could lead to organized removal of perfectly convictable parasitical lineages, is subject to organized censorship in many countries. When localities use minimum health and housing standards to prevent immigration of parasitical lineages of the most obvious kind, less responsive levels of government will often try to stop this.


8

Posted by Svigor on Sun, 20 Nov 2005 00:13 | #

It is quite interesting to note (of course rather paradoxically) that the white colors congregate around the parameters of the figure. If in fact such a formation was realistic I would have to ponder the reasons for such a fact - methinks it could invoke such horror on the Jewish establishment. The 1965 immigration revolution involved not just the widespread migration of humanity but the end of America, and as is quite clearly seen in our western European counterparts, such a rebuking leads to ethnic suicide.


9

Posted by James Bowery on Sun, 20 Nov 2005 20:38 | #

Keep in mind that the harshness of the environment increases toward the perimeter.

Cells that have a white edge and white interior are pure cooperators.  They say “cooperate” to everyone around them unconditionally.  They also cooperate with everyone around them unconditionally.

These are the only populations that survive in the harshest of environments.


10

Posted by John S Bolton on Tue, 22 Nov 2005 11:34 | #

In terms of northern-adapted policies of ‘always cooperate, never defect’; how is such a putative character to be interpreted regarding the integration programs of the last 40 years? It would be biologically altruistic to continue to cooperate with such programs, even if no one else were defecting selfishly. The more northern-adapted a white population is, the more likely they are to defect from such integration policies, and the sooner they will do so. Are those of Scandinavian or British descent the ones who, more than others, willing to live next to blacks; and Greeks and Italians the first to move out and thus accumulate disproportionally in the outermost suburbs?


11

Posted by James Bowery on Wed, 13 Aug 2008 18:21 | #

My general interpretation of Scandanavian “defection” is that it isn’t self-serving but rather an other-serving extended phenotype of an invasive ecotype.  The invasion is, of course, enabled by technological changes rendering the climate rather irrelevant.


12

Posted by James Bowery on Fri, 25 Nov 2016 05:26 | #

11 years later a video is available on youtube for those interested in watching some of the evolutionary dynamics in action.


13

Posted by Jan Bowery performance on Mon, 28 Nov 2016 15:08 | #


Jan Bowery


Jan and James dancing


14

Posted by Guessedworker on Tue, 29 Nov 2016 08:11 | #

Classic soprano voice; lovely rich, warm tone.  She has a gift which bought some joy to this world, and not everyone can say that.  One can only wish her peace in her remaining time, and peace of mind for you, James.



Post a comment:


Name: (required)

Email: (required but not displayed)

URL: (optional)

Note: You should copy your comment to the clipboard or paste it somewhere before submitting it, so that it will not be lost if the session times out.

Remember me


Next entry: Life in the smorgasboardroom
Previous entry: Bumper Sticker: Celebrate Diversity

image of the day

Existential Issues

DNA Nations

Categories

Contributors

Each author's name links to a list of all articles posted by the writer.

Links

Endorsement not implied.

Immigration

Islamist Threat

Anti-white Media Networks

Audio/Video

Crime

Economics

Education

General

Historical Re-Evaluation

Controlled Opposition

Nationalist Political Parties

Science

Europeans in Africa

Of Note

Comments

Thorn commented in entry 'Ukraine, Israel, Taiwan … defend or desert' on Tue, 23 Apr 2024 18:48. (View)

weremight commented in entry 'Soren Renner Is Dead' on Tue, 23 Apr 2024 04:24. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Mon, 22 Apr 2024 22:54. (View)

James Marr commented in entry 'Soren Renner Is Dead' on Mon, 22 Apr 2024 16:12. (View)

James Bowery commented in entry 'Soren Renner Is Dead' on Mon, 22 Apr 2024 14:44. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Mon, 22 Apr 2024 12:34. (View)

weremight commented in entry 'Soren Renner Is Dead' on Mon, 22 Apr 2024 06:42. (View)

James Marr commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 23:27. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 23:01. (View)

James Marr commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 22:52. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 22:23. (View)

Anon commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 20:07. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 19:39. (View)

James Bowery commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 17:38. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 15:20. (View)

James Bowery commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 15:01. (View)

Anon commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 13:31. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 12:52. (View)

James Marr commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 09:21. (View)

Al Ross commented in entry 'Soren Renner Is Dead' on Sun, 21 Apr 2024 05:25. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Sat, 20 Apr 2024 23:49. (View)

James Bowery commented in entry 'Soren Renner Is Dead' on Sat, 20 Apr 2024 23:37. (View)

James Bowery commented in entry 'Soren Renner Is Dead' on Sat, 20 Apr 2024 23:24. (View)

Anon commented in entry 'Soren Renner Is Dead' on Sat, 20 Apr 2024 21:38. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Sat, 20 Apr 2024 20:16. (View)

James Bowery commented in entry 'Soren Renner Is Dead' on Sat, 20 Apr 2024 18:19. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Fri, 19 Apr 2024 20:43. (View)

James Bowery commented in entry 'Soren Renner Is Dead' on Fri, 19 Apr 2024 19:16. (View)

Thorn commented in entry 'Soren Renner Is Dead' on Fri, 19 Apr 2024 15:33. (View)

James Bowery commented in entry 'Soren Renner Is Dead' on Fri, 19 Apr 2024 14:42. (View)

James Bowery commented in entry 'Soren Renner Is Dead' on Fri, 19 Apr 2024 14:38. (View)

Thorn commented in entry 'Ukraine, Israel, Taiwan … defend or desert' on Fri, 19 Apr 2024 10:31. (View)

Manc commented in entry 'Ukraine, Israel, Taiwan … defend or desert' on Fri, 19 Apr 2024 09:12. (View)

Al Ross commented in entry 'Ukraine, Israel, Taiwan … defend or desert' on Fri, 19 Apr 2024 06:50. (View)

Al Ross commented in entry 'Ukraine, Israel, Taiwan … defend or desert' on Fri, 19 Apr 2024 06:44. (View)

affection-tone