1102 stories
·
1 follower

The rare, deadly virus lurking in the Southwest US, and the bigger picture

1 Share

If you live in this one tiny county in California, you might be more likely to die from Sin Nombre Virus than in a car crash.

In the same way that “why does the frozen spinach I want to buy cost much more than it used to?” engages with a vast interconnected web of economies and monetary policies and farmers and supply chains, asking “what’s up with this rare disease people sometimes get in my part of the world?” is actually a question about the entire ecosystem, plus how organisms even work.

The reason you have to think about the natural world when you do biosecurity is that the vast majority of human diseases come from animals.  What we think of as diseases to humans is a two-dimensional slice of a giant, rotating, obscure shape of many dimensions – a whole world of diseases, little communities of microbes and macrobes interacting and evolving and getting sick and occasionally passing their diseases around between them. Communities of parasites built on communities of hosts, all colliding constantly. This is the large scale of biosecurity. Nothing in infectious disease research makes sense without it. Any question about human health or symptomology or individual risk or what have you is a tiny speck on the shore of this ocean.

Occasionally, one of those parasites reaches out of the host community it’s adapted to, and finds a foothold in another host. And so the sphere gets a little bigger, a little more interconnected.

Today we’ll be looking at a single slice of the grand pageant, about this size – one virus in one part of the world, that sometimes slips from its home and finds its way into a human animal.

Sin Nombre Virus

Sin Nombre Virus was first characterized in 1993 in New Mexico. Since then, there haven’t been many identified infections, but every now and then, cases crop up. Even in the medically well-equipped United States, Sin Nombre virus has maintained an astonishing 40% mortality rate.

Here’s a map of hantavirus infections in the US by state, since its discovery. We can see that it’s far-reaching, but it clearly has a geographic localization.

CDC map of U.S. cumulative cases of hantavirus by state between 1993 and 2022. We can see that the east half has very little hantavirus (under 10 cases) and that every state in the west half has more more than or close to 20. The highest numbers are in New Mexico with 122 cases, Colorado with 119 cases, Arizona with 86, and California with 78.

So if you live in California, your risk is even comparatively low. But out of curiosity, let’s look closer at a map of SNV infections in California counties.

Map of hantavirus cases reported in California, by county. Eastern states have more cases, with the highest number of cases being in one county in the far center-east of the state.
Map from the California Department of Public Health, 1980-2024.

Huh, what’s the deal with that one county? Note that this is a total case map, not a per capita case map, and that county doesn’t have any large cities. In fact, it’s the 4th least populated out of California’s 58 counties. So the risk is even higher than that map makes it look!

But it’s pretty unlikely that any given blogger would live in that county, isn’t it?

Ha ha, what a funny idea. Anyway, I happened to take an interest in this rare, hyperdeadly disease.

The virus without a name

Most current reporting describes the disease we’re looking at today with the more general name of hantavirus – which it is, but there are multiple human diseases in the hantavirus family.

They’re split into the Old World and New World hantavirus. The Old World hantaviruses cause hantavirus hemorrhagic fever with renal syndrome (HFRS) in Eurasia.

The New World hantaviruses include our subject of interest today as well as the related Andes virus in South America (plus a few other, even rarer North American viruses we’ll discuss later). Andes virus has similar symptoms and is about as deadly as Sin Nombre Virus, but it sees more cases every year – 100-200 versus North America’s “dozens” – and it shows occasional person-to-person spread. We’ll come back to that, but for now, I’m focusing on the most common North American hantavirus because it’s the one that’s in my own backyard. …Potentially literally.

The North American hantavirus we’re discussing today is more specifically known as Sin Nombre virus. Why is it called that?

It was discovered in 1994 after a lot of people got sick in the Four Corners region of New Mexico. Local Native communities actually had stories about odd numbers of people getting suddenly sick and dying during years where the pine nut harvest was good, and indeed, 1994 was a good pine nut mast year. Because of abundant nuts to eat, the mouse population exploded and came into a lot of contact with humans, and enough people got sick and died that USAMRIID and the CDC investigated. And they found a virus at the root.

Ongoing practice at the time was to name newly-discovered viruses after geographic locations nearby the site of origin. But this was already facing pushback – who wants to take a vacation to the scenic Ebola River? On top of that, the area and early cases were heavily Native American communities, and before the disease was shown to NOT be communicable, Native groups were facing racism and shunning over this mystery disease.

The Four Corners region didn’t want it to be the Four Corners virus; the nearby Muetro Canyon was proposed but rejected because the Navajo community didn’t want more stigma (and also Muerto Canyon was named after a massacre against the Navajo), and back and forth, and eventually they just called it the virus without a name, AKA Sin Nombre virus.

 I have some thoughts on infectious disease naming that are too long for the current margin to contain, but I will say that I think this is the kind of cool infectious disease naming schema that you can pull off once.

Mice

This is the western deer mouse, Peromyscus sonoriensis. Sin Nombre virus lives here.

Photo of an extremely cute wide-eyed tiny brown mouse with white countershading, caught in a plastic humane trap.
The worst part of biosecurity is having to look at something like this and be like “this thing is the enemy.” Okay, maybe that’s not the worst part.

