Sunday, December 28, 2025

New_Approach

 I have read reports that Cambridge University - using AI - has found that African Homo Sapiens account for 80% of modern DNA. The tother 20% might be coming from a mystery Eurasian population from the North. What can you tell me about that?

Here’s the clear, evidence‑based explanation of the Cambridge findings you’re referring to — grounded directly in the search results you triggered.

🧬 What the Cambridge Study Actually Found

According to the University of Cambridge research published in Nature Genetics (2025), modern humans are descended from two ancient populations, not one. This is a major update to the classic “single African origin” model.

Here are the key findings:

🧩 1. Two ancestral populations diverged ~1.5 million years ago

The study shows that long before Homo sapiens emerged, two deeply ancient human groups split apart around 1.5 million years ago.

These were not Neanderthals or Denisovans — they predate them.

🧬 2. They reunited ~300,000 years ago

Around the time early Homo sapiens were forming, these two populations mixed again.

This mixing event created the genetic foundation of all modern humans.

🧬 3. The genetic contribution is ~80% vs ~20%

The Cambridge team found that:

80% of modern human DNA comes from one ancestral population

20% comes from the other, more mysterious population

This 20% is what the media is calling the “mystery Eurasian population” — but the study itself does not claim they were Eurasian. That’s an interpretation.

🧭 So who were these two populations?

✔ Population A (80%)

Likely corresponds to the African lineage that gave rise to early Homo sapiens.

This aligns with the fossil record and with the fact that Africa holds the deepest genetic diversity.

✔ Population B (20%)

This is the intriguing part.

The Cambridge researchers describe it as:

A deeply divergent human lineage

Split from Population A around 1.5 million years ago

Rejoined the Homo sapiens lineage around 300,000 years ago

Not Neanderthal or Denisovan

Not a known fossil species

Possibly located outside Africa, but not proven


Media outlets (Earth.com, Popular Archaeology) framed this as a “mystery northern Eurasian population” because the divergence time is older than known African fossils and resembles the pattern seen in Eurasian archaic humans.

But the study itself does not pinpoint geography.


🧬 Is this a new species?

The researchers do not name a species, but the divergence time (1.5 million years) overlaps with:

Early Homo erectus outside Africa

Asian archaic humans

Possibly unknown lineages that left no fossils

This is why the press calls it a “ghost population” — a group known only through DNA signals.

🧬 How does this relate to Neanderthals and Denisovans?

It doesn’t replace them — it predates them.

Neanderthals and Denisovans split from our lineage around 600–700 ka.

This newly identified split is much older.

So the Cambridge study is describing a deeper layer of human ancestry than the well‑known archaic admixture events.

🧬 The big picture

The Cambridge findings suggest:

✔ Modern humans are not the product of a single African lineage

✔ Instead, we descend from a fusion of two ancient human populations

✔ One contributed 80% of our DNA

✔ The other contributed 20%

✔ This 20% likely comes from a long‑lost, deeply divergent lineage

✔ This lineage may have been outside Africa — but that is not confirmed

This paints a picture of human origins as networked, not linear — with ancient populations splitting, wandering, and reconnecting over vast spans of time.


https://popular-archaeology.com/article/genetic-study-reveals-hidden-chapter-in-human-evolution/

                                                                      *     *     *

I don't want to spoil this new approach, but the 'deeply divergent' label makes me fear that

indeed, AI could identify the bits of DNA that came to make a big difference. Why is this a 

different group of specimens!?


Dragon Man

Anthropologists are happy: the Denisovan, an early species of Hominids in Asia, now has

a face. Here he is:

                                                                    

https://www.cnn.com/2025/12/26/science/denisovans-dragon-man-human-evolution-mystery

                                                                       *     *     *
Copilot:

Denisovan; what is the notion of 'Dragon Man'?

Here’s the short, clear answer — and then the deeper context, because the story behind “Dragon Man” is genuinely fascinating.

🧬 What “Dragon Man” Refers To
“Dragon Man” is the nickname given to a remarkably well‑preserved ancient human skull found in Harbin, northeastern China. Recent research (2025) has shown that this skull belongs to the Denisovan lineage, an archaic human group previously known almost entirely from tiny bone fragments and DNA.

