Retrospective on 2025

Intro

At the beginning of 2025 I had plans.

Then 2025 happened, and I did things I had planned on doing, and failed to do things I had planned on doing, and did things I had not planned on doing.

I largely abandoned my LLM interpretability efforts. It turns out that it is somewhat hard. What a surprise! I’m sure no one could have expected this.

However I got really good at using AVX-512 and Neon to shuffle around bits. The tools I built are still useful.

Using these tools, I made good progress on my cellular automata game dev project, I made pretty patterns, and while it is temporarily set aside, I hope to resume in due time.

Then, towards the end of 2025, my heart was filled with a desire to build quadcopters and to fiber wind things. See the 2026 plans for more detail.

Let us now look over the plans from last year and score our success and failures.

A

Improve the bitslicing crate: Good progress, still some polish to do.

B

Make non-square bit matrix transposes fast: Progress, but still not in a well polished state.

C

Figure out structured containers in Rust: I feel that I well understand this now. GATs are now more stable.

D

Write a good combinatorial-logic-as-data framework and runtime: Did a number of attempts. Tested and abandoned crainlift for JIT. Now working on better LUT mapping for interpreter.

E

Build a batch processing framework which supports filtering and compaction. Set aside for now.

F

Build a cellular automata combinatorial logic framework: Largely working now, but paused while I finish D. I have good patch collection performance on patches from 3x3 up to 17x17. I can do world sizes with a horizontal dimension of multiples of 128, and arbitrary vertical dimensions, with good performance on AVX-2, AVX-512, and Neon. I skipped the matrix transposition and achieved significantly improved performance. I did some nice work on memory locality and good multi level parallelism. I am quite satisfied with this work.

G

Build a simple 2D platformer with bitsliced cellular automata graphics: I built a simple danmaku with fun physics, but am currently blocked on D because I want dynamically recompilable logic.

H

Learn Rust-GPU and Ash: Nope.

I

Port bitslicing to GPU and build good bit matrix transposition on GPU: Nope.

J

Understand the performance characteristics of non-coalesced writes of bytes or ideally bits, on GPUs: I still want to do this, but, later.

K

Build a real time hair graphics engine with basic hair physics: Nope.

L

Melt an LLM into combinational logic: I did good work, and achieved some nice results, but I was somewhat blocked by D, and ultimately, I became less confident in the benefits should I succeed. Abandoned.

M

Build a force directed graph layout tool. Nope. Perhaps later.

N

Apply M to the result of L, and hopefully understand/control how the LLM behaves. NA

O

Use bitsliced combinational-logic-as-data to evaluate the AIG from L fast on many inputs in parallel. I did some benchmarking and tentatively good results, but the project is now abandoned so NA.

P

Put the LLM inference behind a high performance API. NA.

Q

Write a (probably web based?) graphical front end which calls P and performs speculative execution/very wide beam search, guided by the user: NA, and LLM looms are now a thing. I like it when people actually steal my ideas!

R

Build some integration of interactive beam search (Q) and graph visualization tool (M) to allow the user to edit the program/machine state interactively?: NA

S

Somehow charge money for Q: NA

T

Learn the ComfyUI stable diffusion pipeline. Some work, but what little time I spent on AI art was mostly focused on midjurny and nano banana.

U

Integrate the hair physics of K into the cellular automata graphics of F, and integrate into the CA game. Not yet, but I am still exited about the project.

V

Figure out procedural music generation. Nope. Someday.

W

Publish the CA game on steam. NA

X

Make art for the qualia.moe LP/VN using diffusion. Some preliminary work with nano banana on a manga/graphic novel rendition.

Y

Build full qualia.moe: Not this year. Perhaps someday.

Z

(Personal goals) Switch from Arch to NixOS. Switch to Alacritty. Currently part way through switching to NixOS with sway, but my needs in a development environment have changed, so, lower priority.

Last updated on: Wed, Dec 31, 2025