This is a pretty common strategy of infectious viruses – playing the slow, long game. Humans have a few: cytomegalovirus, herpes simplex virus (especially HSV-1), Human T-cell lymphotropic virus type 1… viruses that lots of people have for their entire lives, and have no idea that they have. 

Compare also things like the common cold or human papillomaviruses that cause warts – shorter lifespan and some chance of symptoms but also not much, really. The immune system eventually clears these out in most cases without help, but they have time and means to spread, and they circulate among us and periodically annoy us, but mostly, they don’t kill us.

The deer mouse is not the same thing as the house mouse Mus musculus, which you’re probably more familiar with. But let’s take a minute here.

There’s mice and then there’s mice

We all know Mus musculus – it’s the common house mouse, which has spread worldwide alongside people. If humans build a town, the house mouse will soon follow. There are a lot of less-common related species of mice, like the adorable African pygmy mouse (Mus minutoides).

We also know the common brown rat (Rattus norvegicus) and black rat (rattus rattus). They’re two related species that have also spread nearly worldwide, and love to hang out with humans.

A phylogenetic tree with two branches: Mice and rats.

But Peromyscus sonoriensis isn’t either of these. Technically speaking, is it a rat or a mouse?

Well, what a great question. It’s neither.

A phylogenetic tree with two related branches, mice and rats - and then a totally different branch, the western deer mouse.

Huh, you might think. Mice are on there twice? If you know your way around a phylogenetic tree, you may wonder: maybe the common ancestor was more like a mouse, and it’s rats that are doing something weird?

Ha. Haha. Hahahaha. No. The real situation is more complicated than you could possibly believe.

Rats and mice have evolved multiple times, with some incredibly weird variations in the mean time.

This is the distance between the western deer mouse and the house mouse:

An elaborate phylogenetic tree showing that a lot of other rats, mice, muskrats, hamsters, gerbils, and other strange things with spines and weird reproductive traits are more closely related to deer mice or house mice than those two are to each other.
It’s trees all over again!

Different genes, same niche

Despite all of this genetic distance, hice mice and deer mice occupy extremely similar niches. Where the western deer mouse is native, it’s completely comfortable cozying up to human dwellings and making its nests inside our big, fancy, warm, dry, food-filled nests.

And deer mice that are widely regarded as the vectors of Sin Nombre virus – the host species that it’s evolved to circulate in. In New Mexico, two studies (one statewide, one in an area where a human was infected) found that about 35% of deer mice had the virus at any given time. Eyeballing it, this lines up pretty well with a “disease circulating stably among the mouse population that rarely spontaneously spills into humans” situation.

…But wait, are deer mice really the only carriers? That second study also found replicating, viable Sin Nombre virus in other local rodents – including the house mouse, mus musculus! The sample sizes weren’t huge, but 3 out of the 9 captured had it!

Note, however, that they only found house mice at one of the sites. There were many more deer mice than house mice. But still, 3/9!

What I don’t know, and what I don’t think anyone knows, is the degree to which hantavirus actively circulates among these other rodents. Are they just getting it incidentally from neighboring deer mice, or do they pass the virus around between themselves too? Is Sin Nombre virus just as at home in them as it is in western deer mice?

The literature is very clear that deer mice are the ones associated with Sin Nombre virus infection. For instance:

The most common hantavirus that causes HPS [that virus being SNV] in the U.S. is spread by the deer mouse.

CDC

But “common house mice (Mus musculus), which are prevalent in urban and suburban communities, do not carry hantavirus,” said Charles Chiu, MD, PhD, professor of laboratory medicine in the division of infectious diseases at the University of California, San Francisco.

2025 MSN article

(Sidenote: this article also quotes one of those New Mexico survey articles I mentioned above, saying that it “found less than 9% of deer mice had the virus.” The study did report that 10/113 deer mice had antibodies to SNV, but it also found that 37/113 of the deer mice had SNV DNA in their system. This is weird, because viral DNA is a sign of an active infection – it’s made by a virus! – but the immune response can linger for a long time after infection, so we’d really expect more mice to have antibodies to SNV than to have SNV DNA. The study does mention that this trend held up across all rodents studied, so maybe this just has to do with the sensitivity of their antibody assay.)

And there are a lot of cases where people got sick, in which the victims knew they’d come into contact with material contaminated by deer mice.

But there are also cases of infection where nobody saw a mouse, and the presence of any mice at all just has to be intuited. Is it possible that Mus musculus is responsible for some Sin Nombre cases in humans?

The public health literature is pretty unanimous about the deer mouse thing, so I’m going to proceed assuming that’s effectively the only way any human gets Sin Nombre virus, but I don’t understand why they’ve ruled out other mice too.

Human

The adventures of a dead-end host

Sin Nombre virus is a transient inside human beings – it’s not adapted here, it doesn’t stay here. We know this because when we isolate the virus from infected humans, it doesn’t easily reinfect deer mice. This suggests that small mutations have to occur to make the virus able to replicate in humans – ones that make it less viable within mice.

[…] which implies that humans are truly dead-end hosts of SNV. Thus, virus evolution is primarily, if not exclusively, occurring in the natural rodent reservoirs.

Prévost et al, 2025