The fossil is often called:

The Harbin skull
Homo longi (its original 2021 species designation)
Dragon Man (popular nickname)

🧩 Why It Matters
Before this discovery, Denisovans were a genetic mystery — known mostly from:

A finger bone
A few teeth
DNA traces in modern populations (especially in East Asia and Oceania)

The Harbin skull is the first nearly complete Denisovan skull ever identified, giving scientists a real sense of what Denisovans looked like.

🧠 Key Features of the “Dragon Man” Skull
Based on the studies:

Very large braincase
Massive brow ridges
A broad, flat face
Large molars
A combination of traits not seen in Neanderthals or Homo sapiens

These features helped confirm its Denisovan identity through protein and DNA analysis preserved in dental calculus (fossilized tartar).

🌏 Why the Name “Dragon Man”?
The nickname comes from:

The Chinese translation of Heilongjiang (“Black Dragon River”), the province where the skull was found

The dramatic, almost mythical appearance of the fossil

🧭 What This Changes in Human Evolution
The Harbin skull suggests:

Denisovans lived much farther east than previously confirmed
They may have been widespread across East Asia
They were a robust, cold‑adapted population
Their interactions with Homo sapiens may have been more extensive than we thought

It’s one of the biggest breakthroughs in paleoanthropology in the last decade.

If you want, I can also compare Denisovans, Neanderthals, and Homo sapiens in a table — or walk through what the Harbin skull tells us about Denisovan facial appearance.


Could I see the comparative table?

Absolutely — here’s a clean, structured comparative table that lays out Denisovans, Neanderthals, and Homo sapiens side by side. I’ve tuned it to highlight the traits that matter most for understanding where “Dragon Man” fits in.

🧬 Comparative Table: Denisovans vs Neanderthals vs Homo sapiens
                                                                                       




🐉 Where “Dragon Man” Fits In
The Harbin skull (“Dragon Man”) is currently the best anatomical window into Denisovans. It shows:

A massive, robust skull
A large braincase
A broad, flat face
Huge molars
A mix of archaic and modern traits

It helps anchor Denisovans as a distinct branch of the human family, sister to Neanderthals but with their own unique morphology.

If you want, I can also build:

A phylogenetic tree showing where Denisovans sit
A morphology-focused table comparing only skull features
A timeline graphic of human evolution
A Denisovan–Neanderthal–Sapiens interbreeding map

Just tell me what direction you want to explore next.

Could I see the timeline graphic of human evolution?
                                                                                      




Expanded labels for clarity:
Sahelanthropus tchadensis (~7 Ma)
Australopithecus afarensis (~4 Ma)
Homo erectus (~2 Ma)
Homo heidelbergensis (~1 Ma)
Denisovans (~500–50 ka)
Homo sapiens (~300 ka–present)
Neanderthals (~400–40 ka)

🧭 Notes on placement
Homo heidelbergensis is shown as the common ancestor of both Neanderthals and Denisovans.

Denisovans and Neanderthals overlap heavily in time and interbreed with each other and with early Homo sapiens.

Homo erectus persists in some regions (e.g., Java) until surprisingly late (~100 ka).

If you’d like, I can also produce:

A branching tree diagram (ASCII or structured)
A version focused only on the last 1 million years
A timeline including Homo floresiensis and Homo naledi
A color‑coded version for printing or study

Just tell me what direction you want to explore next.


What do we know about Homo heidelbergensis?
Here’s a clear, structured, evidence‑based overview of Homo heidelbergensis, one of the most important — and most misunderstood — species in the human lineage. This is a species you’ll appreciate, Louise, because it sits right at the branching point where the human family tree becomes genuinely intricate.

🧬 Homo heidelbergensis: What We Know
🌍 Time Range & Distribution
Lived roughly 700,000 to 300,000 years ago
Found across Africa, Europe, and Western Asia
Represents a transitional species between Homo erectus and later humans (Neanderthals, Denisovans, and Homo sapiens)

This wide geographic range is one reason the species is sometimes called a “mosaic” taxon — fossils vary a lot depending on region.

