Servers in dawn-dusk orbit

Despite the predictions that no one would ever put build data centers in space, Google is starting on Thursday. Google’s prototype satellite will be one of 130 payloads on SpaceX’s Transporter 18 mission on October 1. The server will follow a dawn-dusk orbit, a special case of a sun-synchronous orbit (SSO), following the terminator line […] The post Servers in dawn-dusk orbit first appeared on John D. Cook.

Posted on: 25 September 2026 | 6:45 am

Navigation with only addition, subtraction, and tables

In the novel Carry On, Mr. Bowditch, a sailor asked Nathaniel Bowditch to teach him how to do navigational calculations, but the man only knows how to add and subtract by counting on his fingers. He had not heard of multiplication. Bowditch is surprised, but realizes if he made tables of logs of trig functions, […] The post Navigation with only addition, subtraction, and tables first appeared on John D. Cook.

Posted on: 23 September 2026 | 9:11 am

Nathaniel Bowditch

A couple days ago a friend told me about the book Carry On, Mr. Bowditch, a fictional account of the life of Nathaniel Bowditch (1773–1838). I’ve been listening to the book on Audible, and apparently it’s only lightly fictionalized. Bowditch was a self-educated mathematician and astronomer, best known for his book The American Practical Navigator, […] The post Nathaniel Bowditch first appeared on John D. Cook.

Posted on: 22 September 2026 | 9:01 am

Haversine law

Suppose you want to solve a triangle. You know two sides and the angle between them. Then you can solve for the third side using the law of cosines. Now suppose you want to solve a big triangle, a triangle on the surface of the earth so large that the curvature of the earth matters. You […] The post Haversine law first appeared on John D. Cook.

Posted on: 21 September 2026 | 6:13 pm

Why fitting a logistic is nearly impossible from early data

Nothing grows exponentially forever. What appears to be an exponential curve often turns out to be some sort of S curve, such as a logistic curve. Suppose you’re collecting data on the left side of the curve. If there’s even a small amount of error in your data, you won’t be able to predict the […] The post Why fitting a logistic is nearly impossible from early data first appeared on John D. Cook.

Posted on: 18 September 2026 | 8:17 pm

Empirical fractal

There’s a common saying in discussion of fractals that the length of a coastline depends on how small a device you use to measure it. I thought this was a hypothetical, say as applied to the steps in the construction of the Koch snowflake. But the saying has its roots in actually surveying. Lewis Fry […] The post Empirical fractal first appeared on John D. Cook.

Posted on: 17 September 2026 | 11:48 am

Phone words

I recently bought a copy of Los Alamos Rolodex, a book displaying business cards from Los Alamos Nation Labs from 1967 to 1978. You can find some examples of the cards here. One of the cards in the book is for Eugene Frank, President of B & F Instruments. His card lists his phone number […] The post Phone words first appeared on John D. Cook.

Posted on: 17 September 2026 | 9:03 am

Converting between cosine similarity and concentration ratio

I’ve written three posts on cosine similarity lately. The first looked at interpreting cosine similarity. The second looked at an approximation related to the first. The third looked at how ranking according to cosine similarity works better than cosine similarity itself. Normalized word vectors are points on a high dimensional sphere, and geometry in high […] The post Converting between cosine similarity and concentration ratio first appeared on John D. Cook.

Posted on: 16 September 2026 | 11:05 am

Coffee + milk ≠ latte

Yesterday I wrote about the canonical example of how vector embeddings of words add: “king” − “man” + “woman” ≈ “queen” This should be interpreted as saying that the word vector for king, minus the word vector for man, plus the word vector for woman, is in some sense close to the word vector for queen. This post will […] The post Coffee + milk ≠ latte first appeared on John D. Cook.

Posted on: 16 September 2026 | 10:06 am

Fibonacci product

The product of four consecutive Fibonacci numbers equals the product of two consecutive integers. For example, 3 × 5 × 8 × 13 = 39 × 40. I ran across this theorem in a note [1] that says “The product of any four consecutive Fibonacci numbers is twice a triangular number.” Since triangular numbers have […] The post Fibonacci product first appeared on John D. Cook.

Posted on: 16 September 2026 | 7:04 am

Simple approximation for spherical cap area

The previous post looked at how to interpret cosine similarity, or equivalently angles between word vectors. In a high-dimensional space, randomly chosen vectors are likely nearly perpendicular, and so relatively large angles, such as 50°, indicate very closely related words. Another way to look at this, as explained in the previous post, is that in […] The post Simple approximation for spherical cap area first appeared on John D. Cook.

Posted on: 15 September 2026 | 5:00 pm

What counts as a large cosine similarity?

Machine learning represents words as vectors and measures the similarity of words by the angles between the vectors. For vectors x and y, where θ is the angle between the vectors, and so This is the cosine similarity between the words represented by x and y. Small angles have large cosines, and so words with larger cosine similarities […] The post What counts as a large cosine similarity? first appeared on John D. Cook.

Posted on: 15 September 2026 | 11:06 am

Guessing the meaning of a number

Suppose I give you an n-digit number and ask you what it represents. This seems impossible, and in theory it is impossible. But in practice it’s often possible. Apps on a phone may automatically interpret a 10-digit number as a phone number or a 16-digit number as a package tracking number. And very often these interpretations are […] The post Guessing the meaning of a number first appeared on John D. Cook.

