Probability questions about choosing at random are easy to describe in English, but frustratingly difficult to compute. I design and build a new calculator to make it easier to ask and answer these probability problems.

Read Post
Solving an expected value problem by multiplying polynomials. Also, I ask (and fail to answer) a seemingly difficult question about limits.

Read Post
How manually manipulating strides opens up new array operations, and why swapping tiles of 2D arrays requires *four* dimensions.

Read Post
Exploring how manipulating stride lengths can transpose an array, as well as C vs. Fortran contiguity.

Read Post
A detailed look at strides are used to define the shape and order of multi-dimensional arrays.

Read Post
Implementing expressions to approximate $\pi$ using J and the power of hooks.

Read Post
Presenting the slow, faster and (possibly) fastest algorithms to count permutations that avoid repeating letters.

Read Post
What makes this algorithm work? A simple overview of the key steps and code involved.

Read Post
Jumping through hoops to write the famous Quake 3 code in Python.

Read Post
Well, not quite 100 yet. You can find them at

github.com/ajcr/100-pandas-puzzles
Read Post
Where did the value of 0.145 come from? Contour plots.

Read Post
There are two strategies to accumulating reputation, answer fast, or answer slow. Here's how to go slow and build upvotes.

Read Post
Is there a neat way to turn a list into a tower of powers?

Read Post
einsum is one of NumPy's jewels. What does it do?

Read Post
I argue it's mostly blue and green.

Read Post
Exploring domain names to find the words nobody has used yet.

Read Post
Hello and welcome.

Read Post