🧠 Anatomy & Physical Traits
H. heidelbergensis was robust, large‑brained, and powerful. Key features include:

Cranial Traits
Brain size: 1100–1400 cc, overlapping with modern humans
Thick brow ridges (but not the continuous bar seen in earlier species)
Large, broad face
Less elongated skull than Homo erectus
No true chin (a modern human trait)

Postcranial (Body) Traits
Very strong, muscular build
Likely cold‑adapted in European populations
Height estimates: 1.6–1.75 m
Weight: 60–90 kg, depending on sex and region

They were physically formidable — probably stronger than both Neanderthals and modern humans.

🧭 Evolutionary Significance
This is where things get interesting.

1. Common ancestor of Neanderthals and Denisovans
Most paleoanthropologists agree that European and Asian populations of H. heidelbergensis gave rise to:

Neanderthals in Europe

Denisovans in Asia

2. Possible ancestor of Homo sapiens
African populations of H. heidelbergensis (sometimes called Homo rhodesiensis) may have contributed to the lineage that became Homo sapiens.

So instead of a single species, think of it as a cluster of regional populations diverging in different directions.

🛠️ Technology & Behavior
Tools
Associated with Acheulean tools (handaxes)
Later populations used Levallois technique (prepared-core flaking), a precursor to Neanderthal and early human toolmaking
Hunting
Evidence of organized big‑game hunting
Wooden spears from Schöningen (Germany) show:
Balanced throwing weapons
Cooperative hunting strategies
Planning and foresight
Shelter & Fire
Likely built simple shelters
Evidence of controlled fire use
Possible seasonal occupation of caves
Social Behavior
Likely lived in structured groups
Possible care for injured individuals
Cognitive abilities approaching early Homo sapiens

🦴 Key Fossils
Some of the most important specimens include:
                                                                                         

The Sima de los Huesos site is especially important — it contains DNA linking these individuals to the Neanderthal–Denisovan lineage.

🧩 Why H. heidelbergensis Is Hard to Classify
You’ll appreciate this as someone who loves model‑building:

Fossils vary widely across regions
Some researchers split them into multiple species
Others lump them into one highly variable species
Genetic data is sparse but growing
The species sits right at a major branching point in human evolution
It’s a classic case where the model is messier than the categories.

🌱 If you want to go deeper
I can also build:

A branching tree diagram showing where H. heidelbergensis sits
A comparative table between H. erectus, H. heidelbergensis, Neanderthals, and H. sapiens
A regional breakdown (African vs European vs Asian populations)
A timeline overlay showing divergence points
Just tell me what direction you want to explore next.


                                                                       *     *     *

Denisovans, like Neanderthals, are ancestral to modern humans but not ancestors to; they account for a very small segment of current human DNA??

Here’s the clearest way to put it, Louise — and yes, your intuition is right, but the terminology matters.

🧬 Are Denisovans and Neanderthals “ancestral” to modern humans?
No — they are not our direct ancestors.  
They are sister lineages that branched off from a shared ancestor we all had roughly 600,000–700,000 years ago.

Modern humans evolved in Africa, while Neanderthals and Denisovans evolved mostly in Eurasia.

So the relationship looks like this:



🧬 But they did interbreed with us
This is where your second point comes in — and it’s correct.

Modern humans migrating out of Africa met both Neanderthals and Denisovans and interbred multiple times.
This left small but meaningful amounts of archaic DNA in our genomes.

What the research shows:
Denisovans interbred with modern humans multiple times, leaving genetic “fingerprints” across Asia and the Americas.

Denisovan genes contributed to adaptations such as:
High‑altitude survival in Tibetans (EPAS1)
Cold‑weather adaptation in Arctic populations
Enhanced immunity in several groups

Denisovan ancestry is especially common in Indigenous peoples of the Americas for certain genes like MUC19, which affects mucosal immunity.

🧬 How much Denisovan DNA do modern humans carry?
It varies by region:
                                                                                  

Neanderthal DNA is more widespread (1–2% in all non‑Africans), but still not ancestral — it’s the result of interbreeding.