But SNV can infect humans, and a virus has to replicate to make its host sick. How does it do that?

Well, it’s almost always inhaled from mouse-contaminated material. Then the virus somehow gets into the blood stream.

Once it’s there, Sin Nombre virus replicates inside a variety of human cells, but especially likes endothelial cells and macrophages.

Endothelial cells are the guys that line our blood vessels. They grow everywhere the blood vessels grow, which is to say, all over

Macrophages are a kind of immune cell that devours pathogens. The SNVs are captured by the macrophages, and as with all of their prey, are moved into a lysosome – a cellular chamber that turns into an acid bath, designed to inactivate complex biomolecules (and pathogens they’re attached to) trapped within. But the SNV particles escape into the cell membrane just as the acidification starts.

Replicating inside immune cells is a pretty common strategy for viruses. Sure, the immune cells try to spot and destroy pathogens, but they also end up capturing and moving pathogens around a lot, which can be a big boon if the pathogen has a way to just not get killed by the cell.

Some macrophages roam the bloodstream, but others are concentrated in outposts around the body. Some are in the lungs. 

As far as I can tell, Sin Nombre Virus probably gets into the lungs, then infects the alveolar macrophages (and possibly other lung-based immune cells), and then escapes from those into the blood stream where it might infect other endothelial cells. They might also manage to get through tears or thin spots in the alveolar-capillary membrane and get straight into the blood – that’s just a guess.

Replicating in endothelial cells seems kind of overpowered for a virus, right? Like, we have a gazillion of ‘em and they’re all over the body and once you’re next to the bloodstream, it’s an easy highway for a virus to get from one part of the body to a totally different part of the body. to spread from one part of the body to a totally different part of the body – and if you mounted an inflammation or severe immune response, that seems like that would kill the entire host easily and quickly.

And indeed, Sin Nombre Virus does kill its host quite effectively. Ebola, another famously lethal disease, also replicates in endothelial cells. Covid seems to be able to sometimes (in addition to its main habitat in the respiratory tract, an interesting similarity between it and Sin Nombre Virus.)

So is replication in endothelial cells a sure sign that a disease will wreck havoc on the human body?

Well, no. Dengue fever replicates in endothelial cells, and most of its hosts are asymptomatic or mildly symptomatic. Its fatality rate is literally one in a million. And moreover, cytomegalovirus is an endothelial replicator. Like we talked about before, cytomegalovirus of those viruses that’s almost a commensal – most people have symptomless cytomegalovirus infections. (It can cause disease in unborn fetuses, infants, and the immunocompromised, and seems to contribute to cancer risks down the line – it’s not great – but, again, most people have it.)

Also, lots of viruses attack tissues that are essential and would be bad to call the full attention of the immune system to – herpes viruses (another near-commensal genre of virus that most infected carry without any symptoms whatsoever) infect nerve cells, for instance. Lots of viruses infect the lungs, which are famously important, and some of them kill you and some of them are no big deal.

So I think a general lesson here is that the driver of virulence here has more to do with the rate of growth / level of viruses active at once and the degree to which they activate the immune system, not the infected tissue.

Do a bunch of people within the regions where it is have indications of asymptomatic or past infections?

This is a great question. After all, mice have it quietly, and people seem to have the capacity to carry or fight off a lot of infections quietly without notable symptoms. Are we sure this isn’t the case for hantavirus?

Well, so far as I know, nobody has checked.

Wait, can we talk about the actual disease?

Yeah, fine I guess.

According to the CDC, the early symptoms of Sin Nombre virus disease in humans – AKA hantavirus pulmonary syndrome (HPS) or hantavirus cardiopulmonary syndrome (HCPS) – emerge 1-8 weeks after acquiring the virus. They start out, like a lot of fucked up viral diseases, with generic symptoms:

  • Muscle aches
  • Fever and chills
  • Malaise
  • Headaches
  • Abdominal pain

Though “aches” might be a standout. University of Colorado Health (Colorado has a lot of SNV cases) reports that severe muscle aches, especially in the back and lower extremities, are a common hallmark of HCPS cases. (Hey, I got severe leg pain when I got shigellosis on purpose too – shigellosis, much like Sin Nombre virus, is an infectious disease that notably does not target the legs. What’s up with that?) 

4-10 days after this, the cardiopulmonary stage of disease begins, AKA “the part that kills you”:

  • Coughing
  • Shortness of breath
  • Fluid buildup in lungs/chest
  • Tachycardia
  • Arrythmia
  • Cardogenic shock
  • Respiratory failure

HCPS has a 40% death rate. Deaths occur 24-48 hours after the start of the cardiopulmonary phase. There is no vaccine or known effective antiviral.

Buying time

If you get HCPS and reach the cardiopulmonary stage, the thing that will save your life is a medical technology called extracorporeal membrane oxygenation (ECMO). An ECMO device draws large volumes of blood out of the body via inserted tubes (called cannulae), runs the blood through an artificial lung (called a membrane oxygenator) to remove carbon dioxide and reoxygenate the blood cells, and puts the blood back in the body.

