Types versus sets in math and programming languages
For several years I have been designing and implementing a functional teaching language especially for use in the context of a Discrete Mathematics course. The idea is for students to be exposed to…
The Joy of Condensed Matter
I published a slightly different version of this article in Nautilus on February 24, 2021. Everyone seems to be talking about the problems with physics: Woit’s book Not Even Wrong, SmolinR…
Evaluating Search Algorithms
The three-step framework Shopify's Data Science & Engineering team built for evaluating new search algorithms.
Understanding Multiple Neighbourhood Cellular Automata
Multiple Neighborhood Cellular Automata (MNCA) produce complex and robust emergent structures not commonly seen in simpler models
JPEG XL would be Turing-complete without the 1024×1024 pixel limitation
You can construct the Rule 110 cellular automaton in JPEG XL.
Entropy and Algebra and Topology = ?
Today I'd like to share some math connecting ideas from information theory, algebra, and topology. It's all in a new paper I've recently uploaded to the arXiv (https://arxiv.org/abs/2107.09581), which describes a correspondence between Shannon entropy and functions on topological simplices that obey a version of the…
Computing the number of digits of an integer even faster
I my previous blog post, I documented how one might proceed to compute the number of digits of an integer quickly. E.g., given the integer 999, you want 3 but given the integer 1000, you want 4. It is effectively the integer logarithm in base 10. On computers, you can quickly compute the integer logarithm … Continue…
Finite State Machines
To infinity and beyond!
Floor, Ceiling, Bracket
The notation [x] reigned for nearly two centuries before being replaced by ⌊x⌋. Why the latter is much better and what else we might learn from its inventor.