🧬 So your statement becomes:
Denisovans and Neanderthals are not ancestors of modern humans, but they contributed small amounts of DNA to many modern populations through interbreeding.

That’s exactly what the evidence shows.

If you want, I can also map out:
A visual ancestry tree showing the branching
A table of Denisovan vs Neanderthal genetic contributions
A map of where Denisovan ancestry is highest

Just tell me which direction you want to explore.

But what about Homo Sapiens; they too were out of Africa at various points. Can we tell if current DNA contains traces of those early migrations?

Great question, Louise — and yes, we can detect traces of early Homo sapiens migrations in modern DNA, but with some important nuances. Let’s break it down clearly and tie it to what current research shows.

🧬 1. Homo sapiens left Africa multiple times — but only one migration left a major genetic legacy

Genetic and fossil evidence shows several dispersals of Homo sapiens out of Africa. But:
Most early migrations left little or no genetic trace in living humans.

Why?
Because those early groups either:
died out,
were absorbed by later populations,
or were replaced by the major migration ~60–70,000 years ago.

This major migration is the one that seeded nearly all non‑African populations today.

🧬 2. Do we see DNA from earlier Homo sapiens migrations in modern people?
Short answer: very little, but not zero.

Most modern non‑African DNA comes from the main Out‑of‑Africa migration that occurred around 60–70 ka.

However, ancient DNA studies show that:
Some early Homo sapiens groups reached the Middle East and Asia before 100 ka.
These groups left minimal genetic impact on today’s populations.
Their lineages were largely replaced by later waves.

This is supported by genomic reconstructions showing that the major genetic ancestry of non‑Africans traces back to a single expansion event.

🧬 3. What can we detect in modern DNA?
Modern DNA carries signatures of:

A. The major Out‑of‑Africa migration (~60–70 ka)
This is the dominant ancestry in all non‑African populations.

B. Archaic admixture (Neanderthal & Denisovan)
These are not ancestors, but interbreeding events:

Neanderthal DNA in all non‑Africans (1–2%)

Denisovan DNA in Melanesians, Australians, some East Asians (0.2–6%)

C. Later migrations within Eurasia and the Americas

Genetic studies trace:
Movements from Asia into the Americas over 12,000+ miles
Multiple waves of migration and admixture across Eurasia

D. Deep African diversity
African populations retain the oldest and most diverse Homo sapiens lineages, including signals of ancient population structure that predate the major migration.

🧬 4. Why early Homo sapiens migrations left so little DNA
Several factors explain the lack of surviving genetic signatures:

Small population sizes  
Early groups were tiny and vulnerable.

Later, larger migrations replaced them  
The 60–70 ka migration was demographically dominant.

Bottlenecks  
Non‑Africans went through severe population bottlenecks, reducing diversity.

Genetic drift  
Small populations lose lineages quickly.

🧬 5. So what’s the bottom line?

✔ Modern humans do carry DNA from early Homo sapiens migrations —
❗but almost all of it comes from the major migration ~60–70 ka, not earlier ones.
✔ Earlier migrations existed —
❗but they left very little genetic trace in living populations.
✔ What we can detect clearly are:
The main Out‑of‑Africa ancestry

Neanderthal admixture
Denisovan admixture
Later Eurasian and American migrations

If you want, I can also map this out visually as:

A timeline of Homo sapiens migrations,
A genetic ancestry tree, or
A map showing which populations carry which ancient lineages.

Just tell me which direction you want to explore.

Saturday, December 27, 2025

Funky

 For those who might be distraught - and I'm sure you are legions - that Wordscramble eu

is no longer a usable Scrabble game, this is my current homegame...Funky Potato:


                                                                                   



That old site, around Christmas, was putting ads that overlapped with the game area,

and had become unplayable!!

     



Detective

 Playing with Copilot and PyCharm to create the rudiments of what could be

an identification game. One only sees through the circle - and it is pink - 

but the aim is to guess the work. One is free to move the circle with the arrow 

keys. Below:

                                                                           




The Code:

import pygame

pygame.init()

# Window setup
WIDTH, HEIGHT = 900, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Image Reveal Through Moving Circle")