Posted on: 14 September 2026 | 5:44 am

Bayesian OCR

The Greek letter β (beta) and the German letter ß (eszett) look similar, especially in some fonts. Now suppose an OCR program sees some character that could be a beta or could be an eszett. It could calculate some kind of distance between between the pixel pattern of the character and the pixel patterns of […] The post Bayesian OCR first appeared on John D. Cook.

Posted on: 10 September 2026 | 7:32 am

A 50-year-old computer-assisted proof

The idea of using computers to assist with proofs is not new. The first major computer-assisted proof was published in 1976, the proof of the four color theorem by Kenneth Appel and Wolfgang Haken. The authors reduced the proof of the four color theorem to verifying calculations on 1,834 configurations, each checked by a computer […] The post A 50-year-old computer-assisted proof first appeared on John D. Cook.

Posted on: 9 September 2026 | 9:59 am

AI is an intelligence multiplier

A rising tide may lift all boats, but the AI tide lifts some boats much more than others. By all accounts, the best programmers have had the biggest productivity boost from AI. And top tier mathematicians are using AI to settle long-standing mathematical conjectures. AI is a powerful tool, but tools don’t come to life […] The post AI is an intelligence multiplier first appeared on John D. Cook.

Posted on: 9 September 2026 | 9:17 am

The part of Navier-Stokes no one is talking about

Yesterday OpenAI announced a proof that settled a long-standing question about the Navier-Stokes equations from fluid dynamics. The announcement has created a lot of buzz, as one would expect. But there’s an aspect of OpenAI’s work that I haven’t seen anyone talk about: they posted a Lean 4 formal proof at the same time as […] The post The part of Navier-Stokes no one is talking about first appeared on John D. Cook.

Posted on: 9 September 2026 | 7:43 am

Navier-Stokes in the news

There are rumors that a long-standing math problem, one of the Millennium Prize problems, has been solved. The problem concerns technical properties of solutions to the Navier-Stokes equations [1], a set of equations that describe the dynamics of fluid flow. Popular accounts of the problem are often oversimplified and misleading. Some reports will speak of […] The post Navier-Stokes in the news first appeared on John D. Cook.

Posted on: 8 September 2026 | 10:26 am

Ngram error rate

The Online Etymological Dictionary gives the following etymology for grok: grok (v.) “understand empathically,” 1961, an arbitrary formation by U.S. science fiction writer Robert A. Heinlein (1907-1988) in his book “Stranger in a Strange Land.” In the book it is a transliteration of a Martian word and is said to mean etymologically “to drink.” It attained […] The post Ngram error rate first appeared on John D. Cook.

Posted on: 7 September 2026 | 1:35 pm

Proof of the rank-trace theorem

The previous post discussed the motivation for and application of the rank-trace theorem. This post will give a proof. Suppose A is a real symmetric matrix. The rank-trace inequality says where tr is the trace operator, the sum of the elements along the diagonal of the matrix. Terse proof Here’s the proof in a nutshell: diagonalize A […] The post Proof of the rank-trace theorem first appeared on John D. Cook.

Posted on: 5 September 2026 | 12:04 pm

Computing a lower bound on matrix rank

Suppose you want to know the rank of an n × n matrix A, the number of linearly independent rows of A, or equivalently the number of linearly independent columns. There are at least three difficulties. Difficulties in computing rank First of all, rank is not a continuous function of a matrix. Since rank is an […] The post Computing a lower bound on matrix rank first appeared on John D. Cook.

Posted on: 4 September 2026 | 9:16 am

Hugging Face Easter Egg

NVIDIA has offered to buy Hugging Face for $12,930,300,000. 129303 is the Unicode code point for the Hugging Face emoj (U+1F917), which you can verify with the following Python code. >>> import unicodedata >>> 129303 == 0x1F917 True >>> unicodedata.name(chr(0x1F917)) 'HUGGING FACE' Related posts Prevent characters from displaying as emoji Unicode, Tolkien, and Privacy Unicode […] The post Hugging Face Easter Egg first appeared on John D. Cook.

Posted on: 3 September 2026 | 6:34 pm

New RSA number factored

Eric Lu announced on X today that he has factored RSA-260, a number N with 260 digits (862 bits) that is the product of two large primes [1]. RSA numbers are challenge problems posed to gauge the security of RSA encryption, which rests on the difficulty of factoring large numbers [2]. The naming scheme is […] The post New RSA number factored first appeared on John D. Cook.

Posted on: 3 September 2026 | 12:21 pm

Patented application of linear algebra

I just found out Brian Beckman and I got a patent on work we did for GSI Technology [1]. Nearly all the work I do is under an NDA, so I don’t often get a chance to talk about my projects. This work is public now that it’s in a patent; I suppose it has […] The post Patented application of linear algebra first appeared on John D. Cook.

Posted on: 31 August 2026 | 6:26 pm

Making the unnecessary easier

I watched a few videos this morning, looking for ideas of what I could use AI to do. In one video, someone had an agent monitor tech news sites every 30 minutes to notify him of a variety of developments. No doubt that’s less effort than visiting a bunch of sites every half hour, but […] The post Making the unnecessary easier first appeared on John D. Cook.

Posted on: 28 August 2026 | 9:35 am