User:DroneBetter
I came here to make minor corrections, but also peruse Catagolue and add information here about things I find there (which is easy because quite a lot seems to be overlooked), and made some articles regarding programming.
![]() |
Programming
I began programming initially with Scratch, and eventually made a real-time raytracer (supporting Newtonian lower speeds of light and gravitational lensing) before moving onto Python, in which I only became very proficient at about the time I made my chess tablebase program, for generating, rendering and simulating state transition diagrams in 3D (with springs and repulsion (to attempt to optimise Euclidean space to the distance metric between cells)), it has a mode for exhaustive oscillator searches in bounded regions in cellular automata (currently only feasibly up to 5*5, in INT rules without b0), with diagram-viewing for that also (like the Wolfram demonstration except they are 2D states in a 3D space instead of 1D and 2D), it takes quadratic time to simulate physics because it doesn't implement the fast multipole method. It supports topological manifolds (in both chess and CA) but only reduces the number of states to search by considering only those nonequivalent under symmetry, not vertex-transitivity (as is allowed by some manifolds). Here is the discussion thread (in which I explained much of my other programming :-)
Its purposes for chess, though less elementary, may still be of interest here, being that it concerns recursive application of a simple function (albeit of checkmate regression on finite graphs instead of infinite planes), that give rise to phenomena like the KRvK DTM distribution with respect to board width. The question "How many nonequivalent positions on an n*n board are checkmate in k half-moves" is only computable as a finite polynomial with respect to n for k<=3 (after which the only fitting polynomials for the known terms exceed degree 6, which is the maximum it can be without growing faster than the number of states (though I haven't computed it very far yet so don't know whether any could have anything like difference polynomials for parities like the number of nonequivalent positions of two kings of different colours), but suspect not).
The cellular automaton mode was initially implemented in a trivial schoolbook manner, with each state being a list of booleans (because then I could reuse the cached king moves from the chess mode which worked with manifolds instead of reimplementing it), until my dear friend Redstoneboi (from the forums here) told me about David Buchanan's Github gist, gzip_swar_life.py, which simulates Life with "(Single-Instruction Multiple-Data) Within A Register" (a recursive initialisation), the SWAR because it represents bounded states as integers with four bits per cell so that its computations with bitwise operators can be done in the underlying C implementation (with a constant amount of Python interpreter overhead), the gzip is because it pretends its output is compressed so that gzip's decompression to eight bits per cell converts it to a YUV4MPEG video (which can be streamed at 1080p60fps, or 124416000 cells/second (!!)). I decided to begin modifying it for my program, and made a fork, gzip_swar_isotropic_non-totalistic, also detailed in my forum thread, supporting arbitrary OT rules (and INT ones in 9 bits per cell (in 3*3 squares) then 8 (in 8*1 rectangles) after I realised it can check its own state in the same manner as the original program, which will allow video streaming without the intermediate gzip), and topological manifolds (reversing the bit order on scrolled edges in logarithmic time) and preliminary support for infinite planes (by exporting the state to an RLE, rescaling the board to have one-cell margins and reimporting the state). It can now analyse oscillators (to automatically sort Catagolue censuses by volatility), which found a few previously-unknown ones of note at the lower periods.
Articles
I wrote the articles Tutorials/Coding Life simulators/bitwise SWAR Life (regarding the program above), Pólya enumeration theorem (the article of which I'm most proud), Tutorials/Coding Life simulators/eightfold reducer (concerning an application of the theorem to efficient indexing methods for emulating lists of states under symmetry), Modular congruence,[n 1] One-dimensional cellular automaton/Wolfram rule and OCA:Critters.
For the sake of completeness, I also created the pages for Grid's p16, Charity's p30 and Cribbage, but they're of the wiki's more standard style of short synoptic ones about elementary patterns, someone would have very shortly if not for me getting there first, and others improved them thereafter.
With gzip_swar_INT's other mode, for sorting by volatility, I found some more entries for Highest volatility period-5 oscillators, and made equivalent pages for periods 4, 6, 7 and 8.
I also made Other jacks, regarding a family of patterns of which one member had accidentally been given the same name as the Jack.
Most of my contributions are edits, I try to note facts and increase the total amount of information, rather than only reformat it, my program has allowed for the finding of many patterns that should constitute interesting notes.
I coined the name of the Blocktopus (found on June 25, 2021, by Jim Hortons, and one of the highest-volatility period-8 oscillators and mentioned in Scrubber for its containment of an ephemeral one in some phases) as a whimsical joke, which David Raucci (HotdogPi) was so kind as to create a redirect for. I have been advised by iNoMed that due to its lack of sparkiness, it is not notable enough for a page, but I am happy nonetheless.
Userspace pages
I made a program for the more specific task of applying the theorem to determine numbers of transitions in neighbourhoods of higher ranges and dimensions as closed-form equations, and an article here about it.
If you are brave enough, my page miscellaneous curiosities is a veritable menagery of things I have found (in maths, programming and the intersection of the two), of varying degrees of interestingness, complexity and novelty. (Most things are included there for the purposes of explaining them to others, and recording them to avoid my future self forgetting (to varying proportions in each).)
Notes
- ↑ I know it seems off-topic for this wiki, but it was redlinked to in a few places by Confocal, which (I learned thereafter) was due to it being an appendix in Conway's Game of Life: Mathematics and Construction.
