Regression Analysis from Scratch
I have a regression analysis project where I’m implementing the math from scratch rather than calling a library function. The goal is to understand what’s actually happening inside
sklearn.linear_model.LinearRegression()before I use it as a black box.This post is coming soon. It will cover least squares, the normal equation, gradient descent, and polynomial regression, all in raw numpy.
Non-Symmetrical Dice: When Fairness Gets Weird
A fair die doesn’t have to be a cube. A fair die just needs each face to have equal probability of landing face-up. But how do you build one that isn’t symmetric?
I’ve been exploring this question computationally. The project is at early stage but the results are already counterintuitive. More details coming as I work through the geometry and the simulations.
Where Creativity Lives in Mathematics
Around 2004, during college, my mom told me that mathematics was creative.
She was a watercolor artist. She understood creativity as something you could point at: the choice of color, the decision to leave white space, the moment you stop adding paint. So when she said math was creative too, I took it seriously. But I couldn’t think of a good example. Math felt mechanical to me at the time. You follow the steps, you get the answer. Where’s the creativity in that?
256 Universes in One Byte: Exploring 1D Cellular Automata
A row of cells. Each cell is either on or off. Every generation, each cell looks at itself and its two neighbors, then follows a rule to decide what it becomes next. That’s it. That’s the whole system.
From this absurdly simple setup, you get chaos, fractals, traffic jams, and even a system capable of computing anything a laptop can compute. All from one byte of information.
How It Works
The neighborhood is three cells wide: left, center, right. Since each cell can be 0 or 1, there are 2^3 = 8 possible patterns. A rule assigns an output (0 or 1) to each pattern. Eight binary choices = one byte = a number from 0 to 255.