The tipping point
Peer ties and ranked feeds are not the same channel. A chronological feed shows a fair sample of what is circulating; a feed ranked by predicted engagement over-samples the tail. That single difference moves a threshold, and the threshold is where the outcome is decided.
Populace · agent simulation · opinion dynamics · Go
View source All worksWhat amplification does to the tail
A story circulating among a fraction e of users occupies a share of feed slots equal to e under a fair feed, and e1/(1+A) under ranking. The limits are the interesting part: as e → 1 every curve meets, because a feed cannot over-represent something everybody already posts. Amplification helps the obscure, not the universal.
At A = 3.4 the exponent is 0.23, so a story circulating among 0.1% of users takes 21% of feed slots — the figure the project quotes.
Seed a population and watch
A population on a social graph, seeded at random and left to run, with the ranked-feed channel switchable. Below the new threshold platforms barely matter; above the old one they are irrelevant; in between they decide it. Move the seed slider slowly through the middle and toggle platforms.
A live illustration on a few thousand agents. Measured over 60k personas in the real engine, scattered seeding gave: 0.4% seeded → 0.46% reached without platforms and 0.53% with; 1.2% → 4.12% against 99.91%; 1.6% → 99.76% against 99.94%. Feed confirmations are discounted as 0.9·√shown, capped at 4, because content selected by one ranking function out of one pool is correlated — without that discount every story became a global cascade and the tipping point disappeared.
Populace
One million personas, 7.5 million social ties and 450 archetypes tick in about 13 ms. On top of the social graph sits a media layer — ranked feeds as a structurally different contagion channel from peer ties. Amplification is modelled as engagement raised to 1/(1+A), which over-samples the tail: at A=3.4 a story circulating among 0.1% of users takes 21% of feed slots. The result is not "everything spreads" but a critical mass that moves — at 1.2% seeding, 4.12% of the population without platforms and 99.91% with them.
- Scale1M personas · 7.5M ties · ~13 ms/tick
- ViewsGlobe, morphing equirectangular map, group chat
- Model pathRailway → Cloudflare Tunnel → SGLang on the Spark
- Livepopulace-production.up.railway.app
HPC Cluster Simulator
A drag-and-drop, gamified training environment for building and operating GPU clusters. Trainees design a cluster, run workloads against it, break it, and learn why it broke.
The Immortal Daemon
An RL environment where the agent must keep a realistic cloud application alive while chaos batters it — and every reward is machine-verifiable, not judged by a model.
legal-financial-modernbert-150m
A 150M-parameter ModernBERT encoder trained from random init — no pretrained checkpoint, no distillation — on public legal and financial documents, then turned into a Matryoshka embedding model whose vectors truncate without retraining.