HCPS seems to be one of those diseases where the body can rally and fight off the disease, if it has enough time. I attended an online lecture delivered by clinician Dr. Greg Mertz and this is the sense I got: SNV doesn’t permanently damage the heart and lungs, it just overwhelms them. If ECMO takes over while the heart and lungs are out of commission and keeps plenty of oxygenated blood in the system, the immune system can finish the job and the heart and lungs can go back to work afterward. 

If you go to a hospital with symptoms and they make a presumptive diagnosis of HCPS, you can opt into having the ECMO cannulae inserted in advance – they won’t start ECMO until you go into shock (because your heart/lungs fail), but if you do go into shock, they’ll be able to start re-oxygenating your blood immediately. At this point, doing this changes your odds of survival from 50% to 80%.

(I see that in my notes from that talk, I also wrote “Do not go into shock”, as it leads to “DEATH V FAST.” So if you get to decide at some point whether or not to go into cardiac shock in general, try not to.)

So if you think you’ve been exposed to SNV and 1-9 weeks later you start experiencing arrhythmia and shortness of breath, proceed straight to a hospital with an ECMO device.

ECMO devices are not extremely common. You can find out which hospitals near you have ECMO devices on the Extracorporeal Life Support Organization website. If you happen to be reading in Mono County, your nearest ECMO is probably in Reno Renown Regional Medical Center.

Do you need to worry?

Do you actually need to know this? Well, every year in the US, about 15 people die from being struck by lightning, and about 8 people die from hantavirus, so if you’re not in a hantavirus hotbed, almost certainly not.

…But if you’re one of the 12,000 residents of Mono County, then yeah, probably. Mono County has had an unusually high 3 HCPS deaths from hantavirus this year, so you have a 0.025% chance of dying from HCPS. 

You might actually be more likely to die from hantavirus as in a car crash (0.012% chance in any given year.) 

(Sidenote: Naively, I’d expect Mono County residents to have a 0.000004% of dying by being struck by lightning like anyone else, but if you actually look into it, Florida specifically and the southeast generally have a really disproportionate number of lightning strike deaths. We should probably stop rhetorically treating getting struck by lightning as an entirely random act of god and start thinking of it as a physical event with contributing factors like everything else.)

Questions

Why is the geographic range of hantavirus infection so limited?

Western deer mice cover live in the west half of North America.

Let’s go back to that map of USA state-level infections.

Hantavirus cases in the US are ALMOST all in the west. But a bunch of eastern states have had 1-12 cases.

So mostly, that makes sense. But how are there ANY cases in the east half of the state?

SNV’s weird siblings

Those other HCPS cases on the east coast? Well, they’re not (or at least, not only) people who happened to travel from the West Coast, and they’re not (or at least, not only) far-ranging western deer mice.

Those are the work of other, rarer hantaviruses, carried by other rodents, spilling over occasionally into other humans in the same way, causing HCPS, and with about the same fatality rate.

These diseases include:

Each of these is really rare, even rarer than SNV. But that’s odd in and of itself, right? Like, do all of these host species just interact less often with humans than deer mice in the Western US? Are the viruses less common in their hosts, or even less transmissible than SNV? The answers might be out there, but I don’t know that they are.

I ’m also curious about the California county-level breakdown: why Mono County? (And note that this is raw cases, not cases per capita – Mono County has a tiny population.) Is it because there are more deer mice? Or is hantavirus localized to certain populations of deer mice?

Well, here’s this other data on seroprevalance of hantavirus among captured mice in various counties. Sure enough, Mono County has the highest seroprevalance, at 31%, but apparently 25% of tested mice in Santa Barbara County also had SNV, and Santa Barbara has a lot of people in it!

So why does Santa Barbara see very few human cases, while Mono County has a lot?

Here’s my guess at why: it has to do with the houses, and it has to do with mice. Mono County has a lot of barns, sheds, and vacation houses that are left empty part of the year. The classic situation where a person gets SNV is cleaning out a shed or outbuilding that’s been inhabited by mice, kicking up a lot of mousy dust and particles, and inhaling SNV. A shed or a building that’s left for the summer or winter is a nicer place to build a shelter than under a bush, but it’s still not that cozy – it might not have food inside so the mouse still has to forage a lot, and it might get very cold or very dry. There might not be many other buildings nearby. A region-adapted, mostly-wild deer mouse, is going to have a better go in an outbuilding then the urban Mus musculus – and indeed, every mouse I’ve seen or caught around my home has been a deer mouse.

Santa Barbara County is much more urban and has a warmer climate. I bet the mice that people encounter there are almost all Mus musculus. I bet all the Santa Barbara deer mice live in the wild, outcompeted in cities by the larger and more urbanized mus musculus.

And the deer mice are god’s chosen carriers of SNV, and the Mus musculus aren’t. It’s just a deer mouse disease. So it’s much more likely to crop up where people interact with deer mice, and they do so a lot more in these rural, more-wild environments.

It’s an apparent puzzle that makes a lot of sense once you just ignore the human health angle for a second. SNV is a deer mouse disease that circulates among deer mice. Think about which mice want to live where. Humans, as is often the case, are providers and users of nests, and otherwise, are only relevant incidentally.

But wait, can we check this?

If my model is correct, areas that have high SNV caseloads will:

  • Be mostly rural (probably without major cities?)
  • Have extreme climates
  • Have a lot of outbuildings, plus homes that are inhabited seasonally