# Colors
GREY = (150, 150, 150)
PINK = (255, 105, 180)
radius = 50
x, y = WIDTH // 2, HEIGHT // 2
speed = 5

# Load and scale the image so it fits the frame
image = pygame.image.load("Images/Monet.png").convert_alpha()
image = pygame.transform.smoothscale(image, (WIDTH, HEIGHT))

# Create a circular mask surface
mask_surface = pygame.Surface((radius*2, radius*2), pygame.SRCALPHA)
pygame.draw.circle(mask_surface, (255, 255, 255, 255), (radius, radius), radius)

# Circle overlay (pink, low opacity)
circle_overlay = pygame.Surface((radius*2, radius*2), pygame.SRCALPHA)
pygame.draw.circle(circle_overlay, (255, 105, 180, 80), (radius, radius), radius)

clock = pygame.time.Clock()
running = True

while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

# Movement
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]: x -= speed
if keys[pygame.K_RIGHT]: x += speed
if keys[pygame.K_UP]: y -= speed
if keys[pygame.K_DOWN]: y += speed

# Draw background
screen.fill(GREY)

# Reveal the image only through the circle mask
# 1. Create a temporary surface
reveal_surface = pygame.Surface((radius*2, radius*2), pygame.SRCALPHA)

# 2. Copy the corresponding part of the image
reveal_surface.blit(image, (-x + radius, -y + radius))

# 3. Apply the circular mask
reveal_surface.blit(mask_surface, (0, 0), special_flags=pygame.BLEND_RGBA_MULT)

# 4. Blit the revealed portion to the screen
screen.blit(reveal_surface, (x - radius, y - radius))

# Draw the pink circle on top
screen.blit(circle_overlay, (x - radius, y - radius))

pygame.display.flip()
clock.tick(60)

pygame.quit()


Copilot knows what to do immediately when I specify something; I am almost ashamed of how 

slow I am...



Friday, December 26, 2025

Ambient Scene

 Been working away with Copilot on that winter shimmering snow effect. Below:

I've changed the backgound color to :  screen.fill((135, 140, 155)). Could I have a small proportion of my snowflakes shimmer. (In actual fact, if I am motionless standing outside, the same shimmering elements will go on shimmering. It is only as I move that the shimmering elements change, and at the speed that I am imoving). Here, we are trying to catch the shimmer effect on a scene where the wind and flake fall cause the shimmer!!

Louise, this is a beautiful observation — and you’re absolutely right about the physics.

The shimmer you see outdoors isn’t random flicker; it’s angle‑dependent specular reflection. When you move, the angle changes, so different crystals catch the light. When you stand still, the same ones keep shimmering.

In your ambient winter scene, the “camera” is fixed, but the snowflakes are moving, so we can simulate shimmer by letting only a small subset of flakes have angle‑dependent brightness changes.

Let’s add that effect cleanly and elegantly.


                                                                               


The code:

import pygame
import random
import math

# ----------------------------
# Settings
# ----------------------------
WIDTH, HEIGHT = 1000, 650

# Crystals
N_CRYSTALS = 300
MIN_RADIUS = 3
MAX_RADIUS = 6
MAX_ALPHA = 120
FADE_SPEED = 0.08
ON_PROB = 0.01
OFF_PROB = 0.01

# Snow
N_SNOW_FOREGROUND = 120
N_SNOW_BACKGROUND = 80
FG_SPEED = 1.2
BG_SPEED = 0.4
FG_SIZE = (2, 4)
BG_SIZE = (1, 2)

# ----------------------------
# Crystal class
# ----------------------------
class Crystal:
def __init__(self):
self.x = random.uniform(0, WIDTH)
self.y = random.uniform(0, HEIGHT)
self.radius = random.uniform(MIN_RADIUS, MAX_RADIUS)

icy_palette = [
(180, 210, 255),
(200, 230, 255),
(220, 220, 255),
(230, 200, 255),
(200, 220, 240),
]
self.color = random.choice(icy_palette)

self.alpha = random.uniform(20, MAX_ALPHA)
self.target_on = True

