From the Rubaiyat of Omar Khayyam: The Moving Finger writes, and having writ / Moves on, nor all thy piety and wit / Shall lure it back to cancel half a line / Nor all thy tears erase one word of it.
A collection of Mathematica programs and rhymed poetry written for Advent of Code 2021. Highlights include a ten-page cave-diving text adventure game poem and the confessions of a polymer scientist.
2015 Day 6: Turn regions of a 1000x1000 grid of lights off and on again, and count how many are on at the end. After optimizing our brute-force, we explore other potential improvements and speedups.
From /r/WritingPrompts, a story of a mathematical ghost that won't leave, a girl who doesn't like him too much, an RSA-encrypted message that can't be decoded, and number theory that death can't end.
From /r/WritingPrompts, a bizarre short story from a bizarre prompt about every different country having its own personal Sun. Surprisingly, this story includes a wholly relevant GK Chesterton poem.
2015 Day 5: Count the number of strings, from a given list, which fit a number of strange syntax / character requirements. We don't find big optimizations, but at 2.4 milliseconds, we don't need to.
2015 Day 4: Brute-force search through strings to find those whose MD5 hashes have leading 0s. After solving the problem using Rust's MD5 crate, we analyze MD5's algorithm to find possible speedups.
2015 Day 3: Follow cardinal directions to travel through a 2D grid with either one or two agents, and count all the grid positions visited at least once. Includes forays into structs and add-assign.
2015 Day 2: An arithmetic problem involving the dimensions of presents, wrapping paper, and bows; an easy problem made trickier by not knowing how to convert strings or how to appease borrow chekers.
2015 Day 1: The simplest problem of the year, done by complete beginners inexperienced with Rust's syntax, types, and error-handling. Features a 2000x speedup over an equivalent Mathematica program.