It would also be interesting if they’re clearly geographically clustered – like if specifically one part of the world is a hantavirus hotbed.

Yeah, let’s look at some other states that get a lot of SNV cases. I don’t expect to get great data at anything lower than the county level. Colorado and New Mexico both get more SNV cases than California, and have county level data.

I tried to look into this further, and ran into kind of a dead end. Or maybe I’m just wrong.

The counties with the highest rates include La Plata and Weld counties in Colorado, and Mckinley county in New Mexico, which is such a standout that it dwarfs the others.

La Plata County has a population of 55,638 with the largest city (Durango) at 10,000. It has some parks and overlaps a national forest, no major ski areas.

Weld County has several cities and a population of 329,000. (It contains parts of some large cities that are on the border so it’s hard to break down for sure, but a lot of people live here.) Okay, not looking great. It’s fairly flat with some mountains, and mostly farming country.

Mckinley county has one city of 20,000 and no other cities, but a lot of smaller towns and census-designated places and such. Its total population is 73,000, which is pretty big! I can’t find indications that it has a lot in the way of seasonal dwellings – there aren’t many ski resorts. The county does seem to be pretty dispersed, housingwise, which might imply more outbuildings.

So, uh, none of this actually cleanly supports my mode, but it’s not necessarily evidence against it either. We might just need data on which kinds of mice are common in human dwellings in these areas, and how common mice are overall.

What makes Andes virus infectious interpersonally, and SNV not?

It seems like ANDV builds up in the salivary glands of humans, and saliva is its mode of transmission. SNV doesn’t do that.

SNV collects in the lungs and heart. ANDV collects in the heart, lungs, and salivary glands, and tests studies have indicated virus in fluids from both of these. It seems to spread via saliva, droplets, and aerosols. Sex and close contact are major risk factors. Otherwise, ANDV has a similar features and fatality rate to SNV.

Saliva also seems to be how deer mice spread SNV and ANDV among each other – both of them show up in the salivary glands of their host mice, but only ANDV inhabits human salivary glands.

(If we could somehow prove that ANDV could spread from the lungs, well, that would suggest some new mechanism also in play – but that seems hard to test, given that the mouth is, you know, between the lungs and the rest of the world.)

That said, I actually don’t understand why ANDV isn’t airborne, or otherwise transmitted from the lungs. The mousy particles that infect humans seem to be from kicked up dust and such, so there’s reason to think it could be aerosolized – maybe the virus particles don’t escape the lungs very well?


That’s all the things I know about Sin Nombre virus, plus some things I don’t. Let me know if you have the answers. In the mean time, don’t die of cardiopulmonary shock. I, for one, am doing my best out here.

This post is mirrored to Eukaryote Writes Blog, Substack, and Lesswrong.

Support Eukaryote Writes Blog on Patreon.



Read the whole story
mrmarchant
8 hours ago
reply
Share this story
Delete

Death by Duxelles

1 Share

Erin Patterson used death cap mushrooms in a beef Wellington she served to members of her extended family in 2023, killing three of her four lunch guests in a triple homicide that shocked Australia. For Vittles, Aaron Timms asks, “What were the specific historical conjunctures that led Patterson to choose, for her victims, death by duxelles?”

Patterson’s escapades took place against the backdrop of a nation suddenly mad for foraging – or at least dead keen on the idea of a trained professional doing it for them. Death caps are not, I probably don’t need to point out, the type of thing Australians usually like to harvest for their own consumption. But thanks to the species identification tool on iNaturalist – a photo-based, user-sourced biodiversity platform that includes more than 300 million observations of plants and other organisms worldwide – they’re relatively easy to identify. Indeed, Patterson relied on iNaturalist to scout her noxious haul, diverting users’ cautionary tagging of death caps on the platform towards a far darker end.

Read the whole story
mrmarchant
9 hours ago
reply
Share this story
Delete

There Are No Weird Blogs Anymore Cause It’s More Fruitful to Drive Them Out of Business

1 Share

I learned many surprising lessons from my 20 months as editor-in-chief of Deadspin, the skeptical, irreverent, hilarious, trailblazing sports outlet that entertained, offended, and educated audiences in roughly equal measure. 

I learned from a cease-and-desist letter that Jacuzzi is a trademarked brand, and that the hotel room in which a world-famous soccer star was alleged to have raped a woman contained a mere “spa” or “hot tub.” I learned from inhaling Chartbeat that our very dumbest stories and our very smartest stories would always be our biggest traffic drivers. I learned from our general counsel more than I ever wanted to know about the precise limits of fair use. I learned from my coworkers — all of them brilliant and entirely deranged — that there is no limit to how hard I can laugh in a soul-suckingly bland Times Square cubicle farm. Even knowing how it all ended, I’d still take the job 100 times out of 100.

The most consequential lessons I learned, though, were about the ways in which I had misunderstood “free market” capitalism, and about what that meant for the industry that gave me my career. Those are the lessons I haven’t stopped agonizing over six years later, the ones that led to my first book but also caused scores of sleepless nights. 

Read the whole story
mrmarchant
9 hours ago
reply
Share this story
Delete