def update(self):
if self.target_on and random.random() < OFF_PROB:
self.target_on = False
elif not self.target_on and random.random() < ON_PROB:
self.target_on = True

target_alpha = MAX_ALPHA if self.target_on else 0
self.alpha += (target_alpha - self.alpha) * FADE_SPEED
self.alpha = max(0, min(MAX_ALPHA, self.alpha))

def draw(self, surface):
layer = pygame.Surface((self.radius*4, self.radius*4), pygame.SRCALPHA)
pygame.draw.circle(
layer,
(*self.color, int(self.alpha)),
(int(self.radius*2), int(self.radius*2)),
int(self.radius)
)
surface.blit(layer, (self.x - self.radius*2, self.y - self.radius*2))


# ----------------------------
# Snowflake class (all shimmer)
# ----------------------------
class Snowflake:
def __init__(self, foreground=True):
self.x = random.uniform(0, WIDTH)
self.y = random.uniform(0, HEIGHT)
self.foreground = foreground

if foreground:
self.speed = FG_SPEED
self.size = random.randint(*FG_SIZE)
else:
self.speed = BG_SPEED
self.size = random.randint(*BG_SIZE)

# --- soft shimmer (all flakes) ---
self.soft_shimmer_phase = random.uniform(0, 2 * math.pi)
self.soft_shimmer_speed = random.uniform(0.02, 0.05)

# --- strong shimmer (10% of flakes) ---
self.strong_shimmer = random.random() < 0.10
self.strong_shimmer_phase = random.uniform(0, 2 * math.pi)
self.strong_shimmer_strength = random.uniform(80, 160)

def update(self):
# Falling motion
self.y += self.speed
self.x += math.sin(self.soft_shimmer_phase + self.y * 0.01) * 0.3

if self.y > HEIGHT:
self.y = -5
self.x = random.uniform(0, WIDTH)

# Update shimmer phases
self.soft_shimmer_phase += self.soft_shimmer_speed
if self.strong_shimmer:
self.strong_shimmer_phase += 0.03 * self.speed

def draw(self, surface):
# Soft shimmer
soft_offset = math.sin(self.soft_shimmer_phase) * 40
brightness = 220 + soft_offset

# Strong shimmer
if self.strong_shimmer:
strong_offset = math.sin(self.strong_shimmer_phase) * self.strong_shimmer_strength
brightness = brightness - strong_offset

brightness = int(max(150, min(255, brightness)))

pygame.draw.circle(surface, (brightness, brightness, brightness),
(int(self.x), int(self.y)), self.size)


# ----------------------------
# Pygame setup
# ----------------------------
pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Ambient Winter Scene")
clock = pygame.time.Clock()

# Create objects
crystals = [Crystal() for _ in range(N_CRYSTALS)]
snow_fg = [Snowflake(foreground=True) for _ in range(N_SNOW_FOREGROUND)]
snow_bg = [Snowflake(foreground=False) for _ in range(N_SNOW_BACKGROUND)]

# ----------------------------
# Main loop
# ----------------------------
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
running = False

# Your chosen background color
screen.fill((135, 140, 155))

# Background snow
for flake in snow_bg:
flake.update()
flake.draw(screen)

# Shimmering crystals
for c in crystals:
c.update()
c.draw(screen)

# Foreground snow
for flake in snow_fg:
flake.update()
flake.draw(screen)

pygame.display.flip()
clock.tick(60)

pygame.quit()

So now I have a background with shimmer, and falling snow with shimmer at a different rate...

Thursday, December 25, 2025

C_Morning

 It is Christmas Morning and already I am on the hard stuff: pate and cheese.

The cheese is a made in Quebec variety. With green tea. Celebrated with an elaborate meal

last night so I will be prudent today... Ha!


                                                                                      


Wasn't up to listening to the Royal message at this time of day, but read about it: Compassion!

                                                                                      

                                                                       *     *     *

Found the cheeses Lyse brought out last night:

Fontina

                                                                            


                                                                            *     *     *

Cream

                                                                                    


                                                                               *     *     *




                                                                                    

Wednesday, December 24, 2025

Merry_Xmas