IBM Patented Euler's 200 year old Math Technique

1 Share
LeetArxiv is a successor to Papers With Code after the latter shutdown.
Quick Summary
IBM owns the patent to the use of derivatives to find the convergents of a generalized continued fraction.
Here’s the bizarre thing: all they did was implement a number theory technique by Gauss, Euler and Ramanujan in PyTorch and call backward() on the computation graph.
Now IBM’s patent trolls can charge rent on a math technique that’s existed for over 200 years.

Hey, it’s Murage. I code, analyze papers, and prep marketing material solo at Leetarxiv. Fighting patent trolls was not on my 2025 bingo card. Please consider supporting me directly.

As always, code is available on Google Colab and GitHub.

1.0 Paper Introduction

The 2021 paper CoFrNets: Interpretable Neural Architecture Inspired by Continued Fractions (Puri et al., 2021)1 investigates the use of continued fractions in neural network design.

The paper takes 13 pages to assert: continued fractions (just like mlps) are universal approximators.

The authors reinvent the wheel countless times:

  1. They rebrand continued fractions to ‘ladders’.

  2. They label basic division ‘The 1/z nonlinearity’.

  3. Ultimately, they take the well-defined concept of Generalized Continued Fractions and call them CoFrNets.

Authors rename generalized continued fractions. Taken from page 2 of (Puri et al., 2021)

Honestly, the paper is full of pretentious nonsense like this:

The authors crack jokes while collecting rent on 200 years of math knowledge. Taken from page 2

1.1 Quick Intro to Continued Fraction Expansions

Simple continued fractions are mathematical expressions of the form:

Continued fraction. Taken from John D. Cook

where pn / qn is the nth convergent (Cook, 2022)2.

Continued fractions have been used by mathematicians to:

  1. Approximate Pi (MJD, 2014)3.

    Approximations of Pi taken from WolframAlpha
  2. Design gear systems (Brocot, 1861)4

    • Achille Brocot, a clockmaker, 1861 used continued fractions to design gears for his watches

  3. Even Ramanujan’s math tricks utilised continued fractions (Barrow, 2000)5

Continued fractions are well-studied and previous LeetArxiv guides include (Lehmer, 1931)6 : The Continued Fraction Factorization Method and Stern-Brocot Fractions as a floating-point alternative.

If your background is in AI, a continued fraction looks exactly like a linear layer but the bias term is replaced with another linear layer.

(Jones, 1980)7 defines generalized continued fractions as expressions of the form :

written more economically as :

where a and b can be integers or polynomials.

2.0 Model Architecture

The authors replace the term continued fraction with ‘ladder’ to hide the fact they are reinventing the wheel

The authors simply implement a continued fraction library in Pytorch and call the backward() function on the resulting computation graph.

That is, they chain linear neural network layers and use the reciprocal (not RELU ) as the primary non-linearity.

Then they replace the bias term of the current linear layer with another linear layer. This is a generalized continued fraction.

In Pytorch, their architecture resembles this:

import torch
import torch.nn as nn
import torch.optim as optim
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import numpy as np

class CoFrNet(nn.Module): 
    def __init__(self, input_dim, num_ladders=10, depth=6, num_classes=3, epsilon=0.1):
        super(CoFrNet, self).__init__()
        self.depth = depth
        self.epsilon = epsilon
        self.num_classes = num_classes

        #Linear layers for each step in each ladder
        self.weights = nn.ParameterList([
            nn.Parameter(torch.randn(num_ladders, input_dim)) for _ in range(depth + 1)
        ])

        #Output weights for each class
        self.output_weights = nn.Parameter(torch.randn(num_ladders, num_classes))

    def safe_reciprocal(self, x):
        return torch.sign(x) * 1.0 / torch.clamp(torch.abs(x), min=self.epsilon)

    def forward(self, x):
        batch_size = x.shape[0]
        num_ladders = self.weights[0].shape[0]

        # Compute continued fractions for all ladders
        current = torch.einsum(’nd,bd->bn’, self.weights[self.depth], x)

        # Build continued fractions from bottom to top
        for k in range(self.depth - 1, -1, -1):
            a_k = torch.einsum(’nd,bd->bn’, self.weights[k], x)
            current = a_k + self.safe_reciprocal(current)

        # Linear combination for each class
        output = torch.einsum(’bn,nc->bc’, current, self.output_weights)
        return output

def test_on_waveform():
    # Load Waveform-like dataset
    X, y = make_classification(
        n_samples=5000, n_features=40, n_classes=3, n_informative=10,
        random_state=42
    )

    # Split data
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

    # Standardize
    scaler = StandardScaler()
    X_train = scaler.fit_transform(X_train)
    X_test = scaler.transform(X_test)

    # Convert to torch tensors
    X_train = torch.FloatTensor(X_train)
    X_test = torch.FloatTensor(X_test)
    y_train = torch.LongTensor(y_train)
    y_test = torch.LongTensor(y_test)

    # Model
    input_dim = 40
    num_classes = 3
    model = CoFrNet(input_dim, num_ladders=20, depth=6, num_classes=num_classes)

    # Training
    criterion = nn.CrossEntropyLoss()
    optimizer = optim.Adam(model.parameters(), lr=0.001)

    epochs = 100
    batch_size = 64

    for epoch in range(epochs):
        model.train()
        permutation = torch.randperm(X_train.size()[0])

        for i in range(0, X_train.size()[0], batch_size):
            indices = permutation[i:i+batch_size]
            batch_x, batch_y = X_train[indices], y_train[indices]

            optimizer.zero_grad()
            outputs = model(batch_x)
            loss = criterion(outputs, batch_y)
            loss.backward()
            optimizer.step()

        # Validation
        if epoch % 10 == 0:
            model.eval()
            with torch.no_grad():
                train_outputs = model(X_train)
                train_preds = torch.argmax(train_outputs, dim=1)
                train_acc = (train_preds == y_train).float().mean()

                test_outputs = model(X_test)
                test_preds = torch.argmax(test_outputs, dim=1)
                test_acc = (test_preds == y_test).float().mean()

            print(f’Epoch {epoch:3d} | Loss: {loss.item():.4f} | Train Acc: {train_acc:.4f} | Test Acc: {test_acc:.4f}’)

    print(f”\nFinal Test Accuracy: {test_acc:.4f}”)
    return test_acc.item()

if __name__ == “__main__”:
    accuracy = test_on_waveform()
    print(f”CoFrNet achieved {accuracy:.1%} accuracy on Waveform dataset”)

3.0 Results

Testing on a non-linear waveform dataset, we observe these results:

CoFrNet learns a non-linear dataset

An accuracy of 61%.

Nowhere near SOTA and that’s expected.

Continued fractions are well-studied and any number theorist would tell you the gradients vanish ie there are limits to the differentiability of the power series.

The authors use power series of continued fractions to interpret their moderate success. Taken from page 6 of (Puri et al., 2021)

Even Euler’s original work (Euler, 1785)8 allude to this fact: it is an infinite series so optimization by differentiation has its limits.

Pytorch’s autodiff engine replaces the differentiabl series with a differentiable computational graph.

The authors simply implemented a continued fraction library in Pytorch and as expected, saw the gradients could be optimized.

4.0 The Patent

Patent application for Continued Fractions. Taken from Justia Patents

As the reviewers note, the idea seems novel but the technique is nowhere near SOTA and the truth is, continued fractions have existed for a while. They simply replace the linear layers of a neural network with generalized continued fractions.

Here’s the bizarre outcome: the authors filed for a patent on their ‘buzzword-laden’ paper in 2022.

The patent has been published on Google Patents.

Their patent was published and its status marked as pending.

Here’s the thing:

  1. Continued fractions have existed longer than IBM.

  2. Differentiablity of continued fractions is well-known.

  3. The authors did not do anything different from Euler’s 1785 work.

    • Generalized continued fractions can take anything as inputs. It can be integers, or the CIFAR-10 dataset. That’s what the ‘generalized’ means.

Now, If IBM feels litigious they can sue Sage, Mathematica, Wolfram or even you for coding a 249 year old math technique.

4.1 Who is affected by IBM’s Patent?

  1. Mechanical engineers, Robotics and Industrialists

    • Continued fractions are used to find the best number of teeth for interlocking gears (Moore, 1964)9. If you happen to use the derivative to optimize your fraction selection then you’re affected

    Taken from page 30 of An Introduction to Continued Fractions (Moore, 1964)
  2. Pure Mathematicians and Math Educators

    I’m a Math PhD and I learnt about the patent while investigating Continued Fractions and their relation to elliptic curves (van der Poorten, 2004)10.

    I was trying to model an elliptic divisibilty sequence in Python (using Pytorch) and that’s how I learnt of IBM’s patent.

    Abstract for the 2004 paper Elliptic Curves and Continued Fractions (van der Poorten, 2004)
  3. Numerical Analysts and Computation Scientists/Sage and Maple Programmers

    Numerical analysis is the use of computer algorithms to approximate solutions to math and physics problems (Shi, 2024)11.

    Continued fractions are used in error analysis when evaluating integrals and entire books describe these algorithms (Cuyt et al., 2008)12.

Join the fight against IBM’s patent trolls

References

1

Puri, I., Dhurandhar, A., Pedapati, T., Shanmugam, K., Wei, D., & Varshney, K. R. (2021). CoFrNets: Interpretable neural architecture inspired by continued fractions. In A. Beygelzimer, Y. Dauphin, P. Liang, & J. Wortman Vaughan (Eds.), Advances in neural information processing systems. https://openreview.net/forum?id=kGXlIEQgvC

2

Cook, J. (2022). Continued fractions as matrix products. Blog Post.

3

MJD. (2014). How to find continued fraction of pi. Mathematics Stack Exchange. https://math.stackexchange.com/q/716976

4

Brocot, A. (1861). Calcul des rouages par approximation, Nouvelle méthode. Revue chronomeétrique, 3. 186-94.

5

Barrow, J. (2000). Chaos in Numberland: The secret life of continued fractions. Link.

6

Jones, William B., and W. J. Thron (1980). Continued Fractions: Analytic Theory and Applications. Cambridge University Press.

7

Lehmer, D. H., & Powers, R. E. (1931). On factoring large numbers. Bulletin of the American Mathematical Society, 37(10), 770–776.

8

Euler, L. (1785). De transformatione serierum in fractiones continuas, ubi simul haec theoria non mediocriter amplificatur (D. W. File, Trans., 2004). Department of Mathematics, The Ohio State University. (Original work published 1785)

9

Moore, C. (1964). An Introduction to Continued Fractions. National Council of Teachers of Mathematics. Link.

10

van der Poorten, A. J. (2004). Elliptic curves and continued fractions [Preprint]. arXiv. https://arxiv.org/abs/math/0403225

11

Shi, A., (2024). Numerical Analysis (Math 128a). UC Berkeley. Link.

12

Cuyt, A., Petersen, V. B., Verdonk, B., Waadeland, H., & Jones, W. B. (2008). Handbook of continued fractions for special functions. Springer.





Download audio: https://api.substack.com/feed/podcast/178242842/60adefee518c48b9aa7252d6ec10aa20.mp3
Read the whole story
mrmarchant
11 hours ago
reply
Share this story
Delete

Needy Programs

1 Share

If you’ve been around, you might’ve noticed that our relationships with programs have changed.

Older programs were all about what you need: you can do this, that, whatever you want, just let me know. You were in control, you were giving orders, and programs obeyed.

But recently (a decade, more or less), this relationship has subtly changed. Newer programs (which are called apps now, yes, I know) started to want things from you.

Accounts

The most obvious example is user accounts. In most cases, I, as a user, don’t need an account. Yet programs keep insisting that I, not them, “need” one.

I don’t. I have more accounts already than a population of a small town. This is something you want, not me.

The only correct reaction to an account screen

And even if you give up and create one, they will never leave you alone: they’ll ask for 2FA, then for password rotation, then will log you out for no good reason. You’ll never see the end of it either way.

This got so bad that when a program doesn’t ask you to create an account, it feels refreshing.

“Okay, but accounts are still needed to sync stuff between machines.”

Wrong. Syncthing is a secure, multi-machine distributed app and yet doesn’t need an account.

“Okay, but you still need an account if you pay for a subscription?”

Mullvad VPN accepts payments and yet didn’t ask me for my email.

How come these apps can go without an account, but your code editor and your terminal can’t?

Updates

Every program has an update mechanism now. Everybody is checking for updates all the time. Some notoriously bad ones lock you out until you update. You get notified a few seconds after a new version is available.

And yet: do we, users, really need these updates? Did we ask for them?

I’ve been running barebone Nvidia drivers without their bloated desktop app (partly because it asks for an account, lol).

As a result, there’s nobody to notify me about new drivers. And you know what? It’s been fine. I could forget to update for months, and still everything works. It’s the most relaxing I’ve felt in a while.

Even terminal programs bother you with updates now.

There has been a new major release of Syncthing in August. How did I learn about it? By accident; a friend told me. And you know what? I’m happy with that. If I upgrade, nothing in my life will change. It works just fine now. So do I really need an update? Is it my need?

It’s simple, really. If I need an update, I will know it: I’ll encounter a bug or a lack of functionality. Then I’ll go and update.

Until then, politely fuck off.

Notifications

Notifications are the ultimate example of neediness: a program, a mechanical, lifeless thing, an unanimate object, is bothering its master about something the master didn’t ask for. Hey, who is more important here, a human or a machine?

Notifications are like email: to-do items that are forced on you by another party. Hey, it’s not my job to dismiss your notifications!

I just downloaded this and already have three notifications to dismiss.

Sure, there are good notifications. Sometimes users need to be notified about something they care about, like the end of a long-running process.

But the general pattern is so badly abused that it’s hard to justify it now. You can make a case that giving a toddler a gun can help it protect itself. But much worse things will probably happen much sooner.

These fucking dots.

There’s no good reason why, e.g. code editor needs a notification system. What’s there to notify about? Updates? Sublime Text has no notifications. And you know what? It works just fine. I never felt underinformed while using it.

The ultimate example: account, update, and notification

Onboarding

The company needs to announce a new feature and makes a popup window about it.

Read this again: The company. Needs. It’s not even about the user. Never has been.

What’s new in Calendar? I don’t know, 13th month?

Did I ask about Copilot? No. The company wants me to use it. Not me:

Do I care about Figma Make? Not really, no.

Yet I still know about it, against my will.

To sum it up

I’ve read somewhere (sorry, lost the link):

ls never asks you to create an account or to update.

I agree. ls is a good program. ls is a tool. It does what I need it to do and stays quiet otherwise. I use it; it doesn’t use me. That’s a good, healthy relationship.

At the other end of the spectrum, we have services. Programs that constantly update. Programs that have news, that “keep you informed”. Programs that need something from you all the time. Programs that update Terms of Service just to remind you of themselves.

Programs that have their own agenda and that are trying to make it yours, too. Programs that want you to think about them. Programs that think they are entitled to a part of your attention. “Pick me” programs.

And you know what? Fuck these programs. Give me back my computer.

Read the whole story
mrmarchant
11 hours ago
reply
Share this story
Delete

I'm sorry, but you do not have enough coins for democracy

1 Share
Comments
Read the whole story
mrmarchant
11 hours ago
reply
Share this story
Delete
Next